One portrait plus one voice clip in, a talking video out — driven by the MiniMax H3 multimodal engine. The person in the photo speaks the audio with frame-accurate lip movement, while identity, outfit, framing and background stay pixel-faithful to the source image: only the face animates, nothing drifts. 480p or 720p, at fixed lengths of 5, 10 or 15 seconds, priced per clip: 480p from $0.07 and 720p from $0.13, known before you submit.
| Resolution | 5s | 10s | 15s |
|---|---|---|---|
| 480p (default) | $0.07 | $0.11 | $0.22 |
| 720p | $0.13 | $0.22 | $0.44 |
Fixed per-clip pricing — not metered per second, and independent of the actual audio length. Charged only on success, refunded on failure. At 16:9 the 480p tier measures 864×480 and the 720p tier 1376×768 (about 1 megapixel).
Versus AI Lip-Sync (ai-lipsync, $0.02 per audio second): for very short audio (under ~3s) ai-lipsync is cheaper; for longer audio or 720p output this model wins, and the price is known before you submit.
All requests carry the API key in the header:
Authorization: Bearer YOUR_API_KEY/api/v1/video/generations·GET/api/v1/video/generations?task_id=# Talking photo: 1 portrait + 1 driving audio -> talking video
curl -X POST https://api.apimodels.app/v1/video/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3-talking-photo",
"image": "https://example.com/portrait.jpg",
"audio_url": "https://example.com/voice.mp3",
"duration": 5,
"resolution": "480p",
"ratio": "16:9"
}'
# Poll until completed (result files are kept 7 days)
curl "https://api.apimodels.app/v1/video/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
# The audio must FIT the chosen duration tier (5 / 10 / 15s) — we probe it at
# create time and return a clear 400 if it does not, before anything is billed.
# Shorter audio is fine: the person finishes speaking and idles naturally.| Field | Required | Type | Description |
|---|---|---|---|
| model | Yes | string | minimax-h3-talking-photo |
| image | Yes | string | The portrait, exactly 1 (public URL or base64). Real photos, illustrations and AI-generated faces all work. images[0] / image_urls[0] are also accepted. |
| audio_url | Yes | string | The driving audio, exactly 1 (public URL or base64, mp3 / wav). audio_urls[0] / audio_list[0] are also accepted. |
| duration | Yes | number | 5 / 10 or 15 — pick the tier that covers your audio: we probe the audio length at create time and return 400 if it does not fit. The field name seconds is also accepted. |
| resolution | No | string | 480p (default) or 720p. |
| ratio | No | string | 16:9 (default) / 9:16 / 1:1 / 4:3 / 3:4 / 3:2 / 2:3 / 21:9. aspect_ratio is also accepted. |
| prompt | No | string | Optional, guides the delivery; a neutral description is used when omitted. |
| callback_url | No | string | We POST the result to this URL on completion; omit it and poll the GET endpoint instead. |
Try it in the Playground
Fixed per-clip tiers on apimodels.app: 480p at $0.07 / $0.11 / $0.22 and 720p at $0.13 / $0.22 / $0.44 for 5 / 10 / 15 seconds. The price is independent of the audio length and known before you submit. Only successful generations are charged; failures are refunded.
POST /api/v1/video/generations with model minimax-h3-talking-photo, exactly one image (the portrait), one audio_url (the voice, mp3/wav) and duration 5, 10 or 15. Optional: resolution (480p default or 720p), ratio (16:9 default, 8 values) and a prompt. Poll GET /api/v1/video/generations?task_id=xxx or pass callback_url. One API key covers every model on apimodels.app.
Shorter is fine: the person finishes speaking and settles into a natural idle — blinking and micro-movement, no looping — while the audio track pads with silence. Longer is rejected at create time: we probe the audio duration and return a clear 400 before anything is billed, so pick the 5/10/15s tier that covers your audio.
AI Lip-Sync bills $0.02 per audio second and the output length follows the audio exactly. Talking Photo uses the MiniMax H3 engine with fixed 5/10/15s tiers and per-clip pricing, plus a 720p option and 8 aspect ratios. Very short audio (under ~3s) is cheaper on AI Lip-Sync; longer audio or 720p output favours Talking Photo.