Tutorial
Seedance 2.5 Image-to-Video API: So übergeben Sie erstes Bild, erstes und letztes Bild sowie Referenzbilder
Ein Bild in Bewegung bringen oder dem Modell erstes und letztes Bild geben, damit es den Übergang ergänzt; curl, Python und die Kostentabelle finden Sie hier.
TL;DR
seedance-2.5/image-to-videobringt ein Bild in Bewegung; Sie können auch gleichzeitig erstes und letztes Bild angeben, damit das Modell den Zwischenverlauf ergänzt. Einzelclip 4–30 Sekunden, mit Ton. Modellseite öffnen und online generieren; neue Nutzer erhalten bei Registrierung 200 Credits.- Gleicher Preis wie Text-to-Video: 720p $0.204 pro Sekunde, 1080p $0.516 pro Sekunde. 4 Sekunden 720p kosten $0.816.
- Zwei Nutzungsarten zur Auswahl: erstes Bild / erstes und letztes Bild oder Referenzbild + Referenzaudio; eine Mischung ist nicht möglich.
Zuerst ein praktisches Beispiel: erstes und letztes Bild
Geben Sie ein „leerer Blumentopf“ als erstes Bild und ein „mit Basilikum bewachsener Blumentopf“ als letztes Bild an; im Prompt beschreiben Sie nur, wie sich der Übergang vollzieht:


