메인 콘텐츠로 건너뛰기
OrcaRouter는 Kling과 동일한 제출-폴링 엔드포인트에서 Seedance 비디오 모델을 말합니다. model: byteplus/dreamina-seedance-2-0-260128을 보내면, OrcaRouter가 요청을 업스트림 Ark /contents/generations/tasks API로 라우팅하고, 완료되면 동일한 작업 ID를 OrcaRouter를 통해 다시 폴링합니다(지속 시간 / 해상도 / generate_audio에 따라 보통 30초에서 4분).
현재 사용 가능한 모델. 지금은 Seedance 2.0만 백엔드 이름 byteplus/dreamina-seedance-2-0-260128로 프로비저닝되어 있습니다. 아래 기능 테이블은 참조를 위해 나머지 Seedance 패밀리를 나열하지만, 플레이그라운드에서 선택할 수도 없고 OrcaRouter를 통해 라우팅할 수도 없습니다 — 현재로서는 모든 요청에 byteplus/dreamina-seedance-2-0-260128을 사용하세요.
제출 엔드포인트 POST /v1/video/generations와 가져오기 엔드포인트 GET /v1/video/generations/{task_id}Kling 과 공유됩니다. 달라지는 것은 요청 본문: Kling은 prompt + image + metadata.{mode, aspect_ratio, image_list, ...}, Seedance는 prompt + metadata.{content[], ratio, duration, generate_audio, watermark, ...}. model의 접두사가 어떤 스키마가 존중되는지 선택합니다.

모델

모델T2VI2V (첫)I2V (첫+마지막)멀티모달 참조¹비디오 편집²오디오 생성³지속 시간사용 가능
byteplus/dreamina-seedance-2-0-260128 (2.0)✓ 완전4 – 15 s
byteplus/seedance-2.0-fast✓ 완전4 – 15 s예정
byteplus/seedance-1-5-pro이미지만4 – 12 s예정
byteplus/seedance-1-0-pro이미지만2 – 12 s예정
byteplus/seedance-1-0-pro-fast이미지만2 – 12 s예정
byteplus/seedance-1-0-lite-i2v이미지만2 – 12 s예정
byteplus/seedance-1-0-lite-t2v이미지만2 – 12 s예정
¹ 멀티모달 참조 = metadata.content[] 배열이 role 마커 (reference_image / reference_video / reference_audio)가 있는 image_url / video_url / audio_url 항목을 운반할 수 있음. “완전”은 이미지 + 비디오 + 오디오의 조합이 허용됨을 의미. ² 비디오 편집 = video_url 컨텐츠 항목을 전달하여 소스 비디오에 프롬프트 기반 편집(주체 교체, 영역 인페인팅 등)을 적용. ³ 네이티브 오디오 = 업스트림이 비디오와 일치하는 사운드트랙을 자동 생성. metadata.generate_audio: true로 전환. 모든 모델의 제출 엔드포인트는 동일 — POST /v1/video/generations. 달라지는 것은 업스트림이 위 표에 따라 어떤 metadata 필드를 존중하는지입니다. 권위 있는 모델별 기능 목록은 업스트림의 Seedance capability matrix 를 참조하세요.

작업 제출

/v1/video/generationsmodel, prompt 및 업스트림 고유 매개변수를 metadata 아래에 두고 POST 하세요:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "A girl holding a fox, the girl opens her eyes, looks gently at the camera, the fox hugs affectionately, the camera slowly pulls out, the girl'\''s hair is blown by the wind",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/foxgirl.png" } }
      ],
      "ratio": "16:9",
      "duration": 5,
      "generate_audio": true,
      "watermark": false
    }
  }'
응답에 작업 ID가 포함됩니다(Kling과 동일한 봉투 — OrcaRouter가 프로바이더 간에 정규화):
{
  "id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
  "task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
  "object": "video",
  "model": "byteplus/dreamina-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1777975188
}
OrcaRouter는 당신의 prompt를 Seedance의 content[] 배열 내 텍스트 항목으로 자동 래핑합니다 — {type: "text"} 항목을 자신이 전달할 필요가 없습니다. metadata.content[]에 제공한 텍스트 항목은 최상위 prompt로 대체됩니다. 다른 컨텐츠 항목(image_url, video_url, audio_url)은 변경 없이 통과됩니다.

