Tutorial
Seedance 2.5 Referenz-zu-Video API: Kameraführung aus Referenzvideo übernehmen und Motiv austauschen
Auch die Länge des Referenzvideos wird berechnet – wie sich die Kosten ergeben und wie man @video1 im Prompt schreibt, alles in einem Artikel.
TL;DR
seedance-2.5/reference-to-videonimmt ein vorhandenes Video als Referenz, behält dessen Kameraführung, Rhythmus und Bewegung bei und tauscht dann das Motiv, den Stil oder kombiniert es mit Referenzmusik. Modellseite öffnen und direkt online generieren – neue Nutzer erhalten bei der Registrierung 200 Credits geschenkt.- Abrechnung pro Sekunde: auch die Länge des Referenzvideos kostet Geld: Kosten = Stückpreis × (Länge des Referenzvideos + Ausgabelänge). 480p kostet $0.1215 pro Sekunde, 720p $0.2715, 1080p $0.68.
- 5 Sekunden Referenz + 5 Sekunden Ausgabe: 480p $1.215, 720p $2.715. Am günstigsten ist es, die Prompts zuerst mit 480p zu testen.
Zuerst ein echtes Beispiel: Motiv tauschen, Kameraführung behalten
Das Referenzvideo ist ein Werbespot für Laufschuhe, das Referenzbild zeigt eine Parfümflasche. Der Prompt lässt das Modell die Bildfolge und Kameraführung des Laufschuh-Werbespots übernehmen und den Schuh komplett durch das Parfüm ersetzen:
Use @video1 strictly as the reference for shot progression, product rotation, camera paths, pacing, macro close-ups, and lighting transitions. Replace the shoe completely with the perfume bottle from @image1. Preserve the bottle's exact silhouette, amber glass color, cap proportions, label placement, and premium material appearance in every shot. Present it as a luxury fragrance commercial on a dark obsidian pedestal, with warm amber rim light, controlled reflections, fine atmospheric mist, and precise macro detail. Follow the visual rhythm and camera choreography of @video1 while keeping one consistent perfume bottle throughout. Do not transfer shoe laces, soles, fabric textures, or shoe-shaped geometry into the bottle. Do not invent extra products, readable brand text, logos, hands, or people.
Mit diesem Prompt generieren → (Referenzvideo und Produktbild hochladen, 480p, 9:16)
seedance-2.5/reference-to-video, 480p, 9:16, Ausgabe 4 Sekunden, Ton vom Modell generiert.
@video1 und @image1 sind Materialnummern im Prompt und entsprechen in der Reihenfolge des Hochladens der ersten Adresse in reference_video_urls bzw. reference_image_urls. Der Satz am Ende – „Schnürsenkel und Sohlen nicht in die Parfümflasche übernehmen“ – ist genauso wichtig wie die positiven Beschreibungen davor: Schreibt man das nicht klar, übernimmt das Modell Details aus dem Referenzvideo.
curl: das erste Video
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5/reference-to-video",
"input": {
"prompt": "Kameraführung und Rhythmus von @video1 übernehmen, das Motiv durch das Produkt aus @image1 ersetzen, Licht und Bildkomposition beibehalten",
"reference_video_urls": ["https://your-cdn.example.com/reference-clip.mp4"],
"reference_image_urls": ["https://your-cdn.example.com/product.jpg"],
"duration": 5,
"resolution": "480p",
"aspect_ratio": "9:16"
}
}'
Ist das Referenzvideo 5 Sekunden lang, werden hier bei 480p 10 Sekunden berechnet, also $1.215.
Die Antwort enthält eine taskId; danach das Ergebnis abfragen:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
Sobald status success ist, das Video über output[0].url herunterladen.
Python: übermitteln, abfragen, herunterladen
# pip install requests; zuerst export HIAPI_KEY=dein Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(prompt, model="seedance-2.5/reference-to-video", timeout_s=900, **params):
body = {"model": model, "input": {"prompt": prompt, **params}}
# Beim erneuten Senden derselben Aufgabe denselben Idempotency-Key mitgeben, um doppelte Abbuchungen 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(
"Rhythmus und niedrige Mitlaufkamera des Corgis aus @video1 beibehalten, die gesamte Szene in den Stil eines Filz-Stop-Motion-Films verwandeln",
reference_video_urls=["https://your-cdn.example.com/corgi-run.mp4"],
duration=5, resolution="480p", aspect_ratio="16:9",
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Drei typische Anwendungen
1. Motiv tauschen, Kameraführung behalten (das Parfüm-Beispiel oben): Referenzvideo + Referenzbild. Im Prompt klar angeben, „was von @video1 kommt“, „was von @image1 kommt“ und „was nicht übernommen werden soll“.
2. Nur die Bewegung übertragen, den Stil komplett ändern: nur das Referenzvideo übergeben. Das folgende Beispiel verwandelt eine Realfilmaufnahme eines laufenden Corgis in einen Filz-Stop-Motion-Film, wobei Laufrhythmus und Mitlaufkamera erhalten bleiben:
Use @video1 as the sole visual reference. Preserve the corgi's recognizable markings, running cadence, stride timing, body orientation, forward momentum, and the low side-tracking camera movement. Reimagine the entire scene as a handcrafted stop-motion film made from felt, wool, miniature grass, and painted paper scenery. Keep the warm sunset backlight and continuous chase rhythm, with subtle handmade texture and natural depth of field. Maintain one coherent corgi throughout the shot, anatomically stable legs, smooth forward motion, and a continuous camera path. Do not introduce additional animals, text, logos, abrupt cuts, or unrelated objects.
Mit diesem Prompt generieren → (Referenzvideo hochladen)
seedance-2.5/reference-to-video, 480p, nur Referenzvideo, Ausgabe 4 Sekunden.
3. Video + Bild + Audio zusammen verwenden: zusätzlich reference_audio_urls angeben und im Prompt mit @audio1 festlegen, welche Szene auf welchen Punkt der Musik fällt – das ist viel präziser, als nur „mit Musik unterlegen“ zu schreiben. Referenzaudio muss zusammen mit dem Referenzvideo übergeben werden.
Parameterübersicht
| Parameter | Wert | Beschreibung |
|---|---|---|
prompt |
String, erforderlich | Material mit @video1 @image1 @audio1 referenzieren |
reference_video_urls |
erforderlich, 1–10 Segmente | MP4/MOV, je 2–30 Sekunden, insgesamt höchstens 30 Sekunden, je Segment unter 200 MB |
reference_image_urls |
bis zu 30 Bilder | JPEG/PNG/WebP usw., je unter 30 MB |
reference_audio_urls |
bis zu 10 Segmente | WAV/MP3, nur zusammen mit Referenzvideo verwendbar |
duration |
Integer 4–30 oder -1 (Modell entscheidet), Standard 5 |
Einheit Sekunden |
resolution |
480p / 720p / 1080p, Standard 480p |
|
aspect_ratio |
16:9 4:3 1:1 3:4 9:16 21:9 adaptive |
Hochformat einfach als 9:16 angeben |
generate_audio |
Standard true |
Kosten berechnen
Abrechnungssekunden = Gesamtlänge des Referenzvideos + Ausgabelänge. Referenzbilder und Referenzaudio kosten nichts extra.
| Referenz + Ausgabe | 480p ($0.1215/Sek.) | 720p ($0.2715/Sek.) | 1080p ($0.68/Sek.) |
|---|---|---|---|
| 5 Sek. + 4 Sek. | $1.0935 | $2.4435 | $6.12 |
| 5 Sek. + 5 Sek. | $1.215 | $2.715 | $6.8 |
| 10 Sek. + 10 Sek. | $2.43 | $5.43 | $13.6 |
So spart man: Das Referenzvideo auf die benötigte Bewegung kürzen, Prompts mit 480p testen und erst nach der finalen Version 720p oder 1080p ausgeben. Die genaue Aufschlüsselung steht unter Seedance 2.5 API Preisgestaltung.
Vor dem Produktivbetrieb beachten
- Materialadressen müssen öffentlich erreichbar sein: Das Referenzvideo muss über eine öffentlich zugängliche HTTPS-Adresse erreichbar sein.
- Callbacks statt Polling verwenden: Auf oberster Ebene
"callback": {"url": "https://deine-domain/hiapi/callback"}hinzufügen und nachtaskIddeduplizieren. - Rechtzeitig speichern:
output[0].urlist ein temporärer Link – nach Erhalt sofort im eigenen Speicher ablegen. - Wiederholungen mit Idempotenzschlüssel: Header
Idempotency-Keyhinzufügen; bei gleichem Schlüssel wird die Aufgabe nur einmal erstellt. - Automatische Rückerstattung bei Fehlern: Abgerechnet wird nur für erfolgreich generierte Videos.
Häufige Fragen
Kann ich es ohne Referenzvideo nur mit Referenzbildern nutzen?
Nein, reference_video_urls ist erforderlich. Wenn nur Bilder vorhanden sind, den Referenzbild-Modus von Seedance 2.5 Bild-zu-Video verwenden.
Warum ist die Abbuchung höher als berechnet?
Auch die Länge des Referenzvideos wird berechnet. 10 Sekunden Referenzvideo + 5 Sekunden Ausgabe werden als 15 Sekunden abgerechnet.
Ist direktes Hochformat möglich?
Ja, aspect_ratio auf 9:16 setzen; das Modell generiert dann direkt im Hochformat, nicht durch nachträgliches Beschneiden.
Je mehr Referenzmaterial, desto teurer?
Referenzbilder und Referenzaudio kosten nichts extra; nur Referenzvideos werden nach Länge berechnet.
Wenn kein Referenzmaterial vorhanden ist und nur mit Text ein Video entstehen soll, siehe Seedance 2.5 Text-zu-Video API. Zum Ausprobieren einfach auf der Modellseite das Referenzvideo hochladen.
Ä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