Skip to main content
많은 미디어 엔드포인트는 비동기입니다. 생성 요청은 작업을 시작하고 공개 TokenLab 작업 ID를 반환합니다. 애플리케이션은 해당 작업이 최종 상태에 도달할 때까지 폴링합니다. 고객 워크플로우를 업스트림 작업 URL, 라우팅 ID 또는 공급자 콜백 동작을 기반으로 구축하지 마십시오.

공개 작업 계약

생성 응답에는 다음이 포함될 수 있습니다: /v1/tasks/{id}는 공개 비동기 미디어 작업에 대한 표준 고정 상태 엔드포인트입니다. 호환성을 위해 미디어 특정 상태 경로가 존재할 수 있지만, 새로운 통합은 poll_url 또는 /v1/tasks/{id}를 선호해야 합니다.

권장 흐름

  1. 사용자 요청을 검증하고 명시적인 model과 함께 생성 호출을 보냅니다.
  2. UI에 제어를 반환하기 전에 id / task_id, poll_url, 엔드포인트, 모델, 사용자 ID 및 자신의 작업 ID를 저장합니다.
  3. 장기 실행 미디어 작업에 대해 매 5-10초마다 폴링합니다.
  4. 작업이 completed 또는 failed일 때만 중지합니다.
  5. completed 시, 미디어 특정 결과 필드를 읽고 최종 URL 또는 메타데이터를 저장합니다.
  6. failed 시, 공개 오류를 저장하고 새 사용자 가시 작업으로만 재시도를 제공합니다.

폴링 예제

예상되는 공개 상태는 pending, processing, completed, 및 failed입니다. 취소된 작업은 failed로 표시되며 cancelled: truecancellation_status: "cancelled"로 나타나므로 이전 상태 처리가 계속 작동합니다.

클라이언트 재시도 규칙

네트워크 타임아웃은 중복 작업의 가장 일반적인 원인입니다. 이 규칙을 사용하십시오: 브라우저가 새로 고쳐지거나 상태 폴링이 실패했다고 해서 두 번째 생성 요청을 보내지 마십시오.

청구 및 정산

비동기 작업은 생성 요청이 수락될 때 예상 금액을 예약할 수 있습니다. 최종 정산은 최종 상태 이후에 발생합니다. 사용 가능한 경우, 작업 상태 응답은 billing_transaction_idX-Billing-Transaction-ID 헤더를 노출할 수 있습니다. 조정을 위해, 로그에서 다음 식별자를 결합하십시오:
  • 생성 요청의 request_id.
  • 작업의 task_id / id.
  • 존재할 경우 billing_transaction_id.
  • 자신의 사용자 ID, 프로젝트 ID 또는 작업 ID.

취소

DELETE /v1/tasks/{id}는 의도적으로 범위가 좁습니다. 선택된 작업에서 취소를 사용할 수 있는 경우 seedance-1.5-pro, seedance-2.0, seedance-2.0-fast 같은 대기 중인 Seedance 동영상 작업을 지원합니다. 지원되지 않는 작업은 400 unsupported_task_cancel을 반환합니다. 이미 실행 중이거나 최종 상태인 작업은 409 task_not_cancellable을 반환합니다. 취소 UI를 “취소 요청”으로 구축하고 보장된 중지 버튼으로 만들지 마십시오.

문제 해결

지원 패킷

지원에 연락할 때는 request_id, task_id, 존재할 경우 billing_transaction_id, 엔드포인트, 모델, 타임스탬프 및 정리된 요청 형식을 포함하십시오. 지원에서 수정된 샘플을 요청하지 않는 한 API 키, 개인 미디어, 서명된 URL 또는 전체 프롬프트를 포함하지 마십시오.

API 참조