Einführung
LTX 2.5 Bild-zu-Video animiert ein von Ihnen geliefertes Startbild für 5 bis 20 ganze Sekunden in 720p, 1080p, 2K oder 4K. Pflicht sind image_url und prompt; last_image_url fügt ein optionales Schlussbild hinzu, und duration_seconds, resolution und seed verhalten sich wie bei Text-zu-Video. Ein Feld aspect_ratio gibt es nicht: Das Startbild legt Motiv und Komposition fest und bestimmt das Ausgabeformat. Clips kommen mit einer erzeugten Tonspur zurück, Tasks laufen asynchron. Laden Sie nur Bilder hoch, deren Nutzung Ihnen erlaubt ist; für die Verwendung der Ausgabe sind Sie verantwortlich.
Modus nach dem Ausgangsmaterial wählen
| Ausgangsmaterial | Modus |
|---|---|
| Aus einem schriftlichen Briefing entstehen Szene, Handlung, Kamerabewegung und gegebenenfalls Ton. | LTX 2.5 Text-zu-Video |
| Ein freigegebenes Startbild bestimmt Motiv und Komposition; die Beschreibung steuert die anschließende Bewegung. | LTX 2.5 Bild-zu-Video |
Wichtige Funktionen und Highlights
Das Startbild wird eng befolgt
Identität, Garderobe, Set und Licht stammen aus image_url, und dieses Bild wird eng befolgt. Es ist damit der verlässliche Weg zu einem wörtlichen Ergebnis: Ein unzensiertes Startbild kommt wörtlich statt abgeschwächt zurück. Weil das Bild den Look bereits trägt, muss der Prompt nur beschreiben, was sich danach verändert.
Ein optionales Bild für den Endpunkt der Einstellung
last_image_url legt die Schlusskomposition fest und ist nur zusammen mit image_url gültig. Es begrenzt das Ende, nicht den Weg dorthin: Die Bewegung zwischen den beiden Bildern wird weiterhin erzeugt, und über einen langen Clip kann die Mitte weit abschweifen. Zwei Bilder, die sich in Licht oder Garderobe widersprechen, führen zu einem sichtbaren Aushandeln zwischen ihnen – bereiten Sie sie deshalb als zusammenhängendes Paar vor.
Dieselbe Länge, Auflösung und derselbe Ton wie beim Text-Endpunkt
duration_seconds reicht von 5 bis 20 ganzen Sekunden, und längere Clips entfernen sich weiter von einem gelieferten Schlussbild. resolution bietet 720p (Standard), 1080p, 2k (etwa 2560 px breit) und 4k. Die Ausgabe enthält eine erzeugte Tonspur ohne Feld zum Abschalten; planen Sie also ein, sie im Schnitt stummzuschalten oder zu ersetzen, wenn Sie Ihre eigene Mischung brauchen.
Request-Parameter
| Parameter | Pflicht | Beschreibung |
|---|---|---|
prompt | Ja | Pflicht. Beschreiben Sie, was sich nach dem Frame ändert – Handlung, Kamera, Licht –, nicht den Frame selbst. mindestens 1 Zeichen |
image_url | Ja | Das Startbild. Es legt Motiv und Komposition fest und setzt die Ausgabeform. |
last_image_url | Nein | Optionales Schlussbild, nur zusammen mit |
resolution | Nein | 720p, 1080p, 2k oder 4k. 2k liefert etwa 2560 px Breite. |
duration_seconds | Nein | Ganze Sekunden, 5 bis 20. Längere Clips wandern weiter von einem mitgegebenen Schlussbild ab. |
seed | Nein | Konstant halten, wenn Sie die Auflösung anheben, damit sich nur eine Variable geändert hat. |
Preis
| Spezifikation | Preis |
|---|---|
| $0.09 / Sekunde |
| $0.13 / Sekunde |
| $0.19 / Sekunde |
| $0.30 / Sekunde |
Anwendungsfälle
Ein Tageszeitwechsel zwischen zwei freigegebenen Bildern
Im Beispiel beach-to-bonfire zeigt image_url ein Paar bei Sonnenuntergang am Strand und last_image_url dieselben beiden nachts, in eine Decke gewickelt am Lagerfeuer. Die Anfrage läuft 10 Sekunden in 1080p, und der Prompt beschreibt den Übergang statt des Ziels: Die Sonne geht unter, das Feuerlicht übernimmt. Weil das Ende festgelegt ist, kann das Modell die Mitte erfinden, ohne über ein bereits freigegebenes Bild hinauszudriften.
Von Board zu Board für den Schnitt
Muss eine Einstellung auf einem Storyboard-Bild beginnen und auf einem anderen enden, senden Sie beide als image_url und last_image_url. Die ausgehende Komposition passt dann zum nächsten Schnitt – das macht einen erzeugten Clip in einer Timeline nutzbar und nicht nur als Einzelstück.
Bewegung für ein fertiges Standbild
Das Bild zu candlelit-tub enthält bereits Kerzen, Emaille und die nasse smaragdgrüne Seide, deshalb beschreibt sein Prompt nur die Veränderung: ins Wasser sinken, die Hände durch das nasse Haar ziehen, die Augen zur Kamera öffnen. Das Beispiel deco-pool-backfall ist dagegen ein physikalischer Moment – ein Rückwärtsfall ins Wasser mit aufsteigenden Blasen und Lichtreflexen, die über die Säulen kriechen, während die Kamera mitsinkt.
Prompt-Leitfaden und Praxistipps
Beschreiben, was sich ändert, nicht was schon da ist
Alles, was im Startbild sichtbar ist, legt das Bild fest. Nutzen Sie den Prompt dafür, wer sich bewegt, in welche Richtung und wie schnell, danach für Kamera und Lichtwechsel. Der Prompt zu candlelit-tub beginnt mit der ersten Handlung („She pushes up off the rim of the tub“) und endet mit „Slow drift-in, warm candle light only“.
Die Landung benennen, wenn Sie ein Schlussbild senden
Mit last_image_url sagen Sie im Prompt, dass die Einstellung auf dem gelieferten Schlussbild endet, und beschreiben, was auf dem Weg dorthin passiert. Das Lagerfeuer-Briefing macht genau das: „Begin on the two of them on the beach at sunset and end on the supplied final frame“. Stimmen Sie Motiv, Garderobe und Licht zwischen beiden Bildern ab, bevor Sie überhaupt schreiben.
Die Dauer an die zurückgelegte Strecke anpassen
Die Beispiele mit einer einzigen Handlung laufen 5 Sekunden, der Übergang vom Sonnenuntergang in die Nacht nutzt 10. Beginnen Sie mit einem kurzen Clip und prüfen Sie Motiv, Kanten, Licht und Kamerakontinuität über die gesamte Ausgabe, bevor Sie verlängern. Wasseraufnahmen wie das Pool-Beispiel sollten Sie Bild für Bild durchgehen, denn im Wasser zerfällt ein animiertes Standbild am ehesten.
Den Ton führen und den Seed festhalten
Da immer Ton erzeugt wird, schreiben Sie ihn in den Prompt: Das Pool-Briefing verlangt „no music, only muffled underwater tone“. Sitzt die Bewegung, lassen Sie seed und Prompt unverändert und heben nur resolution an. Der Seed macht Durchläufe vergleichbar, nicht bildgleich – prüfen Sie den finalen Render deshalb noch einmal in voller Auflösung.
API-Schnellstart
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "lightricks/ltx-2.5/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Authentifizierung, vollständiges Schema, Polling und Fehlerbehandlung stehen in der API-Referenz.












