Magic Video to Video API

magic/video-to-video
Magic Inc video-to-video model transforms and enhances existing videos using AI-driven style and motion editing.
Output
$0.65 / gen
Released
Dec 26, 2025

How to use Magic Video to Video API

Install any OpenAI-compatible SDK, point it at api.aimlapi.com/v1, and set the model to magic/video-to-video.
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.

Magic Video to Video API Pricing

TypePrice
Output
$0.65 / gen

Magic Video to Video vs other models

ModelInputOutputContextBest for
$0.65 / gen
Video generation
$0.26 / sec (variable)
Video generation
$0.13 / sec (variable)
Video generation
$1.95 / 1M tokens
$22.75 / 1M tokens
Video generation
$0.09243–$1.014 / sec (by resolution)
Cinematic video + native audio

Frequently asked questions

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.

Start building with Magic Video to Video

Get API Key
1000+ models, one API.