모델

ByteDance: Seedance 2.0

Markdown · JSON

ByteDance: Seedance 2.0

Seedance 2.0은 텍스트, 이미지, 영상, 오디오 참조 자료로 영상을 생성하고 편집합니다. 기존 영상을 이어 만들고 동기화된 사운드를 생성할 수 있으며, 길이 4–15초, 480p 또는 720p 출력과 명시적인 참조 역할을 지원합니다.

모델 소개

이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.

Seedance 2.0은 글로 설명한 장면이나 이미지·영상·오디오 참조 자료의 조합에서 영상을 생성합니다. 정확한 선택자 doubao-seedance-2-0-260128은 표준 2.0 프로필을 지정합니다. 문서화된 작업 흐름에는 새 영상 생성, 기존 영상 편집, 길이 확장이 포함됩니다. 참조 자료로 외형, 움직임, 카메라 표현, 소리를 전달하고, 각 자료가 장면의 어떤 부분을 제어해야 하는지 명시하세요.

텍스트만 제공할 수도 있습니다. 문서화된 멀티모달 조합에는 선택적으로 텍스트를 더한 이미지 또는 영상, 이미지와 오디오, 영상과 오디오, 이미지·영상·오디오의 동시 사용도 있습니다. 따라서 열거된 조합에서 오디오는 시각 매체와 함께 쓰이며, 오디오만으로 영상을 만드는 독립 요청은 설명되지 않습니다. 텍스트가 선택 사항인 경우에도 의도한 결과를 명확히 써서, 무관한 자료에서 역할을 추측하게 하지 말고 각 참조의 역할을 분명히 하세요.

content 배열은 text, image_url, video_url, audio_url 항목을 구분합니다. 멀티모달 참조에는 reference_image, reference_video, reference_audio 같은 역할을 사용합니다. 이미지는 사람, 물체, 장소, 시각적 스타일을 정할 수 있습니다. 영상은 연기, 움직임, 카메라 시점을 보여 주고, 오디오는 트랙이나 타이밍을 정할 수 있습니다. 이미지의 피사체를 유지하고, 영상의 카메라 시점을 따르며, 오디오를 배경으로 쓴다는 식으로 지시에 역할을 적으세요. 모든 참조에 모든 속성을 동시에 결정하도록 요구하지 마세요.

문서의 광고 예제는 두 상품 이미지에 영상 및 오디오 참조를 결합합니다. 배경 목소리를 일관되게 유지하면서 시작 화면, 동작 순서, 상품 디테일의 근접 화면, 마지막 구도를 설명합니다. 같은 구조로 짧은 소개 영상을 구성할 수 있습니다. 물체를 소개하고, 동작 하나를 보여 준 뒤, 알아보기 쉬운 특징으로 마무리하세요. 편집에서는 원본 영상과 바꿀 요소를 지정하고, 확장에서는 피사체와 움직임 방향을 유지하며 기존 장면 뒤로 이어지는 동작을 설명하세요.

2.0 프로필 문서에는 네 초부터 열다섯 초까지의 정수 초, 또는 그 범위에서 길이를 자동 선택하는 -1이 나옵니다. 기본값은 다섯 초입니다. 해상도 옵션은 480p와 720p이며, 기본값은 720p입니다. 2.0에는 1080p가 제외됩니다. 고정 화면비는 16:9, 4:3, 1:1, 3:4, 9:16, 21:9입니다. adaptive(적응형) 화면비는 프롬프트나 참조에서 구도를 선택할 수 있습니다. 첫 프레임을 이용하는 작업은 시작 이미지를 따르며, 멀티모달 작업은 의도한 장면이나 첫 관련 미디어를 사용하고 이때 영상이 이미지보다 우선합니다. 실제 화면비와 길이는 작업 결과에서 확인하세요.

생성 사운드는 참조 미디어와 별도로 제어합니다. generate_audio=true는 텍스트와 시각적 콘텐츠를 바탕으로 동기화된 목소리, 효과음, 배경 음악을 요청하고, false는 무음 영상을 요청합니다. 문서상 기본값은 true이며, 발화에는 따옴표로 감싼 대사가 권장됩니다. 누가 말하고 사운드가 화면 동작과 어떻게 연결되는지 지정한 다음, 실제 문구, 목소리 배정, 타이밍을 검토하세요. 오디오 참조를 제공하는 것과 생성 사운드를 켜는 것은 별개의 요청 선택입니다.

2.0 가이드는 기존 frames 및 camera_fixed 제어를 제외하며, flex 오프라인 처리를 지원하지 않습니다. duration 필드를 쓰고, 카메라 움직임은 장면 자체에서 설명하세요. seed와 워터마크는 계속 문서화된 제어 항목입니다. 가이드에 따르면 같은 요청과 seed는 비슷한 결과를 만들 수 있지만, 정확한 일치가 보장되지는 않습니다. seed를 재현성의 증거로 여기거나, 반복한 요청을 이미 검토한 클립으로 여기지 마세요.

