Kontrak Tugas Publik
Respon pembuatan dapat mencakup:/v1/tasks/{id} adalah endpoint status tetap kanonik untuk pekerjaan media asinkron publik. Rute status spesifik media mungkin ada untuk kompatibilitas, tetapi integrasi baru harus lebih memilih poll_url atau /v1/tasks/{id}.
Alur yang Direkomendasikan
- Validasi permintaan pengguna dan kirim panggilan pembuatan dengan
modelyang eksplisit. - Simpan
id/task_id,poll_url, endpoint, model, ID pengguna, dan ID pekerjaan Anda sendiri sebelum mengembalikan kontrol ke UI. - Lakukan polling setiap
5-10suntuk tugas media yang berjalan lama. - Hentikan hanya ketika tugas sudah
completedataufailed. - Pada
completed, baca bidang hasil spesifik media dan simpan URL atau metadata akhir. - Pada
failed, simpan kesalahan publik dan tawarkan pengulangan hanya sebagai pekerjaan baru yang terlihat oleh pengguna.
Contoh Polling
pending, processing, completed, dan failed. Tugas yang dibatalkan diwakili sebagai failed dengan cancelled: true dan cancellation_status: "cancelled" sehingga penanganan status yang lebih lama tetap berfungsi.
Aturan Pengulangan Klien
Timeout jaringan adalah sumber paling umum dari pekerjaan duplikat. Gunakan aturan ini:
Jangan kirim permintaan pembuatan kedua hanya karena browser diperbarui atau polling status gagal.
Penagihan dan Penyelesaian
Pekerjaan asinkron dapat memesan jumlah yang diperkirakan ketika permintaan pembuatan diterima. Penyelesaian akhir terjadi setelah status terminal. Ketika tersedia, respon status tugas dapat mengeksposbilling_transaction_id dan header X-Billing-Transaction-ID.
Untuk rekonsiliasi, gabungkan pengidentifikasi ini di log Anda:
request_iddari permintaan pembuatan.task_id/iddari tugas.billing_transaction_idjika ada.- ID pengguna Anda sendiri, ID proyek, atau ID pekerjaan.
Pembatalan
DELETE /v1/tasks/{id} sengaja dibatasi. Ketika task yang dipilih mendukung pembatalan, endpoint ini berlaku untuk task video Seedance yang antre seperti seedance-1.5-pro, seedance-2.0, dan seedance-2.0-fast.
Tugas yang tidak didukung mengembalikan 400 unsupported_task_cancel. Tugas yang sudah berjalan atau terminal mengembalikan 409 task_not_cancellable. Bangun UI pembatalan sebagai “permintaan pembatalan” daripada tombol berhenti yang dijamin.
Pemecahan Masalah
Paket Dukungan
Saat menghubungi dukungan, sertakanrequest_id, task_id, billing_transaction_id jika ada, endpoint, model, timestamp, dan bentuk permintaan yang telah disanitasi. Jangan sertakan kunci API, media pribadi, URL yang ditandatangani, atau prompt lengkap kecuali dukungan meminta contoh yang disunting.