Skip to content
API Reference · 비디오 생성 API

비디오 생성 API

비동기 비디오 생성 — 작업 생성·조회·목록·취소. 텍스트→비디오, 이미지→비디오 지원.


개요

비디오 생성은 비동기 작업입니다: POST /videos/generations 호출 시 작업 ID가 즉시 반환되며, GET /videos/generations/{id}statuscompleted가 될 때까지 폴링한 후 video_url로 결과를 다운로드합니다.

지원 모델: seedance-1.5-pro, seedance-2.0 등. 최신 목록은 GET /videos/models로 가져오세요. 전체 스키마와 제약은 대화형 API 문서를 참조하세요.

  • GET https://api.alltoken.ai/v1/videos/models — 사용 가능한 비디오 모델 목록
  • POST https://api.alltoken.ai/v1/videos/generations — 생성 작업 생성
  • GET https://api.alltoken.ai/v1/videos/generations/{id} — 작업 상태 조회
  • GET https://api.alltoken.ai/v1/videos/generations — 작업 목록
  • POST https://api.alltoken.ai/v1/videos/generations/{id}/cancel — 작업 취소

비디오 모델 목록

GET
$GET https://api.alltoken.ai/v1/videos/models

사용 가능한 모든 비디오 생성 모델을 OpenAI 호환 형식으로 반환합니다.

응답 JSON
1{
2 "object": "list",
3 "data": [
4 { "id": "seedance-1.5-pro", "object": "model", "owned_by": "chat" },
5 { "id": "seedance-2.0", "object": "model", "owned_by": "chat" }
6 ]
7}

작업 생성

POST
$POST https://api.alltoken.ai/v1/videos/generations

텍스트→비디오:

요청 본문 JSON
1{
2 "model": "seedance-1.5-pro",
3 "prompt": "A cat surfing on a rainbow",
4 "duration": 5,
5 "ratio": "16:9",
6 "resolution": "720p"
7}

이미지→비디오 (첫 프레임 가이드):

요청 본문 JSON
1{
2 "model": "seedance-1.5-pro",
3 "prompt": "The cat jumps forward",
4 "content": [
5 {
6 "type": "image_url",
7 "image_url": { "url": "https://example.com/cat.png" },
8 "role": "first_frame"
9 }
10 ],
11 "duration": 5
12}

응답 (작업 생성됨, 상태 queued):

응답 JSON
1{
2 "id": "vgen_01abc",
3 "status": "queued",
4 "model": "seedance-1.5-pro",
5 "input_type": "text",
6 "ratio": "16:9",
7 "resolution": "720p",
8 "duration": 5,
9 "created_at": "2026-04-27T10:00:00Z"
10}

요청 매개변수

  • model (필수) — 비디오 모델 ID (예: "seedance-1.5-pro")
  • prompt (필수) — 비디오 내용 설명 텍스트
  • content — 멀티모달 입력 배열 (이미지→비디오, 비디오 참조용). 각 항목은 type (image_url / video_url / audio_url / draft_task)과 role (first_frame / last_frame / reference_image / reference_video / reference_audio)을 포함
  • ratio — 화면 비율: 16:9 / 9:16 / 4:3 / 3:4 / 21:9 / 1:1 / adaptive
  • duration — 비디오 길이(초). -1은 모델이 자동 결정
  • resolution480p / 720p / 1080p
  • frames — 프레임 수 (duration보다 우선)
  • generate_audio — 오디오 동시 생성 여부
  • input_has_video - Set when the input content includes a video reference
  • seed — 난수 시드 (재현용)
  • camera_fixed — 카메라 고정 여부
  • watermark — 워터마크 추가 여부 (기본 false)
  • callback_url — 작업 완료 시 호출되는 URL
  • return_last_frame — 마지막 프레임 URL 반환 여부 (이어쓰기용)
  • service_tierdefault / flex
  • execution_expires_after — 실행 만료 시간(초), 3600-259200
  • draft — 지원 모델에서 초안 작업 생성 또는 사용
  • toolsweb_search 같은 선택적 도구 설정
  • safety_identifier — 선택적 고정 안전 식별자, 최대 64자

작업 상태 조회

GET
$GET https://api.alltoken.ai/v1/videos/generations/{id}

작업 상세를 반환합니다. statuscompleted가 되면 video_url로 비디오를 다운로드할 수 있습니다.

응답 JSON
1{
2 "id": "vgen_01abc",
3 "status": "completed",
4 "model": "seedance-1.5-pro",
5 "video_url": "https://cdn.example.com/videos/vgen_01abc.mp4",
6 "video_url_expires_at": "2026-04-27T11:00:00Z",
7 "video_url_ttl": 3600,
8 "duration": 5,
9 "fps": 24,
10 "resolution": "720p",
11 "ratio": "16:9",
12 "usage": {
13 "completion_tokens": 256,
14 "total_tokens": 256
15 },
16 "created_at": "2026-04-27T10:00:00Z",
17 "completed_at": "2026-04-27T10:01:32Z"
18}

video_url은 사전 서명된 URL이며, video_url_ttl 초 후 만료됩니다. 만료 후에는 본 엔드포인트를 다시 호출하여 새 URL을 받을 수 있습니다.

작업 상태 값

  • queued — 큐 대기 중, GPU 리소스 대기
  • processing — 모델이 생성 중
  • completed — 완료, video_url 사용 가능
  • failed — 생성 실패, 상세는 error 필드
  • expiredvideo_url이 만료되어 갱신되지 않음
  • cancelled — 사용자가 취소

권장 폴링 간격: 2-5초. 대부분의 작업은 30-120초 내 완료되며, 고해상도 작업은 3-5분이 걸릴 수 있습니다.

작업 목록

GET
$GET https://api.alltoken.ai/v1/videos/generations?limit=20&status=completed

현재 사용자의 비디오 생성 작업을 페이지네이션으로 나열합니다. 쿼리 매개변수:

  • limit — 페이지 크기 (기본 20, 최대 100)
  • status — 상태로 필터링 (queued / processing / completed / failed / expired / cancelled)

작업 취소

POST
$POST https://api.alltoken.ai/v1/videos/generations/{id}/cancel

아직 완료되지 않은 작업 (queued 또는 processing만)을 취소합니다. 이미 completed / cancelled 상태인 작업은 409 Conflict를 반환합니다.

오류 응답

  • 400 — 잘못된 요청 (예: prompt 비어있음, ratio 잘못됨)
  • 401 — API Key가 잘못되었거나 누락
  • 402 — 잔액 부족
  • 404 — 작업 ID를 찾을 수 없음
  • 409 — 작업 상태가 이 동작을 허용하지 않음 (예: 완료된 작업 취소)
  • 429 — 속도 제한 초과