What is Magic Video to Video API?
Magic Inc video-to-video model transforms and enhances existing videos using AI-driven style and motion editing.
Technical Specifications
- Supported inputs: Video
- Output: Video
Performance Benchmarks
[embed]
Magic Video to Video API Pricing
- Pricing on request
Where to Use Magic Video to Video
Short-form video generation
Create clips for social, ads, and product demos from text or image prompts.
Previsualization and storyboards
Rapidly prototype motion concepts before committing to production.
The model is documented for transforming an existing video by applying a new visual style while preserving the original motion and structure. It is also suited to style transfer, including artistic restyling of real footage. Another documented use case is brand consistency, where the same visual treatment is applied across multiple videos. It can also be used for post-production tasks such as visual effects and color grading.
import requests, time headers = {"Authorization": "Bearer " + AIMLAPI_KEY} job = requests.post( "https://api.aimlapi.com/v2/video/generations", headers=headers, json={ "model": "magic/video-to-video", "prompt": "A serene timelapse of clouds over a mountain range" }, ).json() gid = job["id"] while True: res = requests.get(f"https://api.aimlapi.com/v2/video/generations?generation_id={gid}", headers=headers).json() if res.get("status") in ("completed", "error"): break time.sleep(5) print(res["video"]["url"])
const headers = { Authorization: `Bearer ${process.env.AIMLAPI_KEY}`, "Content-Type": "application/json", }; const job = await (await fetch("https://api.aimlapi.com/v2/video/generations", { method: "POST", headers, body: JSON.stringify({ "model": "magic/video-to-video", "prompt": "A serene timelapse of clouds over a mountain range" }), })).json(); let res; do { await new Promise((r) => setTimeout(r, 5000)); res = await (await fetch(`https://api.aimlapi.com/v2/video/generations?generation_id=${job.id}`, { headers })).json(); } while (!["completed", "error"].includes(res.status)); console.log(res.video.url);
# submit the generation — the response contains the job "id" curl -X POST https://api.aimlapi.com/v2/video/generations \ -H "Authorization: Bearer $AIMLAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"magic/video-to-video","prompt":"A serene timelapse of clouds over a mountain range"}' # then poll until status is "completed" — video.url holds the result curl "https://api.aimlapi.com/v2/video/generations?generation_id={id}" -H "Authorization: Bearer $AIMLAPI_KEY"
OpenAI-compatible — swap the base URL and it works with your existing SDK.
| Type | Price |
|---|---|
| Output | |
| Model | Input | Output | Context | Best for |
|---|---|---|---|---|
Magic Video to Video This page | Video generation |
Magic Video to Video takes video as input and returns video.
Magic Video to Video became available on December 26, 2025.
Magic Video to Video is priced at $0.65 / gen.
Magic Video to Video is billed per generation — a fixed charge per output rather than by prompt length.
Magic Video to Video was built by Magic Inc..
Use magic/video-to-video as the model id on AI/ML API.
Yes. Magic Video to Video is served through AI/ML API, so the same key and endpoint format used for other models applies.
No. Magic Video to Video takes an existing video as input and outputs a transformed video, unlike text-to-video models that generate video from text prompts.
It transforms and enhances existing videos using AI-driven style and motion editing.