Öffentlicher Aufgabenvertrag
Erstellungsantworten können Folgendes enthalten:/v1/tasks/{id} ist der kanonische feste Statusendpunkt für öffentliche asynchrone Medienjobs. Medien-spezifische Statusrouten können zur Kompatibilität existieren, aber neue Integrationen sollten poll_url oder /v1/tasks/{id} bevorzugen.
Empfohlener Ablauf
- Validieren Sie die Benutzeranfrage und senden Sie den Erstellungsaufruf mit einem expliziten
model. - Speichern Sie
id/task_id,poll_url, Endpunkt, Modell, Benutzer-ID und Ihre eigene Job-ID, bevor Sie die Kontrolle an die UI zurückgeben. - Fragen Sie alle
5-10sfür lang laufende Medienaufgaben ab. - Stoppen Sie nur, wenn die Aufgabe
completedoderfailedist. - Bei
completedlesen Sie die medien-spezifischen Ergebnisfelder und speichern Sie endgültige URLs oder Metadaten. - Bei
failedspeichern Sie den öffentlichen Fehler und bieten Sie einen erneuten Versuch nur als neuen benutzer-sichtbaren Job an.
Abfragebeispiel
pending, processing, completed und failed. Abgebrochene Aufgaben werden als failed mit cancelled: true und cancellation_status: "cancelled" dargestellt, damit die ältere Statusverarbeitung weiterhin funktioniert.
Client-Wiederholungsregeln
Netzwerkzeitüberschreitungen sind die häufigste Quelle für doppelte Jobs. Verwenden Sie diese Regel:
Senden Sie keine zweite Erstellungsanfrage nur, weil der Browser aktualisiert wurde oder eine Statusabfrage fehlgeschlagen ist.
Abrechnung und Abwicklung
Asynchrone Jobs können einen geschätzten Betrag reservieren, wenn die Erstellungsanfrage akzeptiert wird. Die endgültige Abwicklung erfolgt nach terminalem Status. Wenn verfügbar, können die Antworten zum Aufgabenstatusbilling_transaction_id und den Header X-Billing-Transaction-ID offenbaren.
Für die Versöhnung verbinden Sie diese Identifikatoren in Ihren Protokollen:
request_idaus der Erstellungsanfrage.task_id/idaus der Aufgabe.billing_transaction_id, wenn vorhanden.- Ihre eigene Benutzer-ID, Projekt-ID oder Job-ID.
Stornierung
DELETE /v1/tasks/{id} ist absichtlich eng gefasst. Wenn der ausgewählte Task Abbruch unterstützt, gilt es für wartende Seedance-Video-Tasks wie seedance-1.5-pro, seedance-2.0 und seedance-2.0-fast.
Nicht unterstützte Aufgaben geben 400 unsupported_task_cancel zurück. Aufgaben, die bereits laufen oder terminal sind, geben 409 task_not_cancellable zurück. Erstellen Sie die Stornierungs-UI als “Stornierung anfordern” anstatt als garantierten Stopp-Button.
Fehlersuche
Support-Paket
Wenn Sie den Support kontaktieren, fügen Sierequest_id, task_id, billing_transaction_id (wenn vorhanden), Endpunkt, Modell, Zeitstempel und eine bereinigte Anfrageform hinzu. Fügen Sie keine API-Schlüssel, privaten Medien, signierten URLs oder vollständigen Eingabeaufforderungen hinzu, es sei denn, der Support fordert ein redigiertes Beispiel an.