본문 필드

이 필드들은 metadata 내부에 있습니다. 아래 변형 테이블에 따라 배열하세요.
필드타입비고
contentarray멀티모달 참조 항목. 각 항목: {type, image_url? | video_url? | audio_url?, role?}. 순수 텍스트-to-비디오이면 생략.
ratiostring종횡비. 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9 / adaptive. adaptive는 입력에서 추론.
durationinteger초. 허용 범위는 모델에 따라 다름 — 위 표 참조.
resolutionstring480p / 720p / 1080p. 기본값 720p. 1080pseedance-2.0 / seedance-2.0-fast / seedance-1-5-pro / seedance-1-0-pro / seedance-1-0-pro-fast만.
generate_audioboolean동기화된 사운드트랙을 자동 생성. 기본값 false. seedance-2.0 / 2.0-fast / 1-5-pro만.
watermarkboolean업스트림 워터마크 새김. 기본값은 업스트림에서 정의.
seedinteger재현성을 위한 랜덤 시드.
service_tierstringdefault(온라인) 또는 flex(오프라인 / 낮은 우선순위, 더 높은 할당량). 기본값 default.
return_last_frameboolean최종 프레임을 MP4와 함께 이미지로 반환. 기본값 false.
callback_urlstring웹훅 URL — 폴링 대신(또는 함께) 상태 변경을 수신.

content[] 항목 형태

metadata.content의 각 항목은 네 가지 형태 중 하나입니다:
{ "type": "image_url", "image_url": { "url": "https://..." }, "role": "first_frame" }
{ "type": "video_url", "video_url": { "url": "https://..." }, "role": "reference_video" }
{ "type": "audio_url", "audio_url": { "url": "https://..." }, "role": "reference_audio" }
{ "type": "text",      "text": "..." }    // 최상위 프롬프트로 자동 교체
role 값:
role목적
first_frame이 이미지를 생성된 비디오의 첫 프레임으로 앵커.
end_frame이 이미지를 마지막 프레임으로 앵커(첫+마지막 프레임 i2v를 위해 first_frame과 함께 사용).
reference_image스타일 / 주체 참조(멀티모달 참조 변형; 여러 개 전달 가능).
reference_video스타일 / 모션 참조, 또는 편집 / 확장을 위한 소스 비디오.
reference_audio배경 음악 또는 음성 참조(오디오-비디오 생성).
프롬프트 내 참조 항목은 [Image 1], [Video 1], [Audio 1] 구문 으로 참조. 인덱스는 배열 순서(1 기반, 타입별 범위)와 일치.

결과 폴링

제출 시 반환된 작업 ID를 사용:
curl https://api.orcarouter.ai/v1/video/generations/task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw \
  -H "Authorization: Bearer sk-orca-..."
응답 형태는 래핑됨(Kling과 동일):
{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://ark-content-generation-ap-southeast-1.tos-ap-southeast-1.volces.com/.../video.mp4",
    "submit_time": 1777975188,
    "start_time": 1777975241,
    "finish_time": 1777975277,
    "fail_reason": ""
  }
}
상태 값은 프로바이더 전반에 걸쳐 대문자로 정규화됩니다:
상태업스트림 Seedance 상태의미
NOT_START(일시적)작업 행 생성됨, 아직 디스패치되지 않음
SUBMITTEDqueued업스트림에 보내짐, 큐에서 대기
IN_PROGRESSrunning업스트림이 렌더링 중
SUCCESSsucceeded완료. data.result_url이 MP4를 운반
FAILUREfailed실패. data.fail_reason이 이유
진행 상황은 정수가 아니라 퍼센트 문자열("50%", "100%"). 5 - 10초마다 폴링하세요. 5초 720p 클립은 보통 30 - 60초에 완료; 오디오 있는 1080p나 15초 / 멀티모달 참조 클립은 3 - 5분 소요 가능. result_url은 짧은 TTL의 업스트림 서명 TOS URL — 장기 보관이 필요하면 즉시 다운로드하거나 다시 호스팅하세요.

