SeeGen AI API
Willkommen bei der SeeGen AI API — einer einzigen API für filmreife Videogenerierung und hochauflösende Bildgenerierung über mehrere führende Modelle hinweg.
Überblick
SeeGen AI ist eine einheitliche Generierungs-API: ein konsistenter Satz von Endpunkten, um mehrere führende KI-Video- und Bildmodelle auszuführen. Wählen Sie ein Modell über den Parameter model — Authentifizierung, Task-Einreichung, Status-Abfrage und Webhooks funktionieren bei allen gleich.
Aktuell verfügbare Modelle:
- Video — Seedance 2.5 (
sd2.5), Seedance 2.0 Pro (sd2), Fast (sd2-fast), Mini (sd2-mini), Wan 3.0 Video Prime (wan3.0-video-prime), Wan 3.0 Video (wan3.0-video) - Bild — GPT Image 2 (
gpt-image-2), Nano Banana 2 (nano-banana-2), Nano Banana Pro (nano-banana-pro), Seedream 5.0 Lite (seedream-v5.0-lite), Seedream 5.0 Pro (seedream-v5.0-pro)
Basis-URL: https://seegen.ai/api/v1
Modell: Übergeben Sie einen der oben genannten Aliase im Feld model (z. B. sd2, gpt-image-2).
Warum SeeGen AI?
Weitere Gründe für SeeGen AI:
- Mehr als nur Seedance 2.0: Wan 3.0, Nano Banana, ChatGPT Image und mehr.
- Kein Abonnement erforderlich — Pay-as-you-go
- Schneller Zugriff auf die neuesten Modelle
- Kundensupport rund um die Uhr (24/7)
- Unterstützung bei offiziellen modellbezogenen Anfragen
- Konsolenzugriff für Entwickler
- Offen für Unternehmen und Privatnutzer
Preise
API Pack
125,000 Credits ($0.004/Credit)
~781 Videos à 5 Sek.
API-XL Pack
500,000 Credits ($0.004/Credit)
~3,125 Videos à 5 Sek.
Seedance 2.0 / Fast / Mini / 2.5 — Kostenberechnung
Sei out = output_seconds und in = die Summe von ⌈duration⌉ jedes Eingabevideos (jeweils aufgerundet, mindestens out × 2/3). Seedance 2.5 verwendet dieselbe Berechnung wie Seedance 2.0. Der Basissatz des jeweiligen Modells wird mit 1.5 multipliziert und gerundet, bevor die Task-Formel angewendet wird (1080P ist nativ bei sd2.5, das 2,5-Fache des 720P-Satzes); die modellunabhängigen Upscale-Aufschläge bleiben bei +30 / +40 Credits pro Ausgabesekunde für 2K / 4K (+20 für 1080P nur bei sd2-fast / sd2-mini).
| Ohne Video-Eingabe | Mit Video-Eingabe | |
|---|---|---|
| sd2.5: 480P | 30 × out | 23 × (out + in) |
| sd2.5: 720P | 60 × out | 45 × (out + in) |
| sd2.5: 1080P (nativ) | 150 × out | 113 × (out + in) |
| sd2.5: 2K | (60 + 30) × out | 45 × (out + in) + 30 × out |
| sd2.5: 4K | (60 + 40) × out | 45 × (out + in) + 40 × out |
| sd2-pro: 480P | 20 × out | 15 × (out + in) |
| sd2-pro: 720P | 40 × out | 30 × (out + in) |
| sd2-pro: 1080P (nativ) | 100 × out | 75 × (out + in) |
| sd2-pro: 2K | (40 + 30) × out | 30 × (out + in) + 30 × out |
| sd2-pro: 4K (nativ) | 200 × out | 150 × (out + in) |
| sd2-fast: 480P | 16 × out | 12 × (out + in) |
| sd2-fast: 720P | 32 × out | 24 × (out + in) |
| sd2-fast: 1080P | (32 + 20) × out | 24 × (out + in) + 20 × out |
| sd2-fast: 2K | (32 + 30) × out | 24 × (out + in) + 30 × out |
| sd2-fast: 4K | (32 + 40) × out | 24 × (out + in) + 40 × out |
| sd2-mini: 480P | 10 × out | 7.5 × (out + in) |
| sd2-mini: 720P | 20 × out | 15 × (out + in) |
| sd2-mini: 1080P | (20 + 20) × out | 15 × (out + in) + 20 × out |
| sd2-mini: 2K | (20 + 30) × out | 15 × (out + in) + 30 × out |
| sd2-mini: 4K | (20 + 40) × out | 15 × (out + in) + 40 × out |
Hinweis: sd2-pro 1080P und 4K sind native offizielle Ausgabe (4K = das 5-Fache des 720P-Satzes); sd2-pro 2K sowie sämtliche 1080P/2K/4K von sd2-fast / sd2-mini werden von SeeGen AI hochskaliert. sd2.5 generiert nativ in 480P/720P/1080P (1080P = das 2,5-Fache des 720P-Satzes, kein Upscale-Aufschlag) und nutzt automatisches Upscaling für 2K/4K. Fordern Sie jede Stufe über outputResolution: "4k" an (z. B. "2k" / "4k"; das Gateway wählt automatisch zwischen nativ und Upscale — nur Preis und die Native-Kennzeichnung unterscheiden sich). sd2-mini kostet 50% von sd2-pro — die günstigste Stufe. Seedance 2.5 verwendet die Pro-Video-Dauerrundung, den Mindest-Eingabedauer-Schwellenwert und die Upscale-Berechnung von Seedance 2.0. Der Basissatz des jeweiligen Modells wird mit 1.5 multipliziert und gerundet, bevor die Task-Berechnung erfolgt (z. B. 1080P mit Video: 75 × 1.5 → 113). Die modellunabhängigen 2K / 4K-Upscale-Aufschläge bleiben bei +30 / +40 Credits pro Ausgabesekunde. Schlägt das Upscaling fehl, liefert der abgeschlossene Task den 720P-Fallback ohne teilweise Rückerstattung von Credits.
- sd2.5 480P, 4-Sekunden-Ausgabe ohne Video-Eingabe: 120 Credits
- sd2.5 720P, 5-Sekunden-Ausgabe ohne Video-Eingabe: 300 Credits
- sd2.5 720P, 5-Sekunden-Ausgabe + 3-Sekunden-Eingabevideo (Mindest-Eingabedauer 4 Sekunden): 405 Credits
- sd2.5 1080P nativ, 5-Sekunden-Ausgabe ohne Video-Eingabe: 750 Credits
- sd2.5 1080P nativ, 5-Sekunden-Ausgabe + 5-Sekunden-Eingabevideo: 1,130 Credits
Wan 3.0 Video / Prime — Kostenberechnung
Es gilt: out = Ausgabesekunden und in = Summe der Referenzvideosekunden, wobei jeder Clip auf volle Sekunden aufgerundet wird. Ohne Referenzvideo: credits = out × rate. Mit Referenzvideo: credits = (out + in) × rate. Verwenden Sie den Tarif für Ihr Modell und Ihre Auflösung aus der folgenden Tabelle.
| Modell | Native Ausgabe | Credits / Sek. | 2-Sek.-Beispiel |
|---|---|---|---|
| wan3.0-video-prime | 480P | 22 | 44 |
| 720P | 45 | 90 | |
| 1080P | 90 | 180 | |
| wan3.0-video | 480P | 16 | 32 |
| 720P | 32 | 64 | |
| 1080P | 64 | 128 |
Hinweis: 480P, 720P und 1080P sind native Ausgaben; 2K/4K-Upscaling wird nicht unterstützt. Referenzbilder und Audio erhöhen die berechnete Dauer nicht. Das Abschalten der Audioerzeugung ändert den Preis nicht. Die Gesamtdauer der Referenzvideos und die Ausgabedauer dürfen zusammen 30 Sekunden nicht überschreiten.
- wan3.0-video 480P, 2 Sekunden Ausgabe ohne Videoeingabe: 2 × 16 = 32 Credits
- wan3.0-video-prime 480P, 2 Sekunden Ausgabe ohne Videoeingabe: 2 × 22 = 44 Credits
- wan3.0-video 720P, 5 Sekunden Ausgabe + 3 Sekunden Referenzvideo: (5 + 3) × 32 = 256 Credits
- wan3.0-video-prime 720P, 5 Sekunden Ausgabe + 2.2 Sekunden Referenzvideo (auf 3 Sekunden aufgerundet): (5 + 3) × 45 = 360 Credits
🎉 Zeitlich begrenztes Angebot: 33% Rabatt auf die gesamte Bildgenerierung — alle Bildpreise unten sind bereits reduziert.
GPT Image 2.5 Flare / Sunburst
| Auflösung | Mittlere Qualität | Hohe Qualität | XHigh-Qualität | Max-Qualität |
|---|---|---|---|---|
| 1k | 35 | 1320 | 2335 | 5075 |
| 2k (Standard) | 710 | 2335 | 3755 | 84125 |
| 4k | 1015 | 4060 | 67100 | 154230 |
Jeder Task erzeugt 1 Bild. Reichen Sie N Tasks für N Varianten ein. Fehlgeschlagene Tasks erstatten Credits automatisch.
gpt-image-2 — Credits pro Bild
| Auflösung | Mittlere Qualität | Hohe Qualität |
|---|---|---|
| 1k | 1015 | 4770 |
| 2k (Standard) | 2335 | 84125 |
| 4k | 4060 | 154230 |
Jeder Task erzeugt 1 Bild. Reichen Sie N Tasks für N Varianten ein. Fehlgeschlagene Tasks erstatten Credits automatisch.
nano-banana-2 & nano-banana-pro — Credits pro Bild
| Auflösung | nano-banana-2 | nano-banana-pro |
|---|---|---|
| 1k | 2030 | 4060 |
| 2k (Standard) | 3045 | 4060 |
| 4k | 4770 | 74110 |
Jeder Task erzeugt 1 Bild. Reichen Sie N Tasks für N Varianten ein. Fehlgeschlagene Tasks erstatten Credits automatisch.
Seedream 5.0 — Credits pro Bild
| Modell / Stufe | Credits |
|---|---|
| Lite 2k / 4k (Pauschalpreis) | 710 |
| Pro 1k (Standard) | 1015 |
| Pro 2k | 2030 |
Jeder Task erzeugt 1 Bild. Reichen Sie N Tasks für N Varianten ein. Fehlgeschlagene Tasks erstatten Credits automatisch. Referenzbilder werden nicht separat berechnet.
Prüfen Sie Ihr Guthaben: GET /api/v1/account/credits
Automatische Aufladung für API-Konten
Ihr API-Schlüssel und das SeeGen-AI-Dashboard verwenden dasselbe kontoweite Guthaben. Die automatische Aufladung hält Guthaben für API-Workloads bereit, muss aber auf der Credits-Seite eingerichtet werden; eine separate Konfigurations-API gibt es derzeit nicht.
Automatische Aufladung in Credits einrichten:
- Öffnen Sie Credits, wählen Sie den gewünschten Mindeststand und ein Aufladepaket aus.
- Autorisieren Sie Ihre Zahlungsmethode einmalig. Bei diesem Schritt wird die Autorisierung gespeichert und die Karte nicht belastet.
- Nach Aktivierung der flexiblen Autorisierung können Sie Mindeststand oder Paket in Credits ohne erneute Autorisierung ändern. Bei Konten mit der früheren Festpreisautorisierung kann ein einmaliges Upgrade erforderlich sein.
Verhalten bei API-Anfragen
- Wenn eine erfolgreiche API-Aufgabe Guthaben abzieht und der Stand von mindestens dem Schwellenwert auf darunter fällt, stellt SeeGen AI asynchron eine automatische Aufladung in die Warteschlange. Die Aufgabenübermittlung wartet nicht auf die Aufladung.
- Reicht das Guthaben bereits vor der Übermittlung nicht aus, gibt die API HTTP 402 zurück und erstellt keine Aufgabe. Die abgelehnte Anfrage löst keine automatische Aufladung aus und wird nicht automatisch wiederholt; versuchen Sie es erneut, sobald Guthaben verfügbar ist.
- Den aktuellen Stand prüfen Sie mit
GET /api/v1/account/credits. Fortschritt und Fehler der automatischen Aufladung erscheinen in Credits und Payment History; wichtige Ergebnisse werden an die Abrechnungs-E-Mail-Adresse des Kontos gesendet. Derzeit gibt es keinen kundenorientierten Webhook und keine Status-API für automatische Aufladungen.
Bonusguthaben bei automatischer Aufladung von API-Paketen
- $500.00 API Pack: 127,500 Credits (125,000 + 2 % Bonus).
- $2,000.00 API-XL Pack: 525,000 Credits (500,000 + 5 % Bonus).
- Bei manuellen Käufen dieser Pakete werden weiterhin 125,000 bzw. 500,000 Credits gutgeschrieben.
Authentifizierung
Alle API-Anfragen erfordern ein Bearer-Token im Authorization-Header. Sie können API-Schlüssel in Ihren Kontoeinstellungen erstellen und verwalten.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://seegen.ai/api/v1/account/creditsWichtig: Ihr API-Schlüssel wird nur einmal bei der Erstellung angezeigt. Bewahren Sie ihn sicher auf. Sie können bis zu 10 API-Schlüssel pro Konto erstellen.
Schnellstart
Generieren Sie ein Video in zwei Schritten: Erstellen Sie einen Task und fragen Sie dann das Ergebnis ab.
# 1. Create a text-to-video task
TASK_ID=$(curl -s -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"prompt": "A golden retriever running on the beach at sunset",
"duration": "5s",
"resolution": "1280x720"
}
}' \
https://seegen.ai/api/v1/jobs/createTask | jq -r '.taskId')
echo "Task created: $TASK_ID"
# 2. Poll for result
while true; do
RESULT=$(curl -s -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/jobs/queryTask?taskId=$TASK_ID")
STATUS=$(echo $RESULT | jq -r '.status')
echo "Status: $STATUS"
if [ "$STATUS" = "COMPLETED" ] || [ "$STATUS" = "FAILED" ]; then
echo $RESULT | jq .
break
fi
sleep 5
doneEndpunkte
/api/v1/jobs/createTaskNeuen Video-Generierungs-Task erstellen
/api/v1/jobs/queryTaskTask-Status und -Ergebnis abfragen
/api/v1/account/creditsIhr Credit-Guthaben prüfen
/api/v1/assets/uploadEin Asset (Bild/Video/Audio) zur Prüfung hochladen
/api/v1/assets/statusPrüfstatus eines Assets abfragen
/api/v1/assets/listIhre hochgeladenen Assets auflisten
/api/v1/upscale/createEigenständigen Video-Upscale-Task einreichen (720p / 1080p / 2K / 4K)
/api/v1/upscale/queryStatus und Ergebnis eines eigenständigen Upscale-Tasks abfragen
Modell auswählen (Video)
Wähle ein Videomodell nach Workflow, nativer Auflösung, Geschwindigkeit und Preis aus; kombiniere diese Tabelle mit dem Abschnitt Preise, um die Kosten zu schätzen.
| Modell | T2V | I2V | First–Last | Multi-Ref | R2V | Nativ 1080p | Nativ 4K | Audio | 720p / 5s |
|---|---|---|---|---|---|---|---|---|---|
| sd2.5 | ✓ | ✓ | ✓ | ✓ | — | ✓ | Upscale | ✓ | 300 Credits |
| sd2 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | 200 Credits |
| sd2-fast | ✓ | ✓ | ✓ | ✓ | — | Upscale | Upscale | ✓ | 160 Credits |
| sd2-mini | ✓ | ✓ | ✓ | ✓ | — | Upscale | Upscale | ✓ | 100 Credits |
| wan3.0-video-prime | ✓ | ✓ | ✓ | ✓ | — | ✓ | — | ✓ | 225 Credits |
| wan3.0-video | ✓ | ✓ | ✓ | ✓ | — | ✓ | — | ✓ | 160 Credits |
T2V = Text zu Video · I2V = Bild zu Video (erstes Bild) · First–Last = erstes + letztes Keyframe · Multi-Ref = gemischte Bild- / Video- / Audio-Referenzen · R2V = 1–9 Referenzbilder mit Charaktermarkierungen
Seedance 2.0 / 2.0 Fast / 2.0 Mini / Seedance 2.5
Text zu Video
Generieren Sie ein Video aus einem Text-Prompt. Keine Bilder erforderlich.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"prompt": "A futuristic city with flying cars at night, neon lights reflecting on wet streets",
"duration": "5s",
"resolution": "1280x720"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Ja | Textbeschreibung des zu generierenden Videos. Max. 20000 Zeichen. |
| duration | string | Nein | Videolänge: "4s" bis "15s"; sd2.5 unterstützt bis zu "30s" (Standard: "5s") |
| resolution | string | Nein | Seitenverhältnis über die Auflösung. Optionen: auto (Standard), 720x720, 720x960, 960x720, 1280x720, 720x1280, 1280x540 |
| outputResolution | string | Nein | Stufe der Ausgabeauflösung: "480p", "720p" (Standard), "1080p", "2k" oder "4k". Native Auflösungen unterscheiden sich je nach Modell: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Höhere Stufen werden automatisch hochskaliert. |
| seed | int | Nein | Seed für Reproduzierbarkeit: -1 oder weglassen für zufällig; 0–2147483647 für fest. |
| generateAudio | boolean | Nein | Ob eine synchronisierte Audiospur synthetisiert werden soll. Standard true; übergeben Sie false für ein stummes Video. |
Bild zu Video
Animieren Sie ein statisches Bild zu einem Video. Geben Sie eine Bild-URL als Startbild an.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"urls": ["https://example.com/photo.jpg"], // or "asset://asset-20260326-abc123"
"prompt": "The woman slowly turns her head and smiles",
"duration": "5s"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| urls | string[] | Ja | Array mit einer Bild-URL (das Ausgangsbild). Unterstützt sowohl HTTP-URLs als auch Asset-Referenzen (z. B. "asset://asset-20260326-abc123") |
| prompt | string | Nein | Textbeschreibung der gewünschten Bewegung |
| duration | string | Nein | Videolänge: "4s" bis "15s"; sd2.5 unterstützt bis zu "30s" (Standard: "5s") |
| outputResolution | string | Nein | Stufe der Ausgabeauflösung: "480p", "720p" (Standard), "1080p", "2k" oder "4k". Native Auflösungen unterscheiden sich je nach Modell: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Höhere Stufen werden automatisch hochskaliert. |
| seed | int | Nein | Seed für Reproduzierbarkeit: -1 oder weglassen für zufällig; 0–2147483647 für fest. |
| generateAudio | boolean | Nein | Ob eine synchronisierte Audiospur synthetisiert werden soll. Standard true; übergeben Sie false für ein stummes Video. |
Erstes & letztes Bild
Definieren Sie das Start- und Endbild, und das Modell generiert den Übergang dazwischen. Verwendet videoInputMode: "keyframe".
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"urls": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"prompt": "Smooth camera transition from day to night",
"duration": "5s",
"videoInputMode": "keyframe"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| urls | string[] | Ja | Array mit genau 2 Bild-URLs: [first_frame, last_frame]. Unterstützt sowohl HTTP-URLs als auch Asset-Referenzen (z. B. "asset://asset-20260326-abc123") |
| videoInputMode | string | Ja | Muss "keyframe" sein |
| prompt | string | Nein | Textbeschreibung, die den Übergang steuert |
| duration | string | Nein | Videolänge: "4s" bis "15s"; sd2.5 unterstützt bis zu "30s" (Standard: "5s") |
| outputResolution | string | Nein | Stufe der Ausgabeauflösung: "480p", "720p" (Standard), "1080p", "2k" oder "4k". Native Auflösungen unterscheiden sich je nach Modell: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Höhere Stufen werden automatisch hochskaliert. |
| seed | int | Nein | Seed für Reproduzierbarkeit: -1 oder weglassen für zufällig; 0–2147483647 für fest. |
| generateAudio | boolean | Nein | Ob eine synchronisierte Audiospur synthetisiert werden soll. Standard true; übergeben Sie false für ein stummes Video. |
Multi-Referenz
Verwenden Sie mehrere Referenzbilder, -videos und -audiodateien, um die Generierung zu steuern. Verwendet videoInputMode: "reference". Bei sd2.5 ist dies der Standard-Reference-Subtask; um ein bestehendes Video zu bearbeiten oder fortzusetzen, siehe Video bearbeiten & erweitern weiter unten.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"urls": [
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
],
"videoUrls": ["asset://asset-motion-video"],
"audioUrls": ["https://example.com/audio.mp3"],
"prompt": "Character walks through a garden",
"duration": "5s",
"videoInputMode": "reference",
"resolution": "1280x720"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| urls | string[] | Nein | Referenzbild-URLs (max. 9). Unterstützt sowohl HTTP-URLs als auch Asset-Referenzen (z. B. "asset://asset-20260326-abc123") |
| videoUrls | string[] | Nein | Referenzvideo-URIs asset:// — zuerst über /api/v1/assets/upload hochladen; externe URLs werden abgelehnt. sd2: max. 3 Videos, je ≤15s. sd2.5: bis zu 10 Videos, je 2–30s und ≤200MB, Gesamt-Referenzdauer ≤30s, 480p–4K-Eingaben werden unterstützt. |
| audioUrls | string[] | Nein | Referenz-Audioeingaben. sd2 / sd2-fast / sd2-mini: bis zu 3 Audiodateien, je 2–15s, insgesamt ≤15s — Audio kann bei diesen Modellen nicht die einzige Referenz sein (fügen Sie mindestens ein Bild oder Video hinzu). sd2.5: bis zu 10 Dateien, je ≤15MB und 2–30s, insgesamt ≤30s, reine Audio-Eingabe wird unterstützt. |
| videoInputMode | string | Ja | Muss "reference" sein |
| prompt | string | Nein | Textbeschreibung |
| duration | string | Nein | Videolänge: "4s" bis "15s"; sd2.5 unterstützt bis zu "30s" (Standard: "5s") |
| resolution | string | Ja | Erforderlich für den Reference-Modus. Optionen: 720x720, 720x960, 960x720, 1280x720, 720x1280, 1280x540 |
| outputResolution | string | Nein | Stufe der Ausgabeauflösung: "480p", "720p" (Standard), "1080p", "2k" oder "4k". Native Auflösungen unterscheiden sich je nach Modell: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Höhere Stufen werden automatisch hochskaliert. |
| seed | int | Nein | Seed für Reproduzierbarkeit: -1 oder weglassen für zufällig; 0–2147483647 für fest. |
| generateAudio | boolean | Nein | Ob eine synchronisierte Audiospur synthetisiert werden soll. Standard true; übergeben Sie false für ein stummes Video. |
Referenz-Beschränkungen
- Max. 9 Bilder, 3 Videos, 3 Audiodateien
- Max. 12 Dateien insgesamt über alle Typen hinweg
- Jedes Video/Audio muss ≤ 15 Sekunden sein
- Bilder müssen auf der kürzeren Seite mindestens 400px haben
- sd2.5: max. 30 Bilder, 10 Videos, 10 Audiodateien und 50 insgesamt; die Gesamtdauer von Video und Audio beträgt jeweils ≤ 30 Sekunden
Video bearbeiten & erweitern
sd2.5 unterteilt die referenzbasierte Generierung in drei Subtasks. Lassen Sie mode für gewöhnliche Reference-Generierung weg, setzen Sie mode: "edit", um ein bestehendes Video zu bearbeiten, oder mode: "extend", um es fortzusetzen. Beide erfordern mindestens ein Video in videoUrls und geben stets das Seitenverhältnis des Quellvideos aus.
Platzieren Sie das Video, das Sie bearbeiten möchten, zuerst in videoUrls und verweisen Sie in Ihrem Prompt darauf als "Video 1". edit erzwingt, dass die Ausgabelänge diesem ersten (Quell-)Video entspricht, das 4–30s lang sein muss, sodass jeder von Ihnen gesendete duration-Wert ignoriert wird; die Abrechnung verwendet die Dauer des Quellvideos als Ausgabedauer, zuzüglich aller Referenzvideos als Eingabe. extend akzeptiert 1–3 in Reihenfolge zusammengefügte Clips, und der von Ihnen angeforderte duration-Wert ist die Ausgabelänge dieser Generierung (unabhängig von der Quelllänge) — Abrechnung wie bei gewöhnlicher Reference-Generierung.
Die Modelle der 2.0-Familie (sd2 / sd2-fast / sd2-mini) akzeptieren ebenfalls mode: "edit" und mode: "extend": Sie leiten die Operation aus Ihrem Prompt ab (beschreiben Sie die Bearbeitung oder Fortsetzung explizit), das Seitenverhältnis folgt dem Quellvideo, und duration bleibt bei gewöhnlicher Abrechnung unter Ihrer Kontrolle.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2.5",
"inputs": {
"mode": "edit",
"videoInputMode": "reference",
"videoUrls": ["asset://asset-source-video"],
"urls": ["https://example.com/annotation-at-1.2s.png"],
"source_frame_timestamps_ms": [1200],
"prompt": "Replace the marked object with a red umbrella",
"outputResolution": "720p"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| mode | string | Nein | "edit" oder "extend". Weglassen für gewöhnliche Reference-Generierung. |
| videoUrls | string[] | Ja | Mindestens ein Video; das erste ist die Quelle ("Video 1") — Ausgabelänge und Abrechnung bei edit folgen diesem. Weitere Videos sind zusätzliche Referenzen (edit) oder zusätzliche, der Reihe nach zusammengefügte Clips (extend, max. 3). |
| urls | string[] | Nein | Optionale Anmerkungs-/Referenzbilder. |
| source_frame_timestamps_ms | number[] | Nein | nur bei mode "edit". Ein nicht negativer Zeitstempel des Quellvideos in Millisekunden pro Bild in urls. |
| outputResolution | string | Nein | Stufe der Ausgabeauflösung: "480p", "720p" (Standard), "1080p", "2k" oder "4k". Native Auflösungen unterscheiden sich je nach Modell: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Höhere Stufen werden automatisch hochskaliert. |
Seedance-Parameterreferenz
Vollständige Referenz aller inputs-Parameter für die Modelle sd2 / sd2-fast / sd2-mini / sd2.5.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Nein | Textbeschreibung (erforderlich für Text-to-Video, optional für andere Modi). Max. 20000 Zeichen. |
| urls | string[] | Nein | Bild-URLs. Unterstützt sowohl HTTP-URLs als auch Asset-Referenzen (z. B. "asset://asset-20260326-abc123"). Wird intern auf uploadedUrls abgebildet. |
| videoUrls | string[] | Nein | Referenzvideo-URIs asset:// (nur im Reference-Modus). Müssen zuerst über /api/v1/assets/upload hochgeladen werden — externe URLs werden abgelehnt. |
| audioUrls | string[] | Nein | Referenz-Audio-URLs (nur im Reference-Modus). Reine Audio-Eingabe wird bei sd2.5 unterstützt; sd2 / sd2-fast / sd2-mini erfordern zusätzlich zum Audio mindestens ein Bild oder Video. |
| duration | string | Nein | normalerweise "4s" bis "15s"; sd2.5 unterstützt bis zu "30s". Standard: "5s" |
| resolution | string | Nein | Seitenverhältnis: auto (Standard) | 720x720 | 720x960 | 960x720 | 1280x720 | 720x1280 | 1280x540 |
| outputResolution | string | Nein | Stufe der Ausgabeauflösung: "480p", "720p" (Standard), "1080p", "2k" oder "4k". Native Auflösungen unterscheiden sich je nach Modell: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Höhere Stufen werden automatisch hochskaliert. |
| videoInputMode | string | Nein | "keyframe" (Standard) oder "reference" |
| mode | string | Nein | Reference-Modus-Subtask (alle Seedance-Modelle): weglassen für gewöhnliche Reference-Generierung, "edit", um das erste Video in videoUrls zu bearbeiten, "extend", um 1-3 Clips fortzusetzen. Siehe Video bearbeiten & erweitern. |
| source_frame_timestamps_ms | number[] | Nein | nur bei sd2.5 Video Edit: ein nicht negativer Zeitstempel in Millisekunden pro Anmerkungsbild. |
| seed | int | Nein | Zufalls-Seed für Reproduzierbarkeit. -1 oder weglassen für serverseitig zufällig. Derselbe Seed + dieselben Eingaben ergeben ein sehr ähnliches Ergebnis (aufgrund von GPU-Nichtdeterminismus nicht bitidentisch). Bereich: -1 bis 2147483647. |
| generateAudio | boolean | Nein | Ob eine Audiospur (Sprache, SFX, Hintergrundmusik) synchron zum Video synthetisiert werden soll. Standard true. Setzen Sie false, um ein stummes Video zu erzeugen — etwas schneller, nützlich, wenn Sie separat vertonen möchten. |
| bitrateMode | string | Nein | Ausgabe-Bitratenstufe bei gleicher Auflösung: "standard" (Standard) oder "high". "high" bewahrt mehr Details und reduziert Banding/Blockbildung bei etwa der 3-5-fachen Dateigröße — ändert weder Auflösung noch Preis. |
| upscaleResolution | string | Nein | (Veraltet) Veraltetes getrenntes Feld, wird weiterhin aus Gründen der Abwärtskompatibilität akzeptiert. Neue Integrationen sollten outputResolution verwenden, das jetzt direkt "2k" / "4k" annimmt. Werden beide gesendet, hat upscaleResolution Vorrang — außer bei Modellen mit nativem 1080p (Seedance2 Pro / Seedance 2.5), wo upscaleResolution:"1080p" zu nativem 1080p aufgelöst wird (Abrechnung zum nativen Satz). |
Felder auf oberster Ebene der Anfrage: model (erforderlich), inputs (erforderlich), callBackUrl (optionale Webhook-URL).
Seedance-Assets
Seedance-Assets sind Bilder, Videos und Audiodateien, die den Prüfprozess von ByteDance Volcano durchlaufen, bevor sie in Seedance-Video-Generierungs-Tasks verwendet werden können. Laden Sie ein Asset hoch, warten Sie, bis es ACTIVE wird, und verwenden Sie dann seine asset://-URL im Seedance-Task.
Hinweis: Bild- und Video-Assets mit echten Personen erfordern eine offizielle Prüfung, die in der Regel innerhalb von Sekunden abgeschlossen ist. Nach der Freigabe können sie direkt als Referenzen verwendet werden. Ohne Prüfung kann die Generierung fehlschlagen.
Asset hochladen
Zwei Möglichkeiten zum Hochladen: Senden Sie eine lokale Datei direkt (multipart/form-data), oder geben Sie eine öffentlich zugängliche HTTPS-URL an. In beiden Fällen wird das Asset automatisch verarbeitet und geprüft.
Methode A — direkter Datei-Upload (multipart/form-data)
Senden Sie eine lokale Datei, ohne dass ein Bild-Hosting erforderlich ist. Der Medientyp wird anhand der Datei-Bytes erkannt (der Dateinamenerweiterung wird nicht vertraut). Erlaubt: Bilder (jpg/png/webp/gif/bmp/tiff/heic), Videos (mp4/mov), Audio (wav/mp3). Max. 50MB pro Datei (Bild ≤30MB, Video ≤50MB, Audio ≤15MB).
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-F "file=@/path/to/photo.jpg" \
-F "name=my-photo" \
https://seegen.ai/api/v1/assets/upload| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| file | file | Ja | Die lokale Datei (Multipart-Formularfeld). Der Medientyp wird anhand des Inhalts erkannt. |
| name | string | Nein | Asset-Name (max. 64 Zeichen) |
Methode B — per URL (application/json)
Falls die Datei bereits unter einer öffentlichen HTTPS-URL gehostet wird.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/photo.jpg",
"type": "IMAGE",
"name": "my-photo"
}' \
https://seegen.ai/api/v1/assets/upload| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| url | string | Ja | Öffentlich zugängliche HTTPS-URL der hochzuladenden Datei |
| type | string | Ja | "IMAGE", "AUDIO" oder "VIDEO" |
| name | string | Nein | Asset-Name (max. 64 Zeichen) |
Upload-Antwort
{
"assetId": 123,
"volcAssetId": "asset-20260326-abc123",
"type": "IMAGE",
"status": "PROCESSING",
"failReason": null,
"url": "https://example.com/photo.jpg",
"name": "my-photo",
"createdAt": 1711234567890
}Asset-Status abfragen
Fragen Sie den Prüfstatus eines Assets ab. Wenn der Status PROCESSING ist, prüft der Endpunkt automatisch auf Updates vom Prüfsystem.
# Query by asset ID (numeric)
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/status?assetId=123"
# Query by volcAssetId (string)
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/status?assetId=asset-20260326-abc123"Asset-Statuswerte
PROCESSING— in Prüfung, noch nicht verwendbarACTIVE— Prüfung bestanden, einsatzbereit für TasksFAILED— Prüfung fehlgeschlagen, siehe failReason
Assets auflisten
Listet Ihre hochgeladenen Assets mit optionaler Filterung nach Typ und Status auf. Unterstützt Cursor-basierte Paginierung.
# List all assets
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/list"
# Filter by type and status
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/list?type=IMAGE&status=ACTIVE&limit=10"
# Paginate with cursor
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/list?cursor=100&limit=20"| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| type | string | Nein | Nach Typ filtern: "IMAGE", "AUDIO" oder "VIDEO" |
| status | string | Nein | Nach Status filtern: "NONE", "PROCESSING", "ACTIVE" oder "FAILED" |
| cursor | number | Nein | Cursor für die Paginierung (verwenden Sie nextCursor aus der vorherigen Antwort) |
| limit | number | Nein | Einträge pro Seite, 1-50 (Standard: 20) |
Listen-Antwort
{
"items": [
{
"assetId": 123,
"volcAssetId": "asset-20260326-abc123",
"type": "IMAGE",
"status": "ACTIVE",
"failReason": null,
"url": "https://example.com/photo.jpg",
"name": "my-photo",
"width": 1920,
"height": 1080,
"size": 245000,
"duration": null,
"createdAt": 1711234567890
}
],
"nextCursor": 122
}Assets in Tasks verwenden
Sobald ein Asset ACTIVE ist, verwenden Sie seine volcAssetId mit dem asset://-Protokoll in den URLs Ihres Tasks:
{
"model": "sd2",
"inputs": {
"urls": ["asset://asset-20260326-abc123"],
"prompt": "The person slowly looks up and smiles",
"duration": "5s"
}
}Wan 3.0 Video & Wan 3.0 Video Prime
Wan 3.0 unterstützt Text-zu-Video, Video aus einem Startbild, Interpolation zwischen Start- und Endbild, gemischte Bild-/Video-/Audioreferenzen sowie Videobearbeitung und -verlängerung. wan3.0-video-prime akzeptiert dieselben Eingaben wie wan3.0-video und ist für schnellere Generierung optimiert.
Beide Aliase verwenden die asynchrone API von SeeGen: POST /api/v1/jobs/createTask gibt eine taskId zurück; frage GET /api/v1/jobs/queryTask?taskId=... regelmäßig ab oder übergib callBackUrl für das Endergebnis.
Unterstützte Ausgabe: feste Dauer von 2–30 Sekunden in nativen 480p, 720p oder 1080p, ohne Wasserzeichen. Automatische Dauer (duration: -1), 2K/4K-Ausgabe und eine benutzerdefinierte watermark-Einstellung werden nicht unterstützt. Laden Sie Referenzmedien zuerst hoch und verwenden Sie dann die zurückgegebene HTTPS-URL.
Text-zu-Video
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"inputs": {
"prompt": "A red paper boat glides across a calm pond at sunrise, locked camera, no text.",
"duration": "5s",
"outputResolution": "720p",
"ratio": "16:9",
"generateAudio": true,
"promptExtend": true,
"seed": 12345
}
}' \
https://seegen.ai/api/v1/jobs/createTaskBild-zu-Video (erstes Bild)
Laden Sie Wan-Medien per multipart POST /api/v1/assets/upload?model=wan3.0-video (oder Prime-Alias) hoch und verwenden Sie die zurückgegebene eigene HTTPS-url als Generierungseingabe. Die zurückgegebene assetId ist nur die ID des SeeGen-Mediendatensatzes und darf nicht als Generierungseingabe gesendet werden.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-F "file=@/path/to/first-frame.webp" \
"https://seegen.ai/api/v1/assets/upload?model=wan3.0-video"{
"assetId": 123,
"type": "IMAGE",
"status": "ACTIVE",
"url": "https://static.seegen.ai/materials/api/.../first-frame.webp"
}curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"inputs": {
"urls": ["https://static.seegen.ai/materials/api/.../first-frame.webp"],
"videoInputMode": "keyframe",
"prompt": "The subject looks toward the camera as morning mist drifts past.",
"duration": "5s",
"outputResolution": "1080p",
"generateAudio": true
}
}' \
https://seegen.ai/api/v1/jobs/createTaskErstes und letztes Bild
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"inputs": {
"urls": [
"https://static.seegen.ai/materials/api/.../first-frame.webp",
"https://static.seegen.ai/materials/api/.../last-frame.webp"
],
"videoInputMode": "keyframe",
"prompt": "A smooth continuous transition from sunrise to night.",
"duration": "8s",
"outputResolution": "720p"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskMehrere Referenzen (Bilder, Videos & Audio)
Setzen Sie videoInputMode: "reference" und übergeben Sie mindestens ein unterstütztes Medium über urls, videoUrls oder audioUrls; der Prompt ist optional. Verweisen Sie der Reihe nach mit Image1, Image2, Video1 oder Audio1 auf die Medien. Laden Sie jede Referenz zuerst über den Wan-Multipart-Endpunkt hoch und verwenden Sie die zurückgegebene eigene HTTPS-URL.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"inputs": {
"videoInputMode": "reference",
"urls": ["https://static.seegen.ai/materials/api/.../reference-image.webp"],
"videoUrls": ["https://static.seegen.ai/materials/api/.../source-video.mp4"],
"audioUrls": ["https://static.seegen.ai/materials/api/.../reference-audio.mp3"],
"prompt": "Use Image1 for identity, Video1 for motion, and Audio1 for timing.",
"duration": "10s",
"outputResolution": "720p",
"ratio": "16:9",
"generateAudio": true,
"promptExtend": true
}
}' \
https://seegen.ai/api/v1/jobs/createTaskVideobearbeitung
Lade zuerst das Quellvideo hoch und verwende mode: "edit" mit videoInputMode: "reference". Beschreibe im erforderlichen Prompt die Bearbeitung von Video1, dem ersten Video in videoUrls. Das Seitenverhältnis ist automatisch; die Ausgabedauer wählst du selbst. Die folgenden Referenzlimits und Preise gelten für Bearbeitung und Verlängerung.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"inputs": {
"mode": "edit",
"videoInputMode": "reference",
"videoUrls": ["https://static.seegen.ai/materials/api/.../source-video.mp4"],
"prompt": "Transform Video1 into clay animation, keeping the characters and camera movement.",
"duration": "5s",
"outputResolution": "720p",
"ratio": "adaptive"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskVideoverlängerung
Verwende mode: "extend" mit einem Quellvideo und einer Anweisung wie „Setze Video1 nach vorne fort“, gefolgt vom weiteren Geschehen. Setze ratio: "adaptive". Die gewählte duration ist die erzeugte Videolänge, nicht die Summe aus Quelle und Verlängerung. Videoerzeugung aus Dateien oder Webseiten wird nicht unterstützt.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"inputs": {
"mode": "extend",
"videoInputMode": "reference",
"videoUrls": ["https://static.seegen.ai/materials/api/.../source-video.mp4"],
"prompt": "Extend Video1 forward, continuing the motion of the character and keeping the scene consistent.",
"duration": "5s",
"outputResolution": "720p",
"ratio": "adaptive"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskReferenz für Wan-3.0-Parameter
Beide Wan-3.0-Modelle akzeptieren dieselben inputs-Felder. Wählen Sie eine Ausgabedauer von 2 bis 30 Sekunden in ganzen Sekundenschritten.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Nein | Videobeschreibung oder Anweisung. Maximal 20,000 Zeichen. Für Text-zu-Video, Bearbeitung und Verlängerung erforderlich; für Bild-zu-Video, Start-/Endbild und Mehrfachreferenzen optional. Bearbeitung und Verlängerung erfordern auch ein Video. Verwende Image1 / Video1 / Audio1 entsprechend der Referenzreihenfolge. |
| mode | string | Nein | Für normale Generierung weglassen oder "normal" verwenden. "edit" und "extend" erfordern ein Video und einen Anweisungs-Prompt. Beide verwenden den Referenzmodus, automatisches Seitenverhältnis und eine feste Ausgabedauer von 2–30 Sekunden. |
| urls | string[] | Nein | Eigene HTTPS-Bild-URLs, die vom Wan-Upload-Endpunkt zurückgegeben wurden. Bei Text-zu-Video weglassen; genau 1 erstes Bild, genau 2 erste/letzte Bilder oder im Referenzmodus bis zu 10 Referenzbilder übergeben. Fremde externe URLs und Referenzen des Seedance-Asset-Protokolls werden abgelehnt. |
| videoUrls | string[] | Nein | Bis zu 5 eigene HTTPS-Referenzvideo-URLs, die vom Wan-Upload-Endpunkt zurückgegeben wurden. Jeder Clip muss 1–15 s dauern, alle Referenzvideos zusammen höchstens 15 s und Referenzvideos plus Ausgabe höchstens 30 s. Fremde externe URLs und Referenzen des Seedance-Asset-Protokolls werden abgelehnt. |
| audioUrls | string[] | Nein | Bis zu 5 eigene HTTPS-Referenzaudio-URLs, die vom Wan-Upload-Endpunkt zurückgegeben wurden. WAV oder MP3; jeder Clip muss 1–15 s dauern und alle Referenzaudios zusammen höchstens 15 s. Fremde externe URLs und Referenzen des Seedance-Asset-Protokolls werden abgelehnt. |
| videoInputMode | string | Nein | Bei Text-zu-Video weglassen; für ein erstes Bild oder zwei erste/letzte Bilder "keyframe" verwenden; für gemischte Bild-/Video-/Audio-Referenzen "reference" verwenden. |
| duration | string | Nein | Ganzzahlige Sekundenangabe von "2s" bis "30s". Standard: "5s". |
| outputResolution | string | Nein | Native "480p", "720p" (Standard) oder "1080p". 2K/4K-Ausgabe wird nicht unterstützt. |
| ratio | string | Nein | "auto" oder "adaptive" (beide wählen automatische Bildanpassung), "16:9", "9:16", "1:1", "4:3" oder "3:4". Gilt für Text-zu-Video und Mehrfachreferenzen. Bearbeitung und Verlängerung verwenden immer Auto; Bild-zu-Video und Start-/Endbild folgen den Schlüsselbildern. |
| generateAudio | boolean | Nein | Generiert synchronisierte Sprache, Soundeffekte und Musik. Standard: true. Für eine stumme Ausgabe false setzen; die Preise bleiben unverändert. |
| promptExtend | boolean | Nein | Lässt das Modell den Prompt vor der Generierung erweitern. Standard: true. |
| seed | int | Nein | 0–2147483647. Verwende denselben Seed und dieselben Eingaben für einen möglichst ähnlichen neuen Versuch. |
Anforderungen an Referenzmedien
- Bilder: bis zu 10; JPEG/JPG/PNG (keine Transparenz)/BMP/WebP; jeweils ≤20 MB; jede Seite 240–8000 px; Seitenverhältnis bis zu 8:1
- Videos: bis zu 5 MP4-/MOV-Clips; jeweils ≤100 MB; jeweils 1–15 Sek., ≤15 Sek. Gesamteingabe und Eingabe + angeforderte Ausgabe ≤30 Sek.; jede Seite 240–4096 px; Seitenverhältnis bis zu 8:1
- Audio: bis zu 5 vom Wan-Upload-Endpunkt zurückgegebene WAV-/MP3-HTTPS-URLs; jeweils ≤15 MB; jeweils 1–15 Sek. und insgesamt ≤15 Sek.
- Der Modus für erstes/letztes Bild kann nicht mit Referenzbild-, Referenzvideo- oder Referenzaudio-Arrays kombiniert werden
Modell auswählen (Bild)
Bildmodelle nehmen einen Prompt (und optional Referenzbilder) entgegen und liefern ein Bild pro Task. Jede Anfrage wird pro Bild anhand der Stufe des gewählten Modells abgerechnet (oder zum Pauschalpreis bei Seedream Lite). Fehlgeschlagene Tasks werden automatisch erstattet. Es gibt keinen Batch-Parameter — um mehrere Varianten zu generieren, rufen Sie createTask einmal pro Bild auf.
| Modell | T2I | I2I (Bearbeiten) | Multi-Ref | Max. Auflösung | 2k / medium |
|---|---|---|---|---|---|
| gpt-image-2.5-flare | ✓ | ✓ | bis zu 10 | 4k | siehe Preise |
| gpt-image-2.5-sunburst | ✓ | ✓ | bis zu 10 | 4k | siehe Preise |
| gpt-image-2 | ✓ | ✓ | bis zu 10 | 4k | siehe Preise |
| nano-banana-2 | ✓ | ✓ | bis zu 10 | 4k | siehe Preise |
| nano-banana-pro | ✓ | ✓ | bis zu 10 | 4k | siehe Preise |
| seedream-v5.0-lite | ✓ | ✓ | bis zu 10 | 4k | Pauschalpreis |
| seedream-v5.0-pro | ✓ | ✓ | bis zu 10 | 2k | siehe Preise |
GPT Image 2.5 Flare / Sunburst
GPT Image 2.5 Flare ist auf schnelle Bildgenerierung und -bearbeitung ausgerichtet. Sunburst legt den Schwerpunkt auf detaillierte Bilder und präzise Änderungen. Beide arbeiten mit Text-Prompts und Referenzbildern.
Im Arbeitsbereich, Playground und über die API verfügbar. Beide Modelle unterstützen folgende Parameter: medium/high/xhigh/max-Qualität, 1K/2K/4K-Voreinstellungen und PNG/JPEG/WebP-Ausgabe. Die tatsächlichen Abmessungen können von der Voreinstellung abweichen. JPEG und WebP werden ohne Größenänderung aus dem erzeugten PNG konvertiert. Jede API-Aufgabe erzeugt ein Bild.
Text zu Bild
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"quality": "medium",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskBild zu Bild (Bearbeitung)
Übergeben Sie 1–10 Referenzbilder über urls. Das Modell verwendet sie als visuellen Kontext für die in prompt beschriebene Bearbeitung.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-sunburst",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"quality": "medium",
"resolution": "1k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskGPT Image 2.5-Parameterreferenz
Vollständige Referenz aller inputs-Parameter für das Modell gpt-image-2.5-flare.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Ja | Textbeschreibung des zu generierenden Bildes oder der anzuwendenden Bearbeitung, wenn urls angegeben ist. |
| urls | string[] | Nein | Referenzbild-URLs für den Image-to-Image-Modus (Bearbeitung) (1–10 Bilder). Weglassen für Text-to-Image. Öffentliche HTTPS-URLs werden akzeptiert. |
| quality | string | Nein | "medium" / "high" / "xhigh" / "max". Standard: "medium". Die Credits skalieren nach Stufe (siehe Preise). |
| resolution | string | Nein | "1k" / "2k" / "4k". Standard: "2k". Die Credits skalieren nach Stufe (siehe Preise). |
| aspectRatio | string | Nein | "1:1" / "16:9" / "9:16" / "4:3" / "3:4". Standard: "1:1". |
| outputFormat | string | Nein | "png" / "jpeg" / "webp". Standard: "png". |
Anforderungen an Eingabebilder (Image-to-Image-Modus)
- Bis zu 10 Referenzbilder pro Task
- Max. Dateigröße 50 MB pro Bild
- Kürzere Seite ≥ 256px
- Seitenverhältnis zwischen 1:3 und 3:1
- Formate: JPEG, JPG, PNG, WEBP
Die Credits pro Bild skalieren nach Auflösung und Qualität — die vollständige Tabelle finden Sie im Abschnitt Preise.
GPT Image 2
Das GPT Image 2-Modell von OpenAI für hochwertiges Text-to-Image und Image-to-Image-Bearbeitung. Ein einziger Workflow deckt beide Modi ab — übergeben Sie urls, um automatisch in den Bearbeitungsmodus zu wechseln. Die Ausgabe wird über R2 im von Ihnen angeforderten Format (PNG / JPEG / WEBP) geliefert. Modellname: gpt-image-2.
Text zu Bild
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"quality": "medium",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskBild zu Bild (Bearbeitung)
Übergeben Sie 1–10 Referenzbilder über urls. Das Modell verwendet sie als visuellen Kontext für die in prompt beschriebene Bearbeitung.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"quality": "medium",
"resolution": "1k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskGPT Image 2-Parameterreferenz
Vollständige Referenz aller inputs-Parameter für das Modell gpt-image-2.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Ja | Textbeschreibung des zu generierenden Bildes oder der anzuwendenden Bearbeitung, wenn urls angegeben ist. |
| urls | string[] | Nein | Referenzbild-URLs für den Image-to-Image-Modus (Bearbeitung) (1–10 Bilder). Weglassen für Text-to-Image. Öffentliche HTTPS-URLs werden akzeptiert. |
| quality | string | Nein | "medium" / "high". Standard: "medium". Die Credits skalieren nach Stufe (siehe Preise). |
| resolution | string | Nein | "1k" / "2k" / "4k". Standard: "2k". Die Credits skalieren nach Stufe (siehe Preise). |
| aspectRatio | string | Nein | "1:1" / "16:9" / "9:16" / "4:3" / "3:4". Standard: "1:1". |
| outputFormat | string | Nein | "png" / "jpeg" / "webp". Standard: "png". |
Anforderungen an Eingabebilder (Image-to-Image-Modus)
- Bis zu 10 Referenzbilder pro Task
- Max. Dateigröße 50 MB pro Bild
- Kürzere Seite ≥ 256px
- Seitenverhältnis zwischen 1:3 und 3:1
- Formate: JPEG, JPG, PNG, WEBP
Die Credits pro Bild skalieren nach Auflösung und Qualität — die vollständige Tabelle finden Sie im Abschnitt Preise.
Nano Banana 2
Nano Banana 2 ist ein hochauflösendes Bildmodell mit breiterer Seitenverhältnis-Abdeckung als gpt-image-2 — fügt Hoch-/Querformat-Voreinstellungen (3:2, 2:3, 4:5, 5:4) und filmisches 21:9 hinzu. Ein einziger Workflow deckt beide Modi ab — übergeben Sie urls, um automatisch in den Bearbeitungsmodus zu wechseln. Modellname: nano-banana-2.
Text zu Bild
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskBild zu Bild (Bearbeitung)
Übergeben Sie 1–10 Referenzbilder über urls. Das Modell verwendet sie als visuellen Kontext für die in prompt beschriebene Bearbeitung.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"resolution": "2k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskNano Banana 2-Parameterreferenz
Vollständige Referenz aller inputs-Parameter für das Modell nano-banana-2.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Ja | Textbeschreibung des zu generierenden Bildes oder der anzuwendenden Bearbeitung, wenn urls angegeben ist. |
| urls | string[] | Nein | Referenzbild-URLs für den Image-to-Image-Modus (Bearbeitung) (1–10 Bilder). Weglassen für Text-to-Image. Öffentliche HTTPS-URLs werden akzeptiert. |
| resolution | string | Nein | "1k" / "2k" / "4k". Standard: "2k". Die Credits skalieren nach Stufe (siehe Preise). |
| aspectRatio | string | Nein | "1:1" / "16:9" / "9:16" / "4:3" / "3:4" / "3:2" / "2:3" / "4:5" / "5:4" / "21:9". Standard: "1:1". |
Anforderungen an Eingabebilder (Image-to-Image-Modus)
- Bis zu 10 Referenzbilder pro Task
- Max. Dateigröße 50 MB pro Bild
- Kürzere Seite ≥ 256px
- Seitenverhältnis zwischen 1:3 und 3:1
- Formate: JPEG, JPG, PNG, WEBP
Die Credits pro Bild skalieren nach Auflösung — die vollständige Tabelle finden Sie im Abschnitt Preise.
Nano Banana Pro
Nano Banana Pro ist ein hochauflösendes Bildmodell mit breiterer Seitenverhältnis-Abdeckung als gpt-image-2 — fügt Hoch-/Querformat-Voreinstellungen (3:2, 2:3, 4:5, 5:4) und filmisches 21:9 hinzu. Ein einziger Workflow deckt beide Modi ab — übergeben Sie urls, um automatisch in den Bearbeitungsmodus zu wechseln. Modellname: nano-banana-pro.
Text zu Bild
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-pro",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskBild zu Bild (Bearbeitung)
Übergeben Sie 1–10 Referenzbilder über urls. Das Modell verwendet sie als visuellen Kontext für die in prompt beschriebene Bearbeitung.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-pro",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"resolution": "2k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskNano Banana Pro-Parameterreferenz
Vollständige Referenz aller inputs-Parameter für das Modell nano-banana-pro.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Ja | Textbeschreibung des zu generierenden Bildes oder der anzuwendenden Bearbeitung, wenn urls angegeben ist. |
| urls | string[] | Nein | Referenzbild-URLs für den Image-to-Image-Modus (Bearbeitung) (1–10 Bilder). Weglassen für Text-to-Image. Öffentliche HTTPS-URLs werden akzeptiert. |
| resolution | string | Nein | "1k" / "2k" / "4k". Standard: "2k". Die Credits skalieren nach Stufe (siehe Preise). |
| aspectRatio | string | Nein | "1:1" / "16:9" / "9:16" / "4:3" / "3:4" / "3:2" / "2:3" / "4:5" / "5:4" / "21:9". Standard: "1:1". |
Anforderungen an Eingabebilder (Image-to-Image-Modus)
- Bis zu 10 Referenzbilder pro Task
- Max. Dateigröße 50 MB pro Bild
- Kürzere Seite ≥ 256px
- Seitenverhältnis zwischen 1:3 und 3:1
- Formate: JPEG, JPG, PNG, WEBP
Die Credits pro Bild skalieren nach Auflösung — die vollständige Tabelle finden Sie im Abschnitt Preise.
Seedream 5.0 Lite
Schnelle Text-to-Image- und Image-to-Image-Generierung bei 2K oder 4K mit 15 Seitenverhältnissen. Modellname: seedream-v5.0-lite.
Text zu Bild
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-lite",
"inputs": {
"prompt": "A cinematic product photograph, soft studio light",
"resolution": "2k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskBild zu Bild (Bearbeitung)
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-lite",
"inputs": {
"prompt": "Restyle the references as a premium fashion campaign",
"urls": ["https://example.com/reference.png"],
"resolution": "4k",
"aspectRatio": "3:4"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskSeedream 5.0 Lite-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Ja | Bildbeschreibung oder Bearbeitungsanweisung. |
| urls | string[] | Nein | 1–10 öffentliche HTTPS-Referenzbild-URLs. Weglassen für Text-to-Image. |
| resolution | string | Nein | "2k" oder "4k". Standard: "2k". |
| aspectRatio | string | Nein | "1:1", "1:2", "2:1", "1:3", "3:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "9:21", oder "21:9". |
Seedream 5.0 Pro
Generierung und Bearbeitung in hoher Wiedergabetreue bei 1K oder 2K. Modellname: seedream-v5.0-pro.
Text zu Bild
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-pro",
"inputs": {
"prompt": "Editorial portrait with dramatic rim lighting",
"resolution": "2k",
"aspectRatio": "3:4"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskBild zu Bild (Bearbeitung)
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-pro",
"inputs": {
"prompt": "Turn the reference into a cinematic poster",
"urls": ["https://example.com/reference.png"],
"resolution": "2k",
"aspectRatio": "1:2"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskSeedream 5.0 Pro-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| prompt | string | Ja | Bildbeschreibung oder Bearbeitungsanweisung. |
| urls | string[] | Nein | 1–10 öffentliche HTTPS-Referenzbild-URLs. Weglassen für Text-to-Image. |
| resolution | string | Nein | "1k" oder "2k". Standard: "1k". 4k wird nicht unterstützt. |
| aspectRatio | string | Nein | "1:1", "1:2", "2:1", "1:3", "3:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "9:21", oder "21:9". |
Video-Upscaler
Task erstellen
POST /api/v1/upscale/create
# source.url accepts ANY https video URL — your own CDN, OR a file you first
# uploaded to us via /api/v1/assets/upload (pass the r2Url it returns). No need
# to declare which: we detect it. External URLs are validated; our own are trusted.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": { "type": "url", "url": "https://your-cdn.com/video.mp4" },
"targetResolution": "2k",
"callBackUrl": "https://your-server.com/webhook"
}' \
https://seegen.ai/api/v1/upscale/create| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| source.type | string | Ja | Verwenden Sie "url" für jede Quelle. ("uploadId" ist ein veralteter Alias, der aus Gründen der Abwärtskompatibilität beibehalten wird.) |
| source.url | string | Nein | Mit type="url". Beliebige https-Video-URL — Ihr eigenes CDN oder die von /api/v1/assets/upload zurückgegebene r2Url. Bei externen URLs werden http sowie private/interne IPs abgelehnt (SSRF-Schutz); URLs auf unserem eigenen Asset-Host überspringen diese Prüfung. |
| source.r2Url | string | Nein | Veraltet — nur mit type="uploadId" (Abwärtskompatibilität). Neue Integrationen sollten type="url" verwenden. |
| targetResolution | string | Ja | "720p", "1080p", "2k" oder "4k". Muss höher als die Quellauflösung sein. |
| callBackUrl | string | Nein | Webhook-URL, die einmal bei Erreichen des Endzustands aufgerufen wird (completed oder failed). |
Antwort auf Erstellung
{
"taskId": "n770mo4sh6rpi690ff3gwymx",
"orderId": "ord_2026...",
"status": "validating"
}Status abfragen
GET /api/v1/upscale/query?taskId=...
Der Status durchläuft validating → processing → completed / failed.
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/upscale/query?taskId=n770mo4sh6rpi690ff3gwymx"Antwort bei Abschluss
{
"taskId": "n770mo4sh6rpi690ff3gwymx",
"status": "completed",
"targetResolution": "2k",
"creditsConsumed": 900,
"result": {
"url": "https://static.seegen.ai/standalone-upscale/results/...mp4",
"probedDurationSeconds": 30,
"probedSourceResolution": "1280x720"
},
"error": null,
"createdAt": "2026-04-29T01:23:45.000Z",
"finishedAt": "2026-04-29T01:35:01.000Z"
}Antwort bei Fehlschlag
{
"taskId": "n770mo4sh6rpi690ff3gwymx",
"status": "failed",
"creditsConsumed": null,
"result": null,
"error": {
"code": "SOURCE_RESOLUTION_TOO_HIGH",
"message": "Source 3840x2160 is not below target 4k"
}
}Grenzwerte
- Quelle: https-URL oder Ihre zuvor hochgeladene R2-URL
- Dauer bis zu 600 s (Clips unter 5 s werden als 5 s abgerechnet)
- Dateigröße ≤ 200 MB
- Format: MP4 / MOV / WebM
- Die Quellauflösung muss niedriger als das Ziel sein
Preise
- 720P: 17 Credits/Sek. (5s = 85, 30s = 510)
- 1080P: 25 Credits/Sek. (5s = 125, 30s = 750)
- 2K: 38 Credits/Sek. (5s = 190, 30s = 1140)
- 4K: 50 Credits/Sek. (5s = 250, 30s = 1500)
- Minimum 5 Sekunden; bei Fehlschlägen werden Credits automatisch erstattet
Fehlercodes
Häufige Fehler, auf die Sie reagieren können. Andere Fehlschläge liefern ein selbsterklärendes Feld message — lesen Sie dieses, bevor Sie annehmen, dass der Code einer dieser hier ist.
| Code | Bedeutung |
|---|---|
| INVALID_URL | URL ist fehlerhaft oder nicht https |
| URL_NOT_REACHABLE | Die URL konnte nicht abgerufen werden — prüfen Sie, ob sie öffentlich und erreichbar ist |
| UNSUPPORTED_MEDIA_TYPE | Die Datei ist kein Video oder nicht im Format MP4 / MOV / WebM |
| FILE_TOO_LARGE | Die Quelle überschreitet 200 MB |
| DURATION_EXCEEDS_LIMIT | Die Quelle ist länger als 600 s |
| SOURCE_RESOLUTION_TOO_HIGH | Die Quelle liegt bereits auf oder über dem Ziel — wählen Sie ein höheres Ziel |
| INSUFFICIENT_CREDITS | Nicht genügend Credits — aufladen und erneut versuchen |
| ACCOUNT_FROZEN | Konto darf möglicherweise keine Credits ausgeben – bitte den Support kontaktieren |
Webhook-Callback
Statt zu pollen, können Sie eine callBackUrl angeben, um Ergebnisse automatisch zu erhalten, wenn ein Task abgeschlossen wird oder fehlschlägt.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"callBackUrl": "https://your-server.com/webhook/callback",
"inputs": {
"prompt": "A cat playing piano",
"duration": "5s"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskCallback-Payload
Wenn der Task abgeschlossen ist, senden wir eine POST-Anfrage an Ihre URL im selben Format wie die queryTask-Antwort:
// POST to your callBackUrl
{
"taskId": "task_abc123",
"model": "sd2",
"status": "COMPLETED",
"creditsUsed": 200,
"output": [
{
"url": "https://static.seegen.ai/videos/result.mp4",
"width": 1280,
"height": 720
}
],
"error": null,
"createTime": 1711234567890,
"completeTime": 1711234612345
}Wiederholungsrichtlinie: Wenn Ihr Endpunkt einen Status außerhalb von 2xx zurückgibt, wiederholen wir bis zu 3 Mal mit zunehmenden Verzögerungen (1s, 5s, 30s).
Antwortformat
createTask-Antwort
// 200 OK
{ "taskId": "task_abc123" }queryTask-Antwort
{
"taskId": "task_abc123",
"model": "sd2",
"status": "COMPLETED", // "PENDING" | "PROCESSING" | "COMPLETED" | "FAILED"
"creditsUsed": 200,
"output": [ // null when status is not "COMPLETED"
{
"url": "https://static.seegen.ai/videos/result.mp4",
"width": 1280,
"height": 720
}
],
"error": null, // error message when status is "FAILED"
"createTime": 1711234567890,
"completeTime": 1711234612345
}credits-Antwort
{
"credits": 5000,
"availableCredits": 4800
}Fehlerbehandlung
| Statuscode | Bedeutung | Maßnahme |
|---|---|---|
| 400 | Ungültige Parameter | Prüfen Sie die Fehlermeldung und korrigieren Sie Ihre Anfrage |
| 401 | Ungültiger oder fehlender API-Schlüssel | Prüfen Sie das Format Ihres Authorization-Headers |
| 402 | Nicht genügend Credits | Öffnen Sie Credits, um Guthaben zu kaufen oder die automatische Aufladung zu aktivieren, und wiederholen Sie dann die Anfrage |
| 403 | Zugriff verweigert | Sie können nur Ihre eigenen Tasks abfragen |
| 404 | Task nicht gefunden | Überprüfen Sie, ob die taskId korrekt ist |
| 500 | Interner Serverfehler | Nach ein paar Sekunden erneut versuchen |
Vorab-Validierung (400 mit Code)
Seedance- und Wan-3.0-Anfragen werden vor der Belastung von Credits anhand der SeeGen-Produktregeln geprüft. Bei einem Fehler gibt createTask HTTP 400 mit { "message": "...", "code": "..." } zurück; Wan-Fehler können zusätzlich einen path enthalten. Es wird kein Task erstellt oder berechnet.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| EMPTY_CONTENT | code | Nein | Weder ein Prompt noch ein Referenzbild / -video / -audio. |
| AUDIO_ONLY_NOT_SUPPORTED | code | Nein | Audio ist die einzige Referenz bei sd2 / sd2-fast / sd2-mini. Fügen Sie ein Bild oder Video hinzu, oder verwenden Sie sd2.5 (reine Audio-Eingabe wird unterstützt). |
| UNSUPPORTED_MODEL | code | Nein | Der Modellalias wird nicht unterstützt. Für Wan 3.0 verwende genau "wan3.0-video-prime" oder "wan3.0-video". |
| UNSUPPORTED_RESOLUTION | code | Nein | Die ausgewählte Ausgabestufe ist nicht verfügbar. Der Start von Wan 3.0 unterstützt nativ nur 480p / 720p / 1080p; 2K/4K und upscaleResolution werden abgelehnt. |
| DURATION_OUT_OF_RANGE | code | Nein | duration ist keine Ganzzahl innerhalb des Modellbereichs (Wan 3.0 „2s“–„30s“, sd2-Familie „4s“–„15s“, sd2.5 „4s“–„30s“). Die intelligente Dauer von Wan (-1) wird nicht bereitgestellt. |
| INVALID_MEDIA_COMBINATION | code | Nein | Die Medien entsprechen nicht dem ausgewählten Modus (z. B. falsche Anzahl an Keyframes, Medien bei Text-zu-Video, keine Medien bei mehreren Referenzen oder eine Mischung aus Keyframe- und Referenzeingaben). |
| EDIT_SOURCE_VIDEO_REQUIRED / EXTEND_SOURCE_VIDEO_REQUIRED | code | Nein | mode "edit" / "extend" wurde ohne Video in videoUrls angefordert. |
| EDIT_SOURCE_DURATION_INVALID | code | Nein | sd2.5 Video Edit: Ein Video in der Anfrage ist kürzer als 4s oder länger als 30s (ARK wendet 4–30s auf jedes Video eines Edit-Tasks an). |
| TOO_MANY_REFERENCES | code | Nein | Mehr Referenzbilder / -videos / Audioclips als vom Modell akzeptiert (Wan 3.0 10 / 5 / 5, sd2-Familie 9 / 3 / 3, sd2.5 30 / 10 / 10; höchstens 3 Videos). |
| REFERENCE_VIDEO_DURATION_INVALID | code | Nein | Ein Referenzvideo überschreitet die Begrenzung pro Clip, die kombinierte Referenzvideoeingabe überschreitet die Modellbegrenzung oder die Kombination aus Eingabe und Ausgabe ist ungültig. Für Wan 3.0 gilt: jeder Clip 1–15s, gesamte Eingabe ≤15s und Eingabe + angeforderte Ausgabe ≤30s (15+15 ist gültig; 15+16 wird abgelehnt). |
| REFERENCE_AUDIO_DURATION_INVALID | code | Nein | Eine bekannte Dauer eines Wan-3.0-Referenzaudios liegt außerhalb von 1–15 s oder lässt die gesamte Referenzaudio-Eingabe 15 s überschreiten. |
| REFERENCE_IMAGE_INVALID | code | Nein | Ein Wan-3.0-Bild fehlt, gehört einem anderen Benutzer, hat den falschen Medientyp oder verletzt eine bekannte Anforderung an Größe, Format, Abmessungen, Seitenverhältnis oder fehlende Transparenz. |
| REFERENCE_VIDEO_INVALID | code | Nein | Ein für Wan 3.0 hochgeladenes Video verletzt die Anforderungen an Größe, MP4/MOV-Format, Abmessungen oder Seitenverhältnis. |
| REFERENCE_AUDIO_INVALID | code | Nein | Eine für Wan 3.0 hochgeladene Audiodatei verletzt die Anforderungen an Größe oder WAV/MP3-Format. |
| ASSET_NOT_FOUND / EXTERNAL_URL / READ_TIMEOUT / READ_FAILED | code | Nein | Ein videoUrls-Eintrag konnte keinem Ihrer hochgeladenen Assets zugeordnet werden, oder seine Dauer konnte nicht gelesen werden. |
Vollständige Beispiele
Vollständiger Workflow: Laden Sie ein Asset hoch, warten Sie auf die Prüfung, erstellen Sie einen Task mit dem freigegebenen Asset und fragen Sie das Ergebnis ab.
const API_KEY = process.env.API_KEY;
const BASE = "https://seegen.ai/api/v1";
const headers = {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
};
// 1. Upload asset and wait for review
// (To upload a LOCAL file instead of a URL, POST multipart/form-data with a "file"
// field — no Content-Type header, no "type" — see the Upload Asset section above.)
async function uploadAndWaitForAsset(url, type = "IMAGE") {
const res = await fetch(`${BASE}/assets/upload`, {
method: "POST",
headers,
body: JSON.stringify({ url, type }),
});
if (!res.ok) throw new Error(`Upload failed: ${(await res.json()).message}`);
const asset = await res.json();
console.log(`Asset uploaded: ${asset.assetId}, status: ${asset.status}`);
// Poll until review completes
while (true) {
const statusRes = await fetch(
`${BASE}/assets/status?assetId=${asset.assetId}`,
{ headers }
);
const status = await statusRes.json();
if (status.status === "ACTIVE") {
console.log(`Asset approved: asset://${status.volcAssetId}`);
return status.volcAssetId;
}
if (status.status === "FAILED") {
throw new Error(`Asset review failed: ${status.failReason}`);
}
await new Promise((r) => setTimeout(r, 3000));
}
}
// 2. Create a task
async function createTask(inputs, callBackUrl) {
const res = await fetch(`${BASE}/jobs/createTask`, {
method: "POST",
headers,
body: JSON.stringify({
model: "sd2",
inputs,
...(callBackUrl && { callBackUrl }),
}),
});
if (!res.ok) throw new Error(`[${res.status}] ${(await res.json()).message}`);
return res.json();
}
// 3. Poll until done
async function waitForResult(taskId, timeoutMs = 300000) {
const start = Date.now();
while (Date.now() - start < timeoutMs) {
const res = await fetch(
`${BASE}/jobs/queryTask?taskId=${taskId}`,
{ headers }
);
const result = await res.json();
if (result.status === "COMPLETED") return result;
if (result.status === "FAILED") throw new Error(result.error);
await new Promise((r) => setTimeout(r, 5000));
}
throw new Error("Timeout waiting for task");
}
// Full workflow: upload → review → generate → result
async function main() {
// Upload image and wait for review
const volcAssetId = await uploadAndWaitForAsset(
"https://example.com/photo.jpg", "IMAGE"
);
// Create task with approved asset
const { taskId } = await createTask({
urls: [`asset://${volcAssetId}`],
prompt: "The person slowly looks up and smiles",
duration: "5s",
});
console.log(`Task: ${taskId}`);
// Wait for video
const result = await waitForResult(taskId);
console.log(`Video: ${result.output[0].url}`);
}
main().catch(console.error);Benötigen Sie Hilfe? Treten Sie unserem Discord bei oder kontaktieren Sie uns