Muapi's character consistency models keep a specific subject or character recognizable across new generated images or videos, driven by a pack of reference images (and, on some models, reference video and audio) instead of a plain text description. This page covers how reference packs work, what each model actually accepts, and how to avoid async failures — not which model to pick for raw output quality.
Image reference models (MiniMax Subject Reference, Ideogram Character, Seedance 2 Character, Gemini Omni Character) take one or a few reference photos of a subject and generate a new still image that keeps that subject recognizable in a different pose, outfit, or setting. Reference-to-video models (Seedance 2.5 Omni Reference, Wan 3.0, Veo 3.1, Kling O1, Vidu Q2, MiniMax H3) do the same thing but output a video — the character stays consistent across every frame of motion, not just one static composition.
Muapi exposes 40+ character/reference models across image and video through the same unified REST pattern: one API key, one request/poll flow, pay-per-generation pricing with no subscription.
How many reference images a model accepts varies a lot, and it's a real constraint, not a UI preference — submitting more images than a model's images_list limit allows will fail the request. Verified against each model's live input schema:
| Model | Max Reference Images | Other Reference Types |
|---|---|---|
| MiniMax Subject Reference | 1 | — |
| Seedance 2 Character | 1–3 | — |
| Veo 3.1 Reference-to-Video | 3 | — |
| Vidu Q2 Reference | 7 | — |
| Kling O1 Reference-to-Video | 7 | Existing video_url to extend |
| Wan 3.0 Reference-to-Video | 10 | Video + audio references |
| MiniMax H3 Reference-to-Video | Multiple | Separate video + audio reference fields |
| Seedance 2.5 Omni Reference | 30 | Video + audio references |
The most capable reference models don't stop at images. Seedance 2.5 Omni Reference and Wan 3.0 Reference-to-Video both accept a videos_list and an audios_list alongside the image references, letting the model carry over motion style or voice, not just visual appearance. MiniMax H3 Reference-to-Video exposes this as three explicit fields — reference_images, reference_videos, reference_audios — so you can mix visual identity from a photo with a voice sample and a motion clip in one request. Gemini Omni Character takes this further into image editing entirely: it builds a character asset from images plus an audio_ids reference for voice, ahead of any generation step.
Cheapest option — a single reference image keeps a subject's identity while generating a new prompt-driven scene.
Single-image character consistency with additional style and render-speed controls.
Builds a named character sheet from 1–3 reference photos — reuse the character_name across later generations.
Creates a full character asset — visual references plus audio_ids for voice — not just a still image.
Cheapest reference-to-video option, with a movement_amplitude control for how much motion happens around the subject.
Accepts image, video, and audio references together for full visual-and-motion coherence guidance.
Reference-driven video generation with a native generate_audio option.
Can combine a reference image pack with an existing video_url to continue or extend a scene.
Separate reference_images, reference_videos, and reference_audios fields — the most explicit multi-modal reference input in the lineup.
The largest reference pack in the lineup — up to 30 images plus video and audio references, with a task-type hint to catch constraint mismatches before submission.
Seedance 2.5 Omni Reference exposes an omni_reference_task_type field (auto/reference/edit/extend) specifically so that ratio/duration constraint mismatches get caught at submission time instead of failing asynchronously after you've already waited on the job. edit and extend both require aspect_ratio: "adaptive", and edit additionally requires duration: -1 — leaving these as their defaults on the wrong task type is a common cause of a late, avoidable failure. Note the model still re-derives the actual task type from the prompt during processing, so a mismatch can still surface as an async error even with the hint set correctly — treat the field as a submission-time sanity check, not a guarantee.
POST /api/v1/upload_file, or use any publicly reachable URLs.POST /api/v1/{model-slug} with images_list (or image_url for single-reference models) and a prompt describing the new scene.GET /api/v1/predictions/{request_id}/result until status is completed, then download the result.curl -X POST https://api.muapi.ai/api/v1/seedance-2.5-omni-reference \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"images_list": [
"https://example.com/character-front.jpg",
"https://example.com/character-side.jpg"
],
"prompt": "the character walking through a neon-lit city street at night",
"omni_reference_task_type": "reference",
"duration": 5,
"aspect_ratio": "16:9"
}'import requests
response = requests.post(
"https://api.muapi.ai/api/v1/seedance-2.5-omni-reference",
headers={"x-api-key": "YOUR_API_KEY"},
json={
"images_list": [
"https://example.com/character-front.jpg",
"https://example.com/character-side.jpg",
],
"prompt": "the character walking through a neon-lit city street at night",
"omni_reference_task_type": "reference",
"duration": 5,
"aspect_ratio": "16:9",
},
)
request_id = response.json()["request_id"]
result = requests.get(
f"https://api.muapi.ai/api/v1/predictions/{request_id}/result",
headers={"x-api-key": "YOUR_API_KEY"},
)
print(result.json())It depends on the model: 1 for MiniMax Subject Reference, 1–3 for Seedance 2 Character, 3 for Veo 3.1, 7 for Vidu Q2 and Kling O1, 10 for Wan 3.0, and up to 30 for Seedance 2.5 Omni Reference. Submitting more than a model's limit will fail the request.
Yes, on the more capable models — Seedance 2.5 Omni Reference and Wan 3.0 Reference-to-Video accept video and audio references alongside images, and MiniMax H3 Reference-to-Video exposes separate reference_images, reference_videos, and reference_audios fields.
Image reference models (MiniMax Subject Reference, Ideogram Character) output a single new image keeping the subject consistent. Reference-to-video models (Seedance 2.5 Omni Reference, Veo 3.1, Kling O1, Vidu Q2, Wan 3.0, MiniMax H3) output a full video with the character consistent across every frame.
Set omni_reference_task_type explicitly (reference/edit/extend) and match its ratio/duration requirements — edit and extend both require aspect_ratio: "adaptive", and edit additionally requires duration: -1. The model still re-derives the task type from the prompt, so this catches most but not all mismatches at submission time.
From free (Gemini Omni Character) and $0.01/generation (MiniMax Subject Reference) up to $1.70/generation for Seedance 2.5 Omni Reference at 720p — see the pack-size table above for the full comparison.
Yes. Sign up at muapi.ai, create an API key from your dashboard, and start calling any character/reference model immediately — no waitlist required.