엔드포인트 변형

모든 변형이 POST /v1/video/generations를 공유합니다. 업스트림이 제공하는 Seedance 기능 경로는 URL이 아니라 metadata.content[] 항목과 role 마커에 의해 결정됩니다.

텍스트-to-비디오

model + prompt + 선택적 메타데이터만. 컨텐츠 항목 없음은 순수 텍스트-to-비디오를 의미:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Photorealistic style: under a clear blue sky, a vast expanse of white daisy fields stretches out. The camera gradually zooms in on a single daisy with glistening dewdrops on its petals.",
    "metadata": {
      "ratio": "16:9",
      "duration": 5,
      "watermark": true
    }
  }'

이미지-to-비디오 — 첫 프레임

role: "first_frame"인 이미지 항목 하나 전달:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "the cat starts dancing energetically",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/cat.png" }, "role": "first_frame" }
      ],
      "ratio": "adaptive",
      "duration": 5,
      "generate_audio": true
    }
  }'

이미지-to-비디오 — 첫과 마지막 프레임

first_frameend_frame을 위한 이미지 항목 두 개:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Create a 360-degree orbiting camera shot from start to end frame.",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/start.jpg" }, "role": "first_frame" },
        { "type": "image_url", "image_url": { "url": "https://example.com/end.jpg" },   "role": "end_frame"   }
      ],
      "ratio": "16:9",
      "duration": 6
    }
  }'

멀티모달 참조 — 이미지 + 비디오 + 오디오

reference_image / reference_video / reference_audio 항목을 조합. 프롬프트에서 [Image N] / [Video N] / [Audio N] 인덱스 (1 기반, 타입별)로 참조:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Use the first-person POV framing from [Video 1] throughout, and use [Audio 1] as the background music. First-person POV fruit tea promotional ad: [Image 1] hands pick a dew-covered apple; [Image 2] holds the finished drink up to the camera.",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/tea_pic1.jpg" }, "role": "reference_image" },
        { "type": "image_url", "image_url": { "url": "https://example.com/tea_pic2.jpg" }, "role": "reference_image" },
        { "type": "video_url", "video_url": { "url": "https://example.com/tea_video1.mp4" }, "role": "reference_video" },
        { "type": "audio_url", "audio_url": { "url": "https://example.com/tea_audio1.mp3" }, "role": "reference_audio" }
      ],
      "ratio": "16:9",
      "duration": 11,
      "generate_audio": true,
      "watermark": false
    }
  }'
seedance-2.0seedance-2.0-fast에서 사용 가능(완전한 이미지 + 비디오 + 오디오 조합); seedance-1-5-proseedance-1-0-*reference_image 항목만 받습니다.

비디오 편집 / 확장

{type: "video_url", role: "reference_video"}를 전달하고 프롬프트가 그것을 수정하거나 확장하도록 요청:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Change all the fruits in [Video 1] into fresh fruits.",
    "metadata": {
      "content": [
        { "type": "video_url", "video_url": { "url": "https://example.com/source.mp4" }, "role": "reference_video" }
      ],
      "ratio": "adaptive",
      "duration": 6
    }
  }'
seedance-2.0seedance-2.0-fast에서만 사용 가능.

웹훅

metadata.callback_url: "https://your.domain/webhook"을 전달하면 작업이 SUCCESS 또는 FAILURE로 전환될 때 POST를 받습니다. 페이로드는 폴링 응답을 미러링합니다. 폴링과 콜백을 모두 설정하면 둘 다 받습니다 — 그것들은 독립적입니다.

청구

OrcaRouter는 업스트림의 작업당 토큰 청구를 마크업 없이 통과시킵 니다. 최종 비용은 ByteDance Ark가 공개한 요율 카드와 일치합니다 (작업 결과의 업스트림 completion_tokens / total_tokens는 Channel Margin 구성에서 설정된 모델의 토큰당 요율로 할당량으로 변환됨). 제출 시 작은 사전 소비 보류가 예약됩니다; 차액은 성공 시 정산 됩니다. 운영 / 청구 및 사용량 참조.

관련 항목