영상 토큰 사용량은 (입력 영상 길이 + 출력 영상 길이) × 출력 너비 × 출력 높이 × 출력 프레임 속도 / 1024로 계산합니다. 입력 영상이 있는 요청과 없는 요청은 별개의 과금 범주입니다. 작업 조회는 usage.completion_tokens와 usage.total_tokens를 보고합니다. 이 보고 수량을 완성 클립과 함께 보관하세요.

작업 흐름은 비동기입니다. 제출하면 작업 ID가 반환되고, 완료된 작업은 content.video_url과 보고된 길이, 해상도, 화면비, 프레임 속도, 토큰 사용량을 제공합니다. ID를 보관하고, 완성 영상을 원본 참조 및 프롬프트와 함께 저장하세요. 만료 필드 기본값은 172800초이며, 작업 생성 시점부터 3600–259200초를 지정할 수 있습니다. 이 기간을 넘긴 작업은 expired가 됩니다. 편집 또는 확장의 연결 지점도 포함하여 전체 출력의 인물 외형, 물체 디테일, 공간 관계, 카메라 연속성, 사운드와 화면의 타이밍을 검토하세요.

Ailoot Ultra · 동영상 POST /v1/videos doubao-seedance-2-0-260128

doubao-seedance-2-0-260128

ByteDance /doubao-seedance-2-0-260128

시작하기

Seedance 2.0은 텍스트, 이미지, 영상, 오디오 참조 자료로 영상을 생성하고 편집합니다. 기존 영상을 이어 만들고 동기화된 사운드를 생성할 수 있으며, 길이 4–15초, 480p 또는 720p 출력과 명시적인 참조 역할을 지원합니다.

허용 입력
텍스트 · 이미지 · 동영상 · 오디오
결과
동영상

Ailoot에서 사용 가능 · 입력 및 메서드

Ailoot Ultra · 동영상 POST /v1/videos
입력
text, image, video, audio
출력
video
필드유형요건값과 한도기본값
필드model유형string요건필수값과 한도
doubao-seedance-2-0-260128
기본값—
필드content유형array요건필수값과 한도
조건: 네이티브 텍스트/미디어 객체입니다. 바깥쪽 배열은 비어 있으면 안 됩니다. 이 Ailoot 범용 생성자는 중첩 노드의 유형을 검증하지 않습니다.
기본값—
필드generate_audio유형boolean요건선택 사항값과 한도
조건: 동영상에 삽입된 동기화된 사운드입니다.
기본값true
필드duration유형integer요건선택 사항값과 한도
조건: 정수 4–15 또는 -1입니다. 실제 출력 길이가 반환됩니다.
기본값5
필드resolution유형string요건선택 사항값과 한도
480p, 720p
조건: 2.0/fast에서는 1080p를 지원하지 않는다고 명시되어 있습니다.
기본값720p
필드ratio유형string요건선택 사항값과 한도
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
조건: Adaptive의 명시된 적용 범위는 2.0/fast/1.5입니다. 2.5 예제에는 16:9만 있습니다.
기본값adaptive
필드watermark유형boolean요건선택 사항값과 한도기본값false
필드seed유형integer요건선택 사항값과 한도
최솟값: -1
최댓값: 4,294,967,295
기본값-1
필드execution_expires_after유형integer요건선택 사항값과 한도
최솟값: 3,600
최댓값: 259,200
단위: 초
기본값172,800
필드service_tier유형string요건선택 사항값과 한도
default
조건: 2.0/fast는 오프라인 flex를 제외합니다. 2.5의 적용 범위는 확정되지 않았습니다.
기본값default
필드safety_identifier유형string요건선택 사항값과 한도기본값—
필드tools유형object요건선택 사항값과 한도
조건: 2.0/fast만 해당합니다. 문서에 명시된 값은 type=web_search입니다.
기본값—
입력 자료 조합

메서드 매개변수와 수명 주기
매개변수명세
매개변수content_type명세application/json
매개변수required명세content, model
매개변수optional명세generate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools
매개변수material_types명세text, image, video, audio
매개변수additional_properties명세true
매개변수validation_scope명세Ailoot는 필수 필드의 유형과 비어 있지 않은 model/content 배열을 확인합니다. 다른 요청 필드는 선택한 모델에 전달되도록 보존됩니다.
매개변수material_combinations명세text, image, video, image, audio, image, video, video, audio, image, video, audio
매개변수optional_text_with_media명세true
매개변수reference_media_count_and_size_limits명세null

메서드 별칭: /v1/videos/generations

수명 주기: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

한 번 생성하고 반환된 공개 id/polling_url을 보존하세요.

원래 작업을 폴링하세요. succeeded 이후 실제 소유한 content.video_url을 다운로드하세요.

요금

최종 요금 계산 방식

표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.

요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.

빠른 모드
미지정 빠른 모드를 선택한 경우
Flex 모드
미지정 flex 모드를 선택한 경우
최대 추론 수준
미지정 최대 추론 수준에 default 조정값을 적용하는 경우

비교용 예상 요금

설정별 가격

각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.

