Image-to-Video API
Animate still images into video through one API — start from a reference frame, control motion with a prompt, and pay per second of output across every image-to-video model in the catalog.
27 image-to-video models available right now — every one runnable in a free playground, through the REST API and JavaScript SDK, or from an AI assistant via MCP.
Image-to-Video models & pricing
| Model | Endpoint | Price |
|---|---|---|
| Wan 3.0 Image to Video | wan-video/wan/v3.0/image-to-video | $0.2 per second of video |
| Happy Horse 1.1 Reference to Video | alibaba/happy-horse/v1.1/reference-to-video | $0.18 per second of video |
| Happy Horse 1.1 Image to Video | alibaba/happy-horse/v1.1/image-to-video | $0.18 per second of video |
| Wan 2.7 Image to Video (Audio Driven) | wan-video/wan/v2.7/image-to-video/audio-driven | $0.15 per second of video |
| Wan 2.7 Image to Video | wan-video/wan/v2.7/image-to-video | $0.15 per second of video |
| Seedance 2.5 Reference to Video | bytedance/seedance-v2.5/reference-to-video | $0.347 per second of video |
| Seedance 2.5 First & Last Frame | bytedance/seedance-v2.5/first-last-frame | $0.347 per second of video |
| Seedance 2.5 Image to Video | bytedance/seedance-v2.5/image-to-video | $0.347 per second of video |
| Seedance 2.0 Mini Image to Video | bytedance/seedance-v2-mini/image-to-video | $0.113 per second of video |
| Seedance 2.0 Fast Image to Video | bytedance/seedance-v2-fast/image-to-video | $0.181 per second of video |
| Seedance 2.0 Reference to Video | bytedance/seedance-v2/reference-to-video | $0.227 per second of video |
| Seedance 2.0 First and Last Frame | bytedance/seedance-v2/first-last-frame | $0.227 per second of video |
| Seedance 2.0 Image to Video | bytedance/seedance-v2/image-to-video | $0.227 per second of video |
| Seedance 1.0 Pro Fast | bytedance/seedance-v1-pro-fast | $0.03 per second of video |
| Kling 2.1 Master Image-to-Video | kuaishou/kling-video/v2.1-master/image-to-video | $0.28 per second of video |
| Kling 2.6 Pro Image-to-Video | kuaishou/kling-video/v2.6/image-to-video | $0.14 per second of video |
| MiniMax Hailuo-02 Standard Image-to-Video | minimax/hailuo-02/standard/image-to-video | $0.045 per second of video |
| Kling 2.5 Turbo Pro Image-to-Video | kuaishou/kling-video/v2.5-turbo/image-to-video | $0.07 per second of video |
| OmniHuman 1.5 | bytedance/omnihuman/v1.5 | $0.16 per second of video |
| Grok Imagine 1.5 Image to Video | xai/grok-imagine-1.5/image-to-video | $0.14 per second of video |
| Seedance V1.5 Image to Video | bytedance/seedance-v1.5/image-to-video | $0.062208 per second of video |
| Veo 3.1 Extend Video | google/veo-3.1/extend-video | $0.4 per second of video |
| Veo 3.1 Reference to Video | google/veo-3.1/reference-to-video | $0.4 per second of video |
| Veo 3.1 First/Last Frame to Video | google/veo-3.1/first-last-frame-to-video | $0.4 per second of video |
| Veo 3.1 Image to Video | google/veo-3.1/image-to-video | $0.4 per second of video |
| LongCat-Video i2v | meituan-longcat/longcat-video-i2v-480p | $0.02 per second of video |
| Seedance 1.0 Pro | bytedance/seedance-v1-pro | $0.15 per second of video |
Full catalog on the models page; live per-configuration costs on the pricing page.
Call a image-to-video model in one request
Every model shares the same request lifecycle: submit to the queue, poll the status URL, fetch the result. Swap the endpoint to switch models — nothing else changes.
cURL
curl -X POST https://queue.modelrunner.run/wan-video/wan/v3.0/image-to-video \
-H "Authorization: Key $MRUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "prompt": "..." }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }Use image-to-video models from Claude & Cursor
Connect the ModelRunner MCP server once and your AI assistant can run every image-to-video model in this table as a tool — authorized via OAuth, results returned as hosted URLs in the conversation.
Claude Code
claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcpFrequently asked questions
How does an image-to-video API work?
You submit an image URL (upload local files via the Storage API first) plus an optional motion prompt; the model returns a hosted video URL. Requests run asynchronously through a queue — submit, poll status, fetch the result — or in one call with the JavaScript SDK’s subscribe().
How do I call a image-to-video model via the API?
Every model shares the same request shape: POST https://queue.modelrunner.run/<owner>/<alias> with an Authorization: Key header and the input fields as the top-level JSON body (no wrapper object), then poll the returned status_url and fetch the result from response_url. The JavaScript SDK (@modelrunner/client) wraps this in a single subscribe() call, which is the one place an { input } object is used. Each model page shows copy-paste cURL, JavaScript, and Python examples with that model's real inputs.
Can I run image-to-video models from Claude or Cursor?
Yes. Connect the ModelRunner MCP server (https://mcp.modelrunner.run/mcp) once and every image-to-video model in the catalog becomes a tool your AI assistant can call with the run_model tool — authorized via OAuth, no API key pasted into config.
