{"models":[{"recent":{"window_days":30,"runs":70,"fail_rate":0.13,"auto_score":0.7,"scored":61,"user_score":5,"rated":1,"p50_seconds":451},"id":"seedance-2.0","kind":"video","tier":"standard","status":"live","provider":"evolink","modes":["text-to-video","image-to-video","reference-to-video"],"features":["native-audio","lip-sync","first-frame","first-and-last-frame","image-references","video-references","audio-references"],"limits":{},"video":{"modes":[{"mode":"text","how":"prompt only","inputs":{"prompt":"required"},"seconds":{"min":4,"max":15},"seconds_options":null,"aspects":["9:16","16:9","1:1","4:3","3:4","21:9","adaptive"],"aspect_default":"9:16","qualities":["480p","720p","1080p"],"credits_per_second":{"480p":30,"720p":60,"1080p":150},"seed":false,"prompt_syntax":null,"notes":["No seed. Every render is new; keep a series consistent with references, not seeds."],"verified":{"date":"2026-09-06","runId":"task-unified-1788681109-ghg38bm9","note":"4s, 16:9, 480p, native audio; rendered in 231 s"}},{"mode":"image","how":"pass first_frame (and optionally last_frame)","inputs":{"first_frame":"required (https image)","last_frame":"optional (https image)"},"seconds":{"min":4,"max":15},"seconds_options":null,"aspects":["9:16","16:9","1:1","4:3","3:4","21:9","adaptive"],"aspect_default":"adaptive","qualities":["480p","720p","1080p"],"credits_per_second":{"480p":30,"720p":60,"1080p":150},"seed":false,"prompt_syntax":null,"notes":["first_frame becomes frame one of the clip; last_frame (optional) becomes the final frame and the model animates between them.","Frames only: refs, video_refs and audio_refs are not accepted in this mode. To keep an identity AND set the frame, put the frame image in refs and describe it as @image1.","aspect \"adaptive\" (default) follows the first frame. Frame images: jpeg/png/webp, ratio between 0.4 and 2.5, 300 to 6000 px, up to 30 MB."],"verified":{"date":"2026-09-06","runId":"task-unified-1788681109-qybq2r1j","note":"first_frame only (4s, 480p, adaptive) and first_frame + last_frame (task-unified-1788681109-w09254uu); both rendered in about 3 to 5 min"}},{"mode":"reference","how":"pass refs, video_refs and/or audio_refs","inputs":{"refs":"up to 9 https images","video_refs":"up to 3 https clips, 15 s in total; their seconds are billed like output seconds","audio_refs":"up to 3 https audio files, 15 s in total; needs an image or video reference beside it"},"seconds":{"min":4,"max":15},"seconds_options":null,"aspects":["9:16","16:9","1:1","4:3","3:4","21:9","adaptive"],"aspect_default":"9:16","qualities":["480p","720p","1080p"],"credits_per_second":{"480p":30,"720p":60,"1080p":150},"seed":false,"prompt_syntax":"@image1 @video1 @audio1 (numbered per list, from 1)","notes":["Address references in the prompt: \"@image1 holds @image2 and says ...\". Numbering is per list: refs are @image1.., video_refs are @video1.., audio_refs are @audio1...","Reference clips: 2 to 15 s each, 15 s in total, mp4/mov 480p to 1080p, 24 to 60 fps, up to 50 MB. Their seconds are billed like output seconds.","Audio references: wav/mp3, 2 to 15 s each, 15 s in total, up to 15 MB. Audio alone is not accepted: add an image or video reference.","aspect \"adaptive\" follows the first video reference, else the first image, else the prompt."],"verified":{"date":"2026-09-06","runId":"task-unified-1788681109-a6w7aq0y","note":"image ref (4s, 480p) and image ref + 8 s reference clip (task-unified-1788681110-hdbufncn); earlier 5s 720p portrait run b0011e92 via Claude Code"}}],"credits_per_second":{"480p":30,"720p":60,"1080p":150},"audio_credits_per_second":null,"default_quality":"720p","timeout_minutes":30},"credits":{"unit":"second","perUnit":60},"price_default":"60 credits per second at 720p","quality":"good","speed":"medium","best_for":["faster paid drafts","bulk daily posts","legacy 720p workflows","talking-head UGC","animating a still (first frame) into a clip"],"avoid_for":["clips over 15s","hero shots where 2.5 detail is the default expectation","anything that needs a seed"],"usage":{"pick_when":"you explicitly want the older faster standard engine, or you are making volume drafts where the shorter wait matters more than 2.5 detail","prompt_tips":["Write the shot as a director: who (age, look), where (setting, light), what happens, phone framing, and the exact spoken words in quotes. About 2.3 words per second.","Keep a person consistent across clips with refs (a portrait or a character sheet), addressed as @image1; the model has no seed.","To animate a specific still, pass it as first_frame; add last_frame to control where the motion ends."],"latency":"about 3 minutes for a 5 s clip at 720p"},"docs_url":"https://github.com/agent-media-ai/agent-media/blob/main/reference/models/seedance-2.0.md","verified":[{"mode":"text","date":"2026-09-06","runId":"task-unified-1788681109-ghg38bm9","note":"4s, 16:9, 480p, native audio; rendered in 231 s"},{"mode":"image","date":"2026-09-06","runId":"task-unified-1788681109-qybq2r1j","note":"first_frame only (4s, 480p, adaptive) and first_frame + last_frame (task-unified-1788681109-w09254uu); both rendered in about 3 to 5 min"},{"mode":"reference","date":"2026-09-06","runId":"task-unified-1788681109-a6w7aq0y","note":"image ref (4s, 480p) and image ref + 8 s reference clip (task-unified-1788681110-hdbufncn); earlier 5s 720p portrait run b0011e92 via Claude Code"}],"select_with":{"field":"model","value":"seedance-2.0","on":["generate_video (MCP)","POST /v2/generate/video","as `engine` on: agent-media selfie --engine","agent-media crazy-look --engine","POST /v2/selfie","POST /v2/crazy-look"],"not_on":["make_ugc (paid runs use the Seedance 2.0 family; the free first ad uses seedance-2.5)"]}},{"recent":{"window_days":30,"runs":268,"fail_rate":0.06,"auto_score":0.66,"scored":243,"user_score":null,"rated":0,"p50_seconds":599},"id":"seedance-2.5","kind":"video","tier":"premium","status":"live","provider":"evolink","modes":["text-to-video","image-to-video","reference-to-video"],"features":["native-audio","lip-sync","first-frame","first-and-last-frame","image-references","video-references","audio-references"],"limits":{},"video":{"modes":[{"mode":"text","how":"prompt only","inputs":{"prompt":"required"},"seconds":{"min":4,"max":30},"seconds_options":null,"aspects":["9:16","16:9","1:1","4:3","3:4","21:9","adaptive"],"aspect_default":"9:16","qualities":["480p","720p","1080p"],"credits_per_second":{"480p":60,"720p":125,"1080p":225},"seed":false,"prompt_syntax":null,"notes":["No seed."],"verified":{"date":"2026-09-05","runId":"431f82ba-9e9e-4644-beb3-b1f67c0de91e","note":"generate_video, text only, 4s, 720p, 396 credits; the provider took about 25 min"}},{"mode":"image","how":"pass first_frame (and optionally last_frame)","inputs":{"first_frame":"required (https image)","last_frame":"optional (https image)"},"seconds":{"min":4,"max":30},"seconds_options":null,"aspects":["adaptive"],"aspect_default":"adaptive","qualities":["480p","720p","1080p"],"credits_per_second":{"480p":60,"720p":125,"1080p":225},"seed":false,"prompt_syntax":null,"notes":["first_frame becomes frame one; last_frame (optional) becomes the final frame.","aspect must be \"adaptive\" on this model in image mode: the clip takes the frame's ratio. Any other aspect is refused.","Frames only: refs, video_refs and audio_refs are not accepted in this mode."],"verified":{"date":"2026-09-06","runId":"task-unified-1788681109-pzf704jd","note":"first_frame, 4s, 480p, adaptive; rendered in 262 s"}},{"mode":"reference","how":"pass refs, video_refs and/or audio_refs","inputs":{"refs":"up to 30 https images","video_refs":"up to 10 https clips, 30 s in total; their seconds are billed like output seconds","audio_refs":"up to 10 https audio files, 30 s in total"},"seconds":{"min":4,"max":30},"seconds_options":null,"aspects":["9:16","16:9","1:1","4:3","3:4","21:9","adaptive"],"aspect_default":"9:16","qualities":["480p","720p","1080p"],"credits_per_second":{"480p":60,"720p":125,"1080p":225},"seed":false,"prompt_syntax":"@image1 @video1 @audio1 (numbered per list, from 1)","notes":["Address references as @image1.., @video1.., @audio1.. (numbered per list).","Reference clips: 2 to 30 s each, 30 s in total, up to the provider high-resolution cap, up to 200 MB; their seconds are billed like output seconds. Audio references may stand alone here.","Never write edit or extend intent (\"edit the video\", \"add\", \"remove\", \"replace\", \"extend\", \"continue\") into a reference prompt: the provider reclassifies the task and fails it minutes later. Describe the NEW clip you want."],"verified":{"date":"2026-09-06","note":"generate_video with a product image ref via Claude Code, 8s, 720p (perfume UGC run)"}}],"credits_per_second":{"480p":60,"720p":125,"1080p":225},"audio_credits_per_second":null,"default_quality":"480p","timeout_minutes":90},"credits":{"unit":"second","perUnit":125},"price_default":"60 credits per second at 480p","quality":"premium","speed":"slow","best_for":["paid video default","hero product ads","close-up faces","one clip that has to be the best"],"avoid_for":["jobs where the user explicitly wants the older faster 2.0 engine","anyone who cannot wait 15 to 30 minutes"],"usage":{"pick_when":"you are making paid video and the user did not explicitly ask for the older faster 2.0 engine; default 480p keeps the draft tier focused","prompt_tips":["Same director-style prompt and @image1 references as seedance-2.0.","In image mode leave aspect out (it is adaptive); the frame decides the ratio.","Do not put edit or extend wording in a reference prompt."],"latency":"12 to 25 minutes per clip; plan the wait"},"docs_url":"https://github.com/agent-media-ai/agent-media/blob/main/reference/models/seedance-2.5.md","verified":[{"mode":"text","date":"2026-09-05","runId":"431f82ba-9e9e-4644-beb3-b1f67c0de91e","note":"generate_video, text only, 4s, 720p, 396 credits; the provider took about 25 min"},{"mode":"image","date":"2026-09-06","runId":"task-unified-1788681109-pzf704jd","note":"first_frame, 4s, 480p, adaptive; rendered in 262 s"},{"mode":"reference","date":"2026-09-06","note":"generate_video with a product image ref via Claude Code, 8s, 720p (perfume UGC run)"}],"select_with":{"field":"model","value":"seedance-2.5","on":["generate_video (MCP)","POST /v2/generate/video","as `engine` on: agent-media selfie --engine","agent-media crazy-look --engine","POST /v2/selfie","POST /v2/crazy-look"],"not_on":["make_ugc (paid runs use the Seedance 2.0 family; the free first ad uses seedance-2.5)"]}},{"recent":{"window_days":30,"runs":644,"fail_rate":0.24,"auto_score":0.67,"scored":492,"user_score":null,"rated":0,"p50_seconds":79},"id":"gpt-image-2.5","kind":"image","tier":"premium","status":"live","provider":"openai","modes":["text-to-image","image-edit"],"features":["portrait","character-sheet","wireframe","identity-hold","multi-reference","prompt-adherence"],"limits":{"resolutions":["1024x1024","1024x1536","1536x1024"],"refsMax":4},"video":null,"credits":{"unit":"image","perUnit":20},"price_default":"20 credits per image","quality":"premium","speed":"fast","best_for":["portraits and character sheets that a video has to keep","the first frame of a clip","product in hand","edits that must not lose the face"],"avoid_for":["bulk throwaway drafts where gpt-image-2.5-flare is faster"],"usage":{"pick_when":"you are making the image a video will be built on: a portrait, a character sheet, a first frame, or an edit that has to keep the same person","prompt_tips":["Concrete subject, age, framing, light, what the hands do; it follows layout instructions like \"four poses on a plain background\" or \"headroom for a caption\".","With refs it edits or composes from them and holds the identity across poses, which is what makes a character sheet usable as a video reference.","Pass the result straight to generate_video as first_frame (to animate it) or in refs (to keep that person across clips)."],"latency":"about 30 seconds, a little longer for an edit with references"},"docs_url":"https://github.com/agent-media-ai/agent-media/blob/main/reference/models/gpt-image-2.5.md","verified":null,"select_with":{"field":"model","value":"gpt-image-2.5","on":["generate_image (MCP)","POST /v2/generate/image"],"not_on":[]}},{"recent":{"window_days":30,"runs":3,"fail_rate":0,"auto_score":0.87,"scored":3,"user_score":null,"rated":0,"p50_seconds":22},"id":"gpt-image-2.5-flare","kind":"image","tier":"standard","status":"live","provider":"openai","modes":["text-to-image","image-edit"],"features":["portrait","character-sheet","wireframe","fast"],"limits":{"resolutions":["1024x1024","1024x1536","1536x1024"],"refsMax":4},"video":null,"credits":{"unit":"image","perUnit":20},"price_default":"20 credits per image","quality":"good","speed":"fast","best_for":["variants and drafts at the same quality tier","batches of frames","anything where a few seconds matter"],"avoid_for":["the one sheet a whole series depends on, where gpt-image-2.5 edits hold identity a little better"],"usage":{"pick_when":"you want the same look as gpt-image-2.5 but faster, or you are making several images at once","prompt_tips":["Same prompts as gpt-image-2.5; it is the speed tier of the same family."],"latency":"about 15 to 30 seconds"},"docs_url":"https://github.com/agent-media-ai/agent-media/blob/main/reference/models/gpt-image-2.5-flare.md","verified":null,"select_with":{"field":"model","value":"gpt-image-2.5-flare","on":["generate_image (MCP)","POST /v2/generate/image"],"not_on":[]}},{"recent":{"window_days":30,"runs":5,"fail_rate":0,"auto_score":0.79,"scored":5,"user_score":null,"rated":0,"p50_seconds":77},"id":"gpt-image-2","kind":"image","tier":"standard","status":"live","provider":"openai","modes":["text-to-image","image-edit"],"features":["portrait","character-sheet","wireframe","prompt-adherence"],"limits":{"resolutions":["1024x1024","1024x1536","1536x1024"],"refsMax":4},"video":null,"credits":{"unit":"image","perUnit":20},"price_default":"20 credits per image","quality":"good","speed":"fast","best_for":["the previous generation, kept selectable for runs that were built on it"],"avoid_for":["new work: gpt-image-2.5 is the default and holds identity better"],"usage":{"pick_when":"you are reproducing something that was made on gpt-image-2; otherwise take the default","prompt_tips":["Concrete subject, age, framing, light, what the hands do; it follows layout instructions like \"headroom for a caption\".","With refs it EDITS or composes from them (a product into a hand, a portrait re-lit); without refs it paints from the prompt alone."],"latency":"under a minute"},"docs_url":"https://github.com/agent-media-ai/agent-media/blob/main/reference/models/gpt-image-2.md","verified":{"date":"2026-09-05","note":"every video pipeline stage A-C; portrait + sheet produced on run 2749ee84; standalone via generate_image"},"select_with":{"field":"model","value":"gpt-image-2","on":["generate_image (MCP)","POST /v2/generate/image"],"not_on":[]}},{"recent":{"window_days":30,"runs":221,"fail_rate":0.15,"auto_score":0.61,"scored":187,"user_score":null,"rated":0,"p50_seconds":68},"id":"nano-banana-pro","kind":"image","tier":"premium","status":"live","provider":"evolink","modes":["text-to-image","image-edit"],"features":["editing","reference","prompt-adherence","text-rendering","world-knowledge"],"limits":{"resolutions":["1K","2K"],"refsMax":4},"video":null,"credits":{"unit":"image","perUnit":26},"price_default":"26 credits per image","quality":"premium","speed":"medium","best_for":["image edits with complex instructions","text-heavy product graphics","composites that need reasoning over references"],"avoid_for":["cheap drafts","jobs where GPT Image identity continuity is already enough"],"usage":{"pick_when":"you need Gemini/Nano Banana Pro image reasoning, text rendering or reference editing from generate_image","prompt_tips":["Be explicit about text, layout and relationships between referenced objects.","With refs it edits or composes from them; pass only the images that must influence the final composition."],"latency":"about 30 to 90 seconds"},"docs_url":"https://github.com/agent-media-ai/agent-media/blob/main/reference/models/nano-banana-pro.md","verified":{"date":"2026-10-15","runId":"task-unified-1792050751-rm3sjsn6","note":"EvoLink gemini-3-pro-image-preview, 1K 9:16 text-to-image, 22 s; legible printed text"},"select_with":{"field":"model","value":"nano-banana-pro","on":["generate_image (MCP)","POST /v2/generate/image"],"not_on":[]}},{"recent":{"window_days":30,"runs":11,"fail_rate":0,"auto_score":null,"scored":0,"user_score":null,"rated":0,"p50_seconds":3},"id":"elevenlabs-tts","kind":"audio","tier":"standard","status":"live","provider":"elevenlabs","modes":["text-to-speech"],"features":["voice-clone","multilingual","dubbing"],"limits":{},"video":null,"credits":{"unit":"character","perUnit":0.016},"price_default":"0.016 credits per character","quality":"good","speed":"fast","best_for":["voiceover on b-roll","narration","a standalone voice file","an audio reference for generate_video"],"avoid_for":["lip-synced talking head: generate_video renders speech natively"],"usage":{"pick_when":"you need a clean voice track and no face","prompt_tips":["Emotion tags like [excited] or [whispers] are honoured; keep sentences short for pacing.","Seven named voices (sarah default) or a raw ElevenLabs voice id."],"latency":"seconds"},"docs_url":"https://github.com/agent-media-ai/agent-media/blob/main/reference/models/elevenlabs-tts.md","verified":{"date":"2026-09-05","note":"wired in media-worker-v2 (tts.js, dubbing.js); standalone via generate_audio"},"select_with":{"field":"model","value":"elevenlabs-tts","on":["generate_audio (MCP)","POST /v2/generate/audio"],"not_on":[]}}],"count":7,"default_video_model":"seedance-2.5","defaults":{"image":"gpt-image-2.5","video":"seedance-2.5","audio":"elevenlabs-tts"},"auto_policy":"model:\"auto\" starts from the kind's default (image: gpt-image-2.5, video: seedance-2.5, audio: elevenlabs-tts); switches only when the default failed >25% of >=10 runs and another live model is healthy, or when a live model within 1.5x the default's price beats its auto score by >=0.1 over >=10 judged runs. Scores come from an auto-judge that grades every loose-surface job (3 frames or the image against the realism rubric, prompt adherence, identity match) plus rate_run.","note":"Credits: 1 credit = $0.01. Video models bill per second of output. Candidates have no price and cannot be selected. `recent` is the last 30 days of loose-surface jobs; null until a model has run."}