Time-lapse growth of a basil seedling sprouting and unfurling leaves inside the terracotta pot, smooth continuous motion, soft morning light staying consistent, camera locked off, no cuts
Mit diesem Prompt generieren → (laden Sie Ihr erstes und letztes Bild hoch, 4 Sekunden, 720p)
seedance-2.5/image-to-video, erstes Bild + letztes Bild, 720p, 4 Sekunden, mit Ton, $0.816.
Bildaufbau, Licht und Position der Requisiten in beiden Bildern bleiben konsistent; nur das, was das Video zeigen soll (hier die Pflanze), ändert sich – so wird der Übergang flüssig. Das "soft morning light staying consistent" im Prompt sorgt dafür, dass das Modell nicht auch das Licht als Zeitraffer darstellt.
curl: nur erstes Bild
Die häufigste Nutzung: ein Produktbild oder eine Illustration plus ein Satz „wie es sich als Nächstes bewegt“:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5/image-to-video",
"input": {
"prompt": "Die Kamera fährt langsam auf eine dampfende Kaffeetasse zu, der Dampf wirbelt im Morgenlicht nach oben, leichtes Handkamera-Wackeln",
"first_frame_url": "https://your-cdn.example.com/coffee-cup.jpg",
"duration": 5,
"resolution": "720p"
}
}'
Gibt taskId zurück:
{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}
Ergebnis abfragen:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
Wenn status success ist, laden Sie das Video über output[0].url herunter.
Erstes und letztes Bild: zusätzlich last_frame_url
{
"model": "seedance-2.5/image-to-video",
"input": {
"prompt": "Zeitraffer desselben Schreibtischs von Tag zu Nacht: Das Tageslicht wird allmählich dunkler, die Schreibtischlampe leuchtet warm auf, draußen gehen nach und nach die Stadtlichter an, Kamera fest montiert",
"first_frame_url": "https://your-cdn.example.com/desk-day.jpg",
"last_frame_url": "https://your-cdn.example.com/desk-night.jpg",
"duration": 4,
"resolution": "720p"
}
}
last_frame_urlmuss zusammen mitfirst_frame_urlverwendet werden.- Wenn das Seitenverhältnis von letztem und erstem Bild nicht übereinstimmt, wird das letzte Bild mittig zugeschnitten; am besten generieren Sie beide Bilder im selben Seitenverhältnis.
- Das Bildformat folgt dem ersten Bild;
aspect_ratiohat nur den Wertadaptiveund muss nicht übergeben werden.
Python: übermitteln, abfragen, herunterladen
# pip install requests; zuerst export HIAPI_KEY=Ihr Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(prompt, model="seedance-2.5/image-to-video", timeout_s=900, **params):
body = {"model": model, "input": {"prompt": prompt, **params}}
# Beim erneuten Übermitteln derselben Aufgabe denselben Idempotency-Key mitgeben, um doppelte Abrechnung zu vermeiden
headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
r.raise_for_status()
res = r.json()
if res.get("code") != 200:
raise RuntimeError(res)
task_id = res["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d)
time.sleep(10)
raise TimeoutError(task_id)
url = generate(
"Time-lapse growth of a basil seedling sprouting and unfurling leaves, camera locked off, no cuts",
first_frame_url="https://your-cdn.example.com/seedling-start.jpg",
last_frame_url="https://your-cdn.example.com/seedling-grown.jpg",
duration=4, resolution="720p",
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Andere Nutzungsart: Referenzbild + Referenzaudio
Wenn Sie ein bestimmtes Bild nicht als erstes Bild festlegen möchten, sondern das Modell das Aussehen einer Person, das Erscheinungsbild eines Produkts oder einen Stil „referenzieren“ soll, verwenden Sie stattdessen reference_image_urls (bis zu 30 Bilder); zusätzlich können Sie reference_audio_urls (bis zu 10 Abschnitte) für den Stil der Referenzstimme hinzufügen:
{
"model": "seedance-2.5/image-to-video",
"input": {
"prompt": "Das Mädchen aus dem Referenzbild trägt denselben blauen Schulrucksack und geht über eine regnerische Straßenecke, Kamera folgt",
"reference_image_urls": [
"https://your-cdn.example.com/girl.jpg",
"https://your-cdn.example.com/backpack.jpg"
],
"duration": 5,
"resolution": "720p"
}
}
Hinweis: Referenzbilder und Referenzaudio können nicht gleichzeitig mit first_frame_url / last_frame_url übergeben werden; bitte eines von beiden wählen.
Parameterübersicht
| Parameter | Wert | Beschreibung |
|---|---|---|
prompt |
Zeichenkette, erforderlich | Bewegung, Kamera und Ton beschreiben; das ganze Bild nicht erneut beschreiben |
first_frame_url |
Bild-URL | Erstes Bild |
last_frame_url |
Bild-URL | Letztes Bild, zusammen mit dem ersten Bild verwenden |
reference_image_urls |
bis zu 30 Bilder | Kann nicht zusammen mit erstem/letztem Bild verwendet werden |
reference_audio_urls |
bis zu 10 Abschnitte | Kann nicht zusammen mit erstem/letztem Bild verwendet werden |
duration |
Ganzzahl 4–30, Standard 5 | Einheit Sekunden |
resolution |
720p / 1080p, Standard 720p |
|
generate_audio |
Standard true |
Ton und Bild werden zusammen generiert |
output_format |
mp4 / mov |
Kosten berechnen
| Dauer | 720p ($0.204/Sekunde) | 1080p ($0.516/Sekunde) |
|---|---|---|
| 4 Sekunden | $0.816 | $2.064 |
| 5 Sekunden | $1.02 | $2.58 |
| 10 Sekunden | $2.04 | $5.16 |
| 15 Sekunden | $3.06 | $7.74 |
Erstes und letztes Bild kosten gleich viel wie nur das erste Bild; der Preis richtet sich nur nach Auflösung und Sekunden. Eine detailliertere Rechnung finden Sie unter Seedance 2.5 API-Preise.
Vor dem Livegang beachten
- Bildadressen müssen öffentlich erreichbar sein: HTTP(S)-Adressen oder data-URLs sind beide möglich; interne Adressen kann das Modell nicht abrufen.
- Callback statt Polling verwenden: Auf oberster Ebene der Anfrage
"callback": {"url": "https://Ihre-Domain/hiapi/callback"}hinzufügen und nachtaskIddeduplizieren. - Rechtzeitig kopieren:
output[0].urlist ein temporärer Link; sofort nach Erhalt in Ihrem eigenen Speicher ablegen. - Bei Wiederholungen Idempotenzschlüssel mitgeben: Den Header
Idempotency-Keyhinzufügen; bei Wiederholung mit demselben Schlüssel wird die Aufgabe nur einmal erstellt. - Automatische Rückerstattung bei Fehlschlag: Abgerechnet wird nur für erfolgreich generierte Videos.
Häufige Fragen
Was tun, wenn zwischen erstem und letztem Bild eine „Überblendung“ auftritt?
Wenn sich die beiden Bilder zu stark unterscheiden, wirken ein bis zwei Sekunden in der Mitte leicht wie eine Überblendung zweier Bilder. Sorgen Sie dafür, dass Bildaufbau und Requisiten in beiden Bildern konsistent bleiben und sich nur das Motiv ändert, und schreiben Sie im Prompt "camera locked off, no cuts".
Kann man nur das letzte Bild angeben?
Nein, das letzte Bild muss zusammen mit dem ersten Bild verwendet werden.
Kann man Hochformat festlegen?
Das Bildformat folgt dem ersten Bild; für Hochformat laden Sie ein erstes Bild im Hochformat hoch.
Was ist der Unterschied zwischen erstem Bild und Referenzbild?
Das erste Bild wird unverändert das erste Bild des Videos; das Referenzbild dient dem Modell nur als Referenz für Aussehen und Stil, und die Bildkomposition kann neu gestaltet werden.
Nur Prompt, kein Bild? Siehe Seedance 2.5 Text-to-Video API. Für weitere Schreibweisen des ersten Bildes siehe Seedance 2.5 Benutzerhandbuch, oder gehen Sie direkt zur Modellseite und laden Sie ein Bild hoch, um es auszuprobieren.
Ähnliche Artikel
Alle Artikel ansehen →-
Tutorial
So rufen Sie hailuo-2.3-fast/image-to-video über die HiAPI API auf: curl und Python in der Praxis
Die erste lauffähige Anfrage für die schnelle, kostengünstige Bild-zu-Video-Stufe – von der Modell-ID bis zum heruntergeladenen MP4
-
Tutorial
So rufen Sie hailuo-2.3/text-to-video über die HiAPI API auf: curl, Python und lauffähige Anfragebeispiele
-
Tutorial
Kandinsky 6.0 Pro Text-zu-Video auf HiAPI: curl- und Python-Tutorial
Eine anfrageorientierte praktische Demonstration: Aufbau des Aufrufs vom Prompt zum Videoclip, Absenden der Anfrage, Abfragen des Fertigstellungsstatus und Herunterladen des Ergebnisses