OpenAlchemyOpenAlchemy
← All modalities

Text · Image · Reference · Audio to video, lip-sync

Video (gen)

Beta

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.

Read the docs for this 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.