Skip to main content
POST
Create a Seedance 2.0 video generation task
오른쪽의 플레이그라운드를 사용합니다. AuthorizationBearer sk-your-api-key로 설정하고(Token에는 2.5 및 2.0 제품군에서 공유하는 SeeDance2 그룹이 필요합니다), model / content을 입력한 후 전송합니다. 성공적으로 제출하면 작업 id이 반환됩니다. 폴링 및 다운로드 흐름은 아래 코드 샘플에서 다룹니다.
플레이그라운드에서 ‘응답을 받지 못함’ 오류가 표시되는 경우: 이 엔드포인트는 비동기 작업 엔드포인트이므로 브라우저에서 전송을 클릭하면 해당 메시지가 표시될 수 있습니다. 브라우저의 교차 출처 안전성 검사가 응답을 차단한 것이며, 작업은 실제로 성공적으로 제출된 상태입니다(아래 쿼리 엔드포인트 또는 콘솔 로그를 통해 확인할 수 있습니다). 또한 플레이그라운드는 작업 생성만 지원하며 동영상 폴링이나 다운로드는 지원하지 않습니다. 전체 생성 → 폴링 → 다운로드 흐름을 실행하려면 아래 코드 샘플(cURL / Python / Node.js)을 복사하여 실행합니다.
이는 Seedance 2.0의 작업 생성 엔드포인트입니다. 텍스트-투-비디오, 첫 프레임+마지막 프레임/첫 프레임, 멀티모달 레퍼런스-투-비디오가 모두 이 엔드포인트를 공유하며, content 배열로 모드를 선택합니다. 모델 선택, 가격, 해상도/픽셀 표 및 자주 묻는 질문은 Seedance 2.0 개요를 참조합니다.
  • 경로 접두사는 /seedance/api/v3입니다. /api 세그먼트를 삭제하지 말고, /v1/videos을 사용하지 않습니다.
  • Token에는 SeeDance2 그룹이 활성화되어 있어야 하며, 그렇지 않으면 ‘이 모델에 사용 가능한 채널이 없음’ 오류가 발생합니다. 2.5 및 2.0 제품군은 모두 SeeDance2을 사용하므로, 하나의 Token으로 네 가지 모델 모두에 도달할 수 있습니다(mini / fast에는 할인된 SD2Mini / SD2Fast도 적용됩니다).
  • generate_audio의 기본값은 true입니다(출력에 사운드가 포함됩니다). 무음 동영상에는 false을 명시적으로 전달합니다.
  • Python requests에는 "Accept-Encoding": "identity" 헤더가 필요합니다. 이 헤더가 없으면 gzip 디코딩 오류, 잘린 비-JSON 본문(예: 선행 {"이 사라지고 id":"cgt-xxx"}만 수신됨) 또는 간헐적인 400 오류가 발생할 수 있습니다.
  • 성공 상태는 succeeded입니다(completed가 아님). 동영상 URL은 content.video_url에 있으며 24시간 후 만료됩니다.

코드 예제

매개변수 참조

Seedance 2.5와 2.0 제품군은 모두 frames 또는 camera_fixed를 지원하지 않습니다 — 해당 매개변수는 Seedance 1.x의 매개변수이므로 무시되거나 거부됩니다.2.5에만 적용되는 작업 유형 제약 조건(위반 시 과금되지 않고 제출 시 InvalidParameter.TaskTypeConstraint이 반환됨):

생성 모드(콘텐츠 조합)

