Skip to main content
One API, every provider

Video-to-Video API

Transform existing footage through one API — restyle, edit, extend, or upscale video with a single request shape and transparent per-second pricing.

5 video-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.

Video-to-Video models & pricing

ModelEndpointPrice
Wan VACE Video Editwan-video/wan-vace/video-edit$0.1 per second of video
Bria Video Background Removalbria/video/background-removal$0.0042 per second of video
RIFE Video Interpolationmegvii-research/rife/video≈$0.0032365 per video
MMAudio V2mmaudio/v2$0.001 per second of video
Sync Lipsync 2sync/lipsync/v2$0.05 per second of video

Full catalog on the models page; live per-configuration costs on the pricing page.

Call a video-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-vace/video-edit \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "prompt": "..." } }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

Use video-to-video models from Claude & Cursor

Connect the ModelRunner MCP server once and your AI assistant can run every video-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/mcp

Frequently asked questions

What can a video-to-video API do?

Video-to-video models take an input video URL and return a transformed one: restyling, editing by prompt, upscaling, or extending footage. Each model’s page documents its exact inputs with runnable code examples.

How do I call a video-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 an {"input": {...}} body, 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. Each model page shows copy-paste cURL, JavaScript, and Python examples with that model's real inputs.

Can I run video-to-video models from Claude or Cursor?

Yes. Connect the ModelRunner MCP server (https://mcp.modelrunner.run/mcp) once and every video-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.