설정요금표예측 수량과금 단위요금
설정기본 토큰 요금요금표기본 요금예측 수량—과금 단위—요금
입력 · 입력 토큰 · 비교 전용 추정치 — / 1K 토큰
출력 · 출력 토큰 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 읽기 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 쓰기 · 비교 전용 추정치 — / 1K 토큰
입력 · 캐시 쓰기, 1시간 · 비교 전용 추정치 — / 1K 토큰
설정입력에 영상이 포함됩니다.요금표—예측 수량—과금 단위1K 동영상 토큰당요금
출력 · 비교 전용 추정치 $0.0096 1K 동영상 토큰당
설정입력에 영상이 포함되지 않습니다.요금표—예측 수량—과금 단위1K 동영상 토큰당요금
출력 · 비교 전용 추정치 $0.015768 1K 동영상 토큰당
설정예상 생성 비용요금표—예측 수량1회 생성 예상치과금 단위—요금
출력 · 예상 생성 비용 · 비교 전용 추정치 $0.822402 생성 전 추정치

이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.

Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →

요청 예제

Ailoot Ultra · 동영상

curl · 동영상 생성curl · 원본 작업 조회curl · 소유한 동영상 다운로드
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-260128","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
    if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
    p=urlsplit(u)
    if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt

결과 수신 및 저장

Ailoot Ultra · 동영상

공개 id/polling_url이 있는 네이티브 JSON입니다. 게시 후에는 content.video_url에 Ailoot가 소유한 서명된 URL이 포함됩니다. 게시 전에는 선택된 출력 URL이 비워집니다.

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
완료된 결과 모두 보관

완료된 모든 동영상과 반환된 파일을 저장하고, 실제로 반환된 모든 자산 URL에서 가져오세요.

content.video_url에 있는 모든 실제 URL을 보존하세요. index는 실제 반환된 출력을 식별해야 합니다.

원래 응답을 확인해야 할 경우

원본 응답/헤더/id를 보존하고 해당 작업을 폴링하세요. 결과를 알 수 없는 생성을 절대로 다시 제출하지 마세요.

응답 필드
필드유형
필드id유형string
필드provider_task_id유형string
필드polling_url유형string
필드status유형string when supplied
필드content.video_url유형string|string[]
필드usage유형object when supplied
오류와 다음 단계
응답조건다음 단계
응답400 · invalid_request_error조건JSON/모델/필수 필드 유형 또는 콘텐츠 인덱스가 유효하지 않습니다.다음 단계
응답401 · authentication_error조건유효하지 않은 Ailoot API 키입니다.다음 단계
응답404 · not_found_error조건작업/출력이 없거나 동일한 사용자/API 키/그룹의 소유가 아닙니다.다음 단계
응답502 · result_pending_check조건최초 제출/상태 정보가 불완전합니다. 원래 ID를 보존하고 다시 제출하지 마세요.다음 단계
응답503 · result_pending_check조건원래 미디어/경로/정산을 확인 중입니다. 원래 작업을 계속 진행하세요.다음 단계

별칭

모델 별칭

Ailoot Ultra doubao-seedance-2-0-260128

메서드 경로 별칭

/v1/videos/generations

관련 호출용 ID

doubao-seedance-2-0-260128

FAQ · ByteDance: Seedance 2.0
어떤 입력과 결과를 사용할 수 있나요?

POST /v1/videos · doubao-seedance-2-0-260128: text, image, video, audio → video

요청은 어떤 필드를 사용하나요?

POST /v1/videos · doubao-seedance-2-0-260128: model, content, generate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools

어떤 제한이 적용되나요?

POST /v1/videos · doubao-seedance-2-0-260128: seed.minimum: -1; seed.maximum: 4294967295; execution_expires_after.minimum: 3600; execution_expires_after.maximum: 259200

자세히 보기

Claude Code, OpenCode, Hermes, 자체 앱에 Ailoot를 연결하세요.

회사와 그 프로젝트 포트폴리오

회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.

할인받아 토큰을 구매하세요.

정기 작업에는 구독 할인, 토큰 구매에는 최대 50% 프로모션 코드.

구독
정기 요청에 맞는 할인 요금제를 선택하세요.
최대 50% 프로모션 코드
구매할 때 코드를 넣으면 진행 중 행사에 따라 가격을 다시 계산합니다.
이력의 지출
요청마다 모델, 토큰, 금액을 저장합니다.

구독 선택 · 모델 가격 보기

판매하는 제품에 API를 연결하세요.

Ailoot 공식 이용 조건과 라이선스 계약으로 SaaS, 앱, 봇에 사용하세요. 재판매에는 리셀러 라이선스를 요청하세요.

상업용 앱
서비스의 유료 기능에 텍스트, 이미지, 영상, 소리 생성을 넣으세요.
리셀러 라이선스
프로젝트 설명과 접근 구조를 보내 사용·재판매의 서면 조건을 요청하세요.
사이트의 문서
연결 전에 공식 이용 조건, 라이선스 계약, 데이터 처리 정책을 읽을 수 있습니다.

리셀러 라이선스 요청 · 공식 이용 조건과 라이선스 계약