세 가지 이미지 모드는 서로 배타적입니다. 이미지는 공개 URL, Base64(data:image/png;base64,...) 및 에셋 ID(asset://...)를 사용할 수 있습니다. 실제 사람 얼굴이 포함된 입력은 거부됩니다. 엔드투엔드 에셋 참조 코드(수집 → asset:// → 생성 → 다운로드)는 에셋 참조 가이드를 참조하십시오. 대용량 미디어를 인라인으로 삽입하면 작업 생성이 느려집니다. Base64 페이로드를 업로드하거나 대용량 이미지 URL을 가져오는 데 걸리는 시간이 모두 제출 단계에 포함되므로, create-task 호출이 약 1초에서 수십 초까지 길어지거나 클라이언트 읽기 시간 초과가 발생할 수 있습니다. 요청에 이미지나 동영상이 포함된 경우 먼저 미디어를 수집하고 asset:// 에셋 ID로 참조하십시오. 에셋 우선 워크플로를 참조하십시오. 참조 한도는 생성 방식에 따라 다릅니다: 2.5는 이미지 30개 + 동영상 10개 + 오디오 클립 10개를 허용하며, 오디오만 단독 참조로 사용할 수도 있습니다. 2.0 제품군은 이미지 9개 + 동영상 3개 + 오디오 클립 3개를 허용하며, 오디오는 이미지 또는 동영상이 최소 1개 이상 포함된 상태로 전송해야 합니다. 편집 및 확장은 prompt의 의도로 트리거됩니다omni_reference_task_type는 유효성 검사 시점만 앞당깁니다. prompt에서는 에셋을 전달한 순서에 따라 위치로 참조하십시오(@video1, @image1). 편집에는 add / remove / change / replace와 같은 동사가 필요하고, 확장에는 extend / continue가 필요합니다. 모델이 prompt에서 추론한 작업 유형이 선언한 작업 유형과 충돌하면 작업은 비동기적으로 InvalidParameter.TaskTypeMismatch와 함께 실패합니다.

응답 형식

생성 시 동영상이 아닌 작업 ID만 반환됩니다:
id를 받으면 GET /seedance/api/v3/contents/generations/tasks/{id}을 폴링하여 작업 상태를 확인합니다.

권장 폴링 주기

대기열 시간을 포함한 종단 간 측정 지연 시간입니다. 2.0 계열의 720p에서는 5초 클립에 약 90–140초, 15초에는 170초가 걸립니다. 2.5에서는 720p/5초에 약 150초, 720p/30초에 330초, 1080p/5초에 150초가 걸립니다. 해상도가 높고 길이가 길수록 느려지며, 피크 시간대의 대기열로 인해 시간이 더 늘어납니다. 아래 코드 샘플에서는 고정된 20초 간격을 사용합니다. 충분히 적절하며 요청 횟수도 예측할 수 있습니다. 성공한 작업의 응답은 다음과 같습니다(테스트에서 사용한 실제 샘플).
  • 동영상 URL은 최상위 수준이 아닌 **content.video_url**에 있으며, 24시간 후 만료되는 서명된 링크이므로 즉시 다운로드합니다
  • 상태 머신: queued → running → succeeded / failed / expired; 성공 상태는 **succeeded**입니다
  • 일반 GET으로 링크를 다운로드합니다. 서명된 URL에 Authorization 헤더를 전송하지 마십시오
usage.completion_tokens은 과금되는 token 수이며 tokens ≈ duration × width × height × 24 / 1024을 따릅니다(테스트에서 오차 범위 0.1% 이내). duration: -1 또는 ratio: adaptive를 사용하면 실제 길이와 비율이 응답의 duration / ratio 필드에 보고됩니다.

인증

Authorization
string
header
필수

API key from the APIYI console (SeeDance25 group for 2.5, SeeDance2 group for the 2.0 family)

본문

application/json
model
enum<string>
필수

Model ID (plain ID, no ep- prefix). 2.5 supports 1080p, 4-30 s, and up to 30 images + 10 videos + 10 audio clips as references; 2.0 standard supports 1080p; fast and mini cap at 720p, with mini at about half the standard price. No model supports 4k

사용 가능한 옵션:
doubao-seedance-2-5-260628,
doubao-seedance-2-0-260128,
doubao-seedance-2-0-fast-260128,
doubao-seedance-2-0-mini-260615
예시:

"doubao-seedance-2-5-260628"

content
object[]
필수

Input array. Text-to-video: a single text item. Image-to-video: add image_url items (role: first_frame / last_frame). Multi-modal reference-to-video: image_url items (role: reference_image) plus optional video_url / audio_url. Reference limits: 2.5 allows 30 images + 10 videos + 10 audio clips and audio may stand alone; the 2.0 family allows 9 images + 3 videos + 3 audio clips and needs at least 1 image or 1 video. The three image modes are mutually exclusive

resolution
enum<string>
기본값:720p

Resolution tier (defines pixel area — every ratio in a tier costs the same). 1080p is available on 2.5 and 2.0 standard only; fast and mini cap at 720p. No model supports 4k

사용 가능한 옵션:
480p,
720p,
1080p
ratio
enum<string>
기본값:adaptive

Aspect ratio. adaptive auto-fits the input (recommended for image-to-video to avoid cropping); the actual ratio is returned in the task's ratio field

사용 가능한 옵션:
16:9,
4:3,
1:1,
3:4,
9:16,
21:9,
adaptive
duration
integer
기본값:5

Video length in whole seconds: 4-30 on 2.5, 4-15 on the 2.0 family; or -1 to let the model choose (billed by actual output). Cost scales linearly with duration. Note the default is -1 on 2.5 and 5 on the 2.0 family

예시:

5

generate_audio
boolean
기본값:true

Generate synchronized audio (voice, SFX, background music; mono). Note it DEFAULTS TO TRUE — pass false explicitly for silent video

watermark
boolean
기본값:false

Add an AI-generated watermark in the bottom-right corner

seed
integer
기본값:-1

Random seed, [-1, 2^32-1]. The same seed produces similar (not identical) results; -1 means random

return_last_frame
boolean
기본값:false

Return the last frame as a watermark-free png (same dimensions as the video) — chain it as the first frame of the next task to produce continuous multi-clip videos

execution_expires_after
integer
기본값:172800

Task expiry threshold in seconds; tasks exceeding it are marked expired. Range [3600, 259200]

output_format
enum<string>
기본값:mp4

Output container, supported on doubao-seedance-2-5-260628 only. mov is a QuickTime container (H.264 + yuv444p + PCM) with better colour fidelity for post-production, but some players cannot open it

사용 가능한 옵션:
mp4,
mov
omni_reference_task_type
enum<string>
기본값:auto

Task type for omni-reference generation, supported on doubao-seedance-2-5-260628 only. Declaring edit or extend validates constraints up front: video editing requires ratio=adaptive and duration=-1, video extension requires ratio=adaptive; violations return InvalidParameter.TaskTypeConstraint at submission

사용 가능한 옵션:
auto,
edit,
extend

응답

Task created. Returns the task ID for polling

Creation response. Poll GET /seedance/api/v3/contents/generations/tasks/{id}; on success the video URL is at content.video_url (expires in ~24 h) and billed tokens at usage.completion_tokens

id
string

Video generation task ID (kept for 7 days)

예시:

"cgt-20260606160057-6bbjd"