CometAPI에서 GET /v1/videos/로 id를 기준으로 Seedance 비디오 작업을 폴링합니다. Seedance 1.0 Pro, 1.5 Pro, 2.0 작업에서 작동합니다. 현재 상태, 진행률, 그리고 작업이 SUCCESS에 도달한 후의 서명된 video_url을 반환합니다.
curl https://api.cometapi.com/v1/videos/<TASK_ID> \
-H "Authorization: Bearer <COMETAPI_KEY>"
id는 어떤 Seedance 모델이 작업을 생성했는지와 관계없이 생성 호출에서 반환된 값입니다.
SUBMITTED와 IN_PROGRESS는 비종료 상태이며, SUCCESS, FAILED, ERROR는 종료 상태로 작업이 더 이상 진행되지 않습니다.
| Status | Meaning | Terminal |
|---|---|---|
SUBMITTED | 수락되어 렌더링 대기열에 들어간 상태입니다. | 아니요 |
IN_PROGRESS | 렌더링이 진행 중입니다. | 아니요 |
SUCCESS | 완료되었습니다. 응답에 video_url이 포함됩니다. | 예 |
FAILED | 제공자가 작업을 거부했습니다. | 예 |
ERROR | 내부 오류로 인해 완료되지 못했습니다. | 예 |
import time
import requests
TASK_ID = "<TASK_ID>"
headers = {"Authorization": "Bearer <COMETAPI_KEY>"}
TERMINAL = {"SUCCESS", "FAILED", "ERROR"}
while True:
response = requests.get(
f"https://api.cometapi.com/v1/videos/{TASK_ID}",
headers=headers,
timeout=15,
)
response.raise_for_status()
data = response.json()
if data["status"] in TERMINAL:
print(data.get("video_url"))
break
time.sleep(10)
status — 폴링 루프를 중단할지 결정하는 기준입니다.progress — UI에 표시할 수 있는 0~100 범위의 정수입니다.video_url — 서명된 다운로드 URL이며, SUCCESS일 때만 존재합니다. 서명에는 시간 제한이 있으므로 만료되기 전에 파일을 다운로드하거나 다시 호스팅하세요.completed_at — 작업이 종료 상태에 도달하면 채워지는 Unix 타임스탬프입니다.model — 작업 생성 시 사용된 Seedance model id를 그대로 반환합니다.400에서 message: "task_not_exist"는 id를 알 수 없다는 의미입니다. POST /v1/videos의 성공적인 응답에서 id를 올바르게 가져왔는지, 그리고 그대로 사용하고 있는지 확인하세요.401는 bearer token이 없거나 유효하지 않다는 의미입니다. 요청 헤더가 Authorization: Bearer <COMETAPI_KEY>인지 확인하세요.Bearer token authentication. Use your CometAPI key.
Task id returned by POST /v1/videos.
Current task state.
Task id.
Object type, always video.
Model id that generated the task.
Task status. SUBMITTED and IN_PROGRESS are non-terminal. SUCCESS, FAILED, and ERROR are terminal.
SUBMITTED, IN_PROGRESS, SUCCESS, FAILED, ERROR Completion percentage.
0 <= x <= 100Task creation time as a Unix timestamp in seconds.
Signed download URL for the finished video. Present only when status is SUCCESS. The signature is time-limited, so download or re-upload the file to your own storage soon after you receive it.
Task completion time as a Unix timestamp in seconds. null while the task is non-terminal.
curl https://api.cometapi.com/v1/videos/<TASK_ID> \
-H "Authorization: Bearer <COMETAPI_KEY>"