ltx-2.5/image-to-video
ltx-2.5/image-to-video
LTX 2.5 Image-to-Video animates a first-frame image into high-fidelity synchronized audio-video content, with optional last-frame guidance and 720P / 1080P / 2K / 4K output for cinematic videos, social content, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Examples
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 5000 chars | The positive prompt for the generation. |
| image *Image | image_upload | — | image/* · 1–1 items | The image for the generation. |
| last_imageLast Image | image_upload | — | image/* · 0–1 items | Optional last-frame image for the generation. |
| resolutionResolution | select | 720p | 720p | 1080p | 2k | 4k | Video resolution. |
| durationDuration | slider | 5 | 5 ~ 20 · step 1 | The duration of the generated media in seconds. |
| seedSeed | number | -1 | step 1 | The random seed to use for the generation. -1 means a random seed will be used. |
Output fields
| Field | Type | Description |
|---|---|---|
| videos | array<string> | Generated videos URLs. |
API
Call this model through one unified REST API. Get a key on the API Keys page.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/ltx-2.5/image-to-video" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A cinematic slow push-in on a futuristic electric sports car parked on a rain-soaked neon city street at night, reflections shimmering on the pavement, subtle steam rising from vents, soft camera motion, realistic lighting, highly detailed, atmospheric, smooth natural motion",
"image": [
"https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/09/16/fe9c5bb479a2.jpeg"
],
"last_image": [],
"resolution": "720p",
"duration": 5,
"seed": -1
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/ltx-2.5/image-to-video",
headers=HEADERS,
json={
"input": {
"prompt": "A cinematic slow push-in on a futuristic electric sports car parked on a rain-soaked neon city street at night, reflections shimmering on the pavement, subtle steam rising from vents, soft camera motion, realistic lighting, highly detailed, atmospheric, smooth natural motion",
"image": [
"https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/09/16/fe9c5bb479a2.jpeg"
],
"last_image": [],
"resolution": "720p",
"duration": 5,
"seed": -1
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 300s server-side.
deadline = time.time() + 360
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/ltx-2.5/image-to-video", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "A cinematic slow push-in on a futuristic electric sports car parked on a rain-soaked neon city street at night, reflections shimmering on the pavement, subtle steam rising from vents, soft camera motion, realistic lighting, highly detailed, atmospheric, smooth natural motion",
"image": [
"https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/09/16/fe9c5bb479a2.jpeg"
],
"last_image": [],
"resolution": "720p",
"duration": 5,
"seed": -1
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 300s server-side.
const deadline = Date.now() + 360 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Documentation
ltx-2.5/image-to-video
Generate video with synchronized audio. Duration: integer 5–20 seconds. Resolution: 720p, 1080p, 2k or 4k. Defaults: 720p, 5 seconds, seed -1 (random). image is a required single-image URL array in Nami; last_image is an optional single-image URL array. The adapter sends scalar URLs to MaaS. The first-frame example is prefilled; the last frame is empty by default.
Pricing
| Resolution | USD / second | Credits / second |
|---|---|---|
| 720p | $0.10 | 10 |
| 1080p | $0.14 | 14 |
| 2k | $0.21 | 21 |
| 4k | $0.33 | 33 |
Default 720p × 5 s = $0.50 = 50 credits.
WaveSpeed standard list price; USD 1 = 100 credits. Any account-specific discounts are applied separately.
API
curl -X POST 'https://www.namifusion.com/api/v1/marketplace/run/ltx-2.5/image-to-video' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"input": {
"prompt": "A cinematic slow push-in on a futuristic electric sports car parked on a rain-soaked neon city street at night, reflections shimmering on the pavement, subtle steam rising from vents, soft camera motion, realistic lighting, highly detailed, atmospheric, smooth natural motion",
"image": [
"https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/09/16/fe9c5bb479a2.jpeg"
],
"resolution": "720p",
"duration": 5,
"seed": -1
}
}'
curl 'https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID' \
-H "Authorization: Bearer $API_KEY"
The submit response contains task_uuid. Poll until completed or failed. Completed output uses output.videos (URL array).
Related models
xAI Grok Imagine Video v1.5 Image to Video
Animate one input image with a text prompt into a 1-15 second video at 480p or 720p.
vidu/q3/image-to-video-spicy
Vidu Q3 Image-to-Video Spicy generates unlimited high-quality videos from images with smooth animations and diverse motion, optimized for scalable content generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Vidu Q3 Image To Video
Vidu Q3 Image-to-Video turns text prompts into high-quality videos with exceptional visual fidelity and diverse motion. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

MiniMax H3 Spicy Image to Video
Animate a first-frame image with optional prompt and last-frame guidance. Supports 480p, 540p, 768p and 1080p video, with durations from 3 to 15 seconds.
MiniMax H3 Image to Video
MiniMax H3 Image to Video animates a first-frame image into a coherent 2K video, with natural-language motion instructions and optional last-frame control for consistent motion, scene continuity, and cinematic video generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
ai/ltx-2.3-spicy/image-to-video-lora
LTX 2.3 Spicy LoRA Image to Video API turns a reference image and prompt into expressive AI videos using selectable LoRA presets, optional LoRA strength overrides, duration, and resolution controls. Run fast REST inference on MaaS with no cold starts and affordable pricing.
ai/ltx-2.3-spicy/image-to-video
LTX 2.3 Spicy Image-to-Video API generates expressive AI videos from a reference image and prompt. Choose style presets, duration, and resolution with fast REST inference, no cold starts, and affordable pricing on MaaS.
Kling Omni Video O3 Image-To-Video
Kling Omni Video O3 Image-to-Video transforms static images into dynamic cinematic videos using MVL (Multi-modal Visual Language) technology. Maintains subject consistency while adding natural motion, physics simulation, and seamless scene dynamics. Supports audio generation. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.