Magic Image to Video API

magic/image-to-video
Magic Inc image-to-video model animates still images into smooth, coherent videos.
Output
$0.65 / gen
Released
Dec 26, 2025

How to use Magic Image to Video API

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

TypePrice
Output
$0.65 / gen

Magic Image to Video vs other models

ModelInputOutputContextBest for
$0.65 / gen
Video generation
$0.26 / 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 Image to Video takes image as input and returns video.

Magic Image to Video became available on December 26, 2025.

Magic Image to Video is priced at $0.65 / gen.

Magic Image to Video is billed per generation — a fixed charge per output rather than by prompt length.

Yes, Magic Image to Video accepts image input as well as a text prompt.

Magic Image to Video was built by Magic Inc..

Use magic/image-to-video as the model id on AI/ML API.

Yes. Magic Image to Video is served through AI/ML API, so the same key and endpoint format used for other models applies.

Use it when you already have a still image and want to animate it into video, rather than generating a scene from a text description.

According to Magic Inc., the model animates still images into smooth, coherent videos.

Start building with Magic Image to Video

Get API Key
1000+ models, one API.