Contrat de Tâche Publique
Les réponses de création peuvent inclure :/v1/tasks/{id} est le point de terminaison d’état fixe canonique pour les travaux médias asynchrones publics. Des routes d’état spécifiques aux médias peuvent exister pour la compatibilité, mais les nouvelles intégrations devraient préférer poll_url ou /v1/tasks/{id}.
Flux Recommandé
- Validez la demande de l’utilisateur et envoyez l’appel de création avec un
modelexplicite. - Persistez
id/task_id,poll_url, point de terminaison, modèle, ID utilisateur et votre propre ID de travail avant de rendre le contrôle à l’UI. - Interrogez toutes les
5-10spour les tâches médias de longue durée. - Arrêtez-vous uniquement lorsque la tâche est
completedoufailed. - Sur
completed, lisez les champs de résultat spécifiques aux médias et stockez les URL finales ou les métadonnées. - Sur
failed, stockez l’erreur publique et proposez une nouvelle tentative uniquement en tant que nouveau travail visible par l’utilisateur.
Exemple de Polling
pending, processing, completed, et failed. Les tâches annulées sont représentées comme failed avec cancelled: true et cancellation_status: "cancelled" afin que le traitement des anciens états continue de fonctionner.
Règles de Réessai Client
Les délais d’attente réseau sont la source la plus courante de travaux en double. Utilisez cette règle :
Ne pas envoyer une seconde requête de création simplement parce que le navigateur a été rafraîchi ou qu’un polling de statut a échoué.
Facturation Et Règlement
Les travaux asynchrones peuvent réserver un montant estimé lorsque la requête de création est acceptée. Le règlement final se produit après l’état terminal. Lorsque disponible, les réponses d’état de tâche peuvent exposerbilling_transaction_id et l’en-tête X-Billing-Transaction-ID.
Pour la réconciliation, joignez ces identifiants dans vos journaux :
request_idde la requête de création.task_id/idde la tâche.billing_transaction_idlorsqu’il est présent.- Votre propre ID utilisateur, ID de projet ou ID de travail.
Annulation
DELETE /v1/tasks/{id} est intentionnellement limité. Lorsque la tâche sélectionnée prend en charge l’annulation, il s’applique aux tâches vidéo Seedance en file d’attente comme seedance-1.5-pro, seedance-2.0 et seedance-2.0-fast.
Les tâches non prises en charge renvoient 400 unsupported_task_cancel. Les tâches qui sont déjà en cours d’exécution ou terminales renvoient 409 task_not_cancellable. Construisez l’interface utilisateur d’annulation comme “demander l’annulation” plutôt qu’un bouton d’arrêt garanti.
Dépannage
Paquet de Support
Lorsque vous contactez le support, incluezrequest_id, task_id, billing_transaction_id lorsqu’il est présent, point de terminaison, modèle, horodatage, et une forme de requête assainie. N’incluez pas de clés API, de médias privés, d’URLs signées, ou de prompts complets à moins que le support ne demande un échantillon expurgé.