ByteDance: Seedance 1.0 Pro Fast
Seedance 1.0 Pro Fast는 텍스트와 이미지로 무음 영상을 생성하는, 별도로 이름 붙은 Fast 프로필입니다. 장면 지시나 이미지 중심 구도를 입력받으며, 길이 2–12초, 24 fps와 명시적인 구도 제어를 지원합니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
Seedance 1.0 Pro Fast는 doubao-seedance-1-0-pro-fast-251015로 지정하는 Fast 프로필입니다. 글로 설명한 장면이나 이미지 중심의 시작 구도에서 무음 영상을 생성합니다. 정확한 선택자는 이 프로필을 Seedance 1.0 Pro와 구분하며, Fast라는 이름이 개별 작업의 완료 시간을 보장하는 것은 아닙니다. 무엇으로 장면을 정할지에 따라 입력 모드를 선택한 뒤, 반환된 클립을 지시와 비교하세요.
텍스트 중심 숏은 간결한 순서로 시작합니다. 피사체와 배경, 동작, 카메라 경로, 마지막 화면을 설명하세요. 상품을 드러내는 장면이라면 받침면 위 물체, 소재에 비치는 빛, 보여 주려는 특징에서 끝나는 짧은 움직임을 설명합니다. 장소 구상이라면 넓은 전경에서 알아보기 쉬운 중심 대상으로 이동합니다. 피사체와 배경을 모두 처음부터 소개해야 하는 여러 무관한 장면을 하나의 짧은 클립에 요구하지 마세요.
이미지 중심 숏은 content 배열의 image_url 항목과 움직임에 대한 텍스트 지시로 시작합니다. 이미지에 크롭, 배경, 피사체 배치를 준비한 다음 어떤 요소가 움직이고 카메라가 어떻게 동작할지 설명하세요. 이렇게 정지 구도를 짧은 움직이는 장면으로 만들 수 있습니다. 인물 사진, 탁자 위 물체, 준비된 시각적 구상에 유용하지만, 실제 결과에서는 클립 전체에 걸쳐 정체성, 형태, 움직임을 확인해야 합니다.
이미지는 접근 가능한 URL 또는 Base64 data URL로 입력할 수 있습니다. 문서에 명시된 형식은 JPEG, PNG, WEBP, BMP, TIFF, GIF입니다. 이미지는 30 MB 미만, 두 변 모두 300픽셀보다 크고 6000픽셀보다 작아야 하며, 너비를 높이로 나눈 값은 0.4보다 크고 2.5보다 작아야 합니다. 피사체 디테일이 보이는 깨끗한 원본을 선택하세요. 이미지 가이드에서 adaptive(적응형) 구도를 권장하므로, 준비된 원본 비율은 움직임을 더하려는 구도와 맞아야 합니다.
1.0 프로필 문서에는 24 fps에서 두 초부터 열두 초까지의 길이가 명시되어 있습니다. Pro Fast 기본 해상도는 1080p이며, 보관된 출력 표에는 480p, 720p, 1080p가 나옵니다. 작업 가이드는 참조 이미지를 사용하는 경우 1080p를 제외합니다. 고정 화면비는 16:9, 4:3, 1:1, 3:4, 9:16, 21:9입니다. 모든 조합을 서로 바꿔 쓸 수 있다고 가정하지 말고, 선택한 입력 모드에 맞는 해상도와 화면비를 고르세요.
seed와 워터마크 옵션으로 요청 설정을 명확히 유지할 수 있습니다. 정수 seed 범위는 -1부터 2^32-1이며, -1은 무작위 값을 요청합니다. 카메라 고정 지시는 조건부입니다. 가이드는 참조 이미지를 사용하는 경우 이를 제외하고, 지원되는 경우에도 시각적 효과를 보장하지 않습니다. 텍스트에 포함된 매개변수 명령은 별도의 선택적 매개변수를 덮어씁니다. 특히 예전 길이 또는 해상도 명령이 장면 설명에 남아 있을 수 있는 프롬프트를 수정할 때 이 지시들을 일치시키세요.
사용량은 영상 토큰으로 측정하며, 출력 너비 × 출력 높이 × 프레임 속도 × 출력 길이 / 1024로 계산합니다. 완료된 작업은 이 수량을 usage.completion_tokens로 보고합니다. 보고된 사용량을 완성 클립 및 요청 설정과 함께 보관하세요.
제출하면 비동기 작업이 생성됩니다. ID를 저장하고 상태를 추적한 뒤, 성공하면 content.video_url에서 완성 영상을 가져오세요. 문서상 생성 파일은 일주일 동안 보관되므로, 완성 결과물을 프롬프트 및 사용한 입력 이미지와 함께 저장하세요. 전체 동작, 카메라 움직임, 마지막 구도를 검토하고, 지시와 다른 디테일이 있으면 잘된 부분은 유지하며 구체적인 수정 사항을 설명하세요.
Ailoot Ultra · 동영상 POST /v1/videos doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015시작하기
Seedance 1.0 Pro Fast는 텍스트와 이미지로 무음 영상을 생성하는, 별도로 이름 붙은 Fast 프로필입니다. 장면 지시나 이미지 중심 구도를 입력받으며, 길이 2–12초, 24 fps와 명시적인 구도 제어를 지원합니다.
- 허용 입력
- 텍스트 · 이미지
- 결과
- 동영상
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 동영상 POST /v1/videos
- 입력
text,image- 출력
video
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 doubao-seedance-1-0-pro-fast-251015 | 기본값— |
필드content | 유형array | 요건필수 | 값과 한도 조건: 네이티브 텍스트/미디어 객체입니다. 바깥쪽 배열은 비어 있으면 안 됩니다. 이 Ailoot 범용 생성자는 중첩 노드의 유형을 검증하지 않습니다. | 기본값— |
필드duration | 유형integer | 요건선택 사항 | 값과 한도 최솟값: 2 최댓값: 12 조건: 기본 1.x 스키마는 2–12입니다. 이후 공통 설명에는 1.5가 4–12 또는 -1로 명시되어 있습니다. 예제는 양쪽 모두에 명시된 5를 사용합니다. | 기본값5 |
필드resolution | 유형string | 요건선택 사항 | 값과 한도 조건: 확인된 텍스트 동영상 변환 값은 480p와 1080p입니다. 참조 이미지 입력에서는 1080p가 제외됩니다. 공통 720p 열거형이 모델별 설명과 충돌하므로 두 모드 모두 720p 지원 여부가 확인되지 않았습니다. | 기본값1080p |
필드ratio | 유형string | 요건선택 사항 | 값과 한도 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive 조건: 기본값은 장면과 모델에 따라 다릅니다. 이미지 입력 문서에서는 adaptive를 권장합니다. | 기본값— |
필드service_tier | 유형string | 요건선택 사항 | 값과 한도 default, flex 조건: default=online, flex=offline입니다. 생성 전에 선택하세요. | 기본값default |
필드seed | 유형integer | 요건필수 | 값과 한도 최솟값: -1 최댓값: 4,294,967,295 | 기본값-1 |
필드camerafixed | 유형boolean | 요건필수 | 값과 한도 조건: Ailoot에서 필수로 요구합니다. 문서에는 참조 이미지의 카메라 제어가 지원되지 않는다고 되어 있으며 효과는 보장되지 않습니다. | 기본값false |
필드watermark | 유형boolean | 요건필수 | 값과 한도 | 기본값false |
필드execution_expires_after | 유형integer | 요건필수 | 값과 한도 최솟값: 3,600 최댓값: 259,200 단위: 초 | 기본값172,800 |
입력 자료 조합
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세camerafixed, content, execution_expires_after, model, seed, watermark |
매개변수optional | 명세duration, resolution, ratio, service_tier |
매개변수material_types | 명세text, image |
매개변수additional_properties | 명세true |
매개변수validation_scope | 명세Ailoot는 필수 필드의 유형과 비어 있지 않은 model/content 배열을 확인합니다. 다른 요청 필드는 선택한 모델에 전달되도록 보존됩니다. |
매개변수image_constraints | 명세{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":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 토큰 |
| 설정Ultra | 요금표— | 예측 수량— | 과금 단위1K 동영상 토큰당 | 요금 출력 · 비교 전용 추정치 $0.0012 1K 동영상 토큰당 |
| 설정예상 생성 비용 | 요금표— | 예측 수량1회 생성 예상치 | 과금 단위— | 요금 출력 · 예상 생성 비용 · 비교 전용 추정치 $0.0576 생성 전 추정치 이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다. |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 동영상
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-pro-fast-251015","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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}/contentGET /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-1-0-pro-fast-251015
메서드 경로 별칭
/v1/videos/generations
관련 호출용 ID
FAQ · ByteDance: Seedance 1.0 Pro Fast
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:text,image→video- 요청은 어떤 필드를 사용하나요?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- 어떤 제한이 적용되나요?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200