What is Magic Image to Video API?
Magic Inc image-to-video model animates still images into smooth, coherent videos.
Technical Specifications
- Supported inputs: Image
- Output: Video
Performance Benchmarks
[embed]
Magic Image to Video API Pricing
- Pricing on request
Where to Use Magic Image 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 as suitable for embedding a custom image into a selected video template, with sound included. It is also documented for creating short-form product videos ready for product pages and social ads. Another documented use case is turning static product photos into dynamic marketing content for landing pages, feature teasers, or looping background videos. It is additionally described as useful for short-form social clips, including animated carousel images and creator-style content.
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.
| Type | Price |
|---|---|
| Output | |
| Model | Input | Output | Context | Best for |
|---|---|---|---|---|
Magic Image to Video This page | Video generation |
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.