Text · Image · Reference · Audio to video, lip-sync
Video (gen)
MiniMax H3 and Wan 2.2: shots with sound, characters that speak or sing to your audio, motion transfer, and lip-sync.
Overview
Video (gen)
Model `minimax-h3` (MiniMax H3). Each request renders one 4–15 second shot at 768P, 24 fps, with stereo audio generated together with the picture. Modes: t2v (text-to-video), i2v (first and/or last frame via first_frame_url / last_frame_url — https URL or data URL), and ref (up to 9 images via reference_image_urls). The API is async: `POST /v1/videos` returns 202 with {id, status}; poll `GET /v1/videos/{id}` (queued / running / succeeded / failed, with output.url once succeeded); fetch the mp4 from `GET /v1/videos/{id}/content`; cancel with `POST /v1/videos/{id}/cancel`. Billed per output second and refunded on failure. Try it without code in Grid Playground → Video. Also the Wan 2.2 family: `wan2.2-s2v` (keyframe + audio → the character lip-syncs and moves to it, as long as the audio), `wan2.2-i2v` (keyframe + prompt → 2–10 s at 16 fps), `wan2.2-animate` (keyframe + driving video → it performs that motion) and `latentsync-1.6` (re-syncs the mouth of a finished clip to new speech). `minimax-h3` also takes audio_url: in ref the character speaks in the `<Audio 1>` voice; in t2v / i2v it is the soundtrack from the first frame.
- Endpoint
- /v1/videos
- Example model
- minimax-h3
API
API example
# 1) submit a shot — returns 202 with {id, status}
VIDEO_ID=$(curl -s https://api.openalchemy.io/v1/videos \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"mode": "t2v",
"prompt": "A drone shot flying over Mt. Fuji at sunrise.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}' | jq -r '.id')
# 2) poll until status is "succeeded" (queued / running / succeeded / failed)
curl -s https://api.openalchemy.io/v1/videos/$VIDEO_ID \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" | jq -r '.status'
# 3) download the mp4
curl -o shot.mp4 https://api.openalchemy.io/v1/videos/$VIDEO_ID/content \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY"Status
Quota and pricing (per project)
Allotments and rate limits apply to the project that issued the API key. A second domain-scoped policy layer constrains which origins may invoke each modality.
START TODAY
Ready to turn inference cost into something closer to alchemy?
Sign up and get 2,000 free credits ($2) — no credit card required.