소개
Seedance 2.0 Mini 레퍼런스→영상은 사용 권한이 있는 여러 소스를 한 샷으로 합칩니다. 이미지는 누구와 무엇을, 클립은 움직임과 템포를, 오디오는 컷이 맞춰 떨어질 박자를 맡습니다. 시작 프레임은 받지 않습니다.
Seedance 2.0 Mini는 ByteDance Seedance 2.0 라인에서 가장 작은 등급입니다. Seedance 2.0 Fast와 같은 엔드포인트를 공개하며, 480p 또는 720p의 4~15초 클립을 같은 패스에서 만든 오디오와 함께 돌려줍니다.
시작 자료로 Seedance 2.0 Mini 모드 고르기
| 시작 자료 | 모드 |
|---|---|
| 대본이나 장면 설명 | Seedance 2.0 Mini 텍스트→영상 |
| 확정된 시작 이미지 | Seedance 2.0 Mini 이미지→영상 |
| 외형, 움직임, 오디오를 나눈 레퍼런스 | Seedance 2.0 Mini 레퍼런스→영상 |
핵심 기능 및 하이라이트
Seedance 2.0 Fast와 같은 규격
Mini의 엔드포인트와 필드는 Seedance 2.0 Fast와 같습니다. 적응형 화면비와 고정 비율 여섯 가지, 4~15초(-1이면 모델이 길이를 정함), 네이티브 오디오, seed를 갖추고 해상도만 720p까지입니다. Mini용으로 만든 파이프라인은 요청이 아니라 모델 ID만 바꿔 Fast로 옮길 수 있습니다.
대량 생성용
더 큰 Seedance 2.0 모델의 추가 품질보다 처리량이 중요할 때 고르는 등급이 Mini입니다. 모든 엔드포인트가 비동기이므로 요청마다 Idempotency-Key를 보내고, 태스크 ID를 저장한 뒤 폴링이나 콜백으로 결과를 받으십시오. 키는 24시간 유효하므로 연결이 끊긴 뒤 다시 시도해도 원래 태스크가 돌아옵니다.
영상 연장으로 긴 시퀀스 만들기
15초를 넘기려면 완성된 클립을 video-extend 엔드포인트에 보내십시오. 클립의 마지막 프레임이 Seedance 2.0 Mini 새 샷의 시작 프레임이 되고, 두 부분이 합쳐진 파일 하나가 돌아옵니다. 각 단계는 더한 초만큼만 과금되며, 합쳐진 결과는 다시 연장할 수 있습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 필수이고, 여기서는 캐스팅도 맡습니다. 레퍼런스는 보낸 순서대로 인용되니 어느 이미지가 어느 캐릭터인지, 각 클립이 무엇을 주는지, 오디오가 무엇을 위한 건지 적어 주세요. 1자 이상 |
reference_image_urls | 아니요 | 사용 권한이 있는 이미지 최대 9장으로 캐릭터, 제품, 스타일, 세트를 붙잡아 둡니다. 거의 같은 프레임을 여러 장 쌓는 것보다 같은 대상을 두세 각도에서 담은 이미지가 더 효과적입니다. 9개 이하 |
reference_video_urls | 아니요 | 움직임, 호흡, 카메라 언어를 전하는 클립 최대 3개입니다. 클립마다 2~15초, 전부 합쳐 15초 이하여야 합니다. 3개 이하 |
reference_audio_urls | 아니요 | 오디오 파일 최대 3개로, 각각 2~15초, 합계 15초 이하, 파일당 15MB 미만이어야 합니다. 말투, 템포, 음악 프레이즈 같은 소리의 기준점을 샷에 주고, 움직임과 컷 지점이 거기에 맞춰집니다. 3개 이하 |
aspect_ratio | 아니요 | 출력 구도입니다. 기본값 adaptive에서는 주 레퍼런스의 형태를 따릅니다. |
resolution | 아니요 | 출력 해상도입니다. 480p와 기본인 720p 중에서 고릅니다. |
duration_seconds | 아니요 | 완성 클립의 길이를 정수 초로 지정합니다. 4~15초, 기본 5초이며, -1이면 모델이 길이를 정하고 견적은 15초로 잡습니다. |
generate_audio | 아니요 | 자체 사운드트랙을 화면과 싱크 맞춰 만들지 여부입니다. 기본으로 켜져 있으며, 이 버전에서는 꺼도 요금이 내려가지 않습니다. 기본값: |
enable_web_search | 아니요 | 기본값은 꺼짐입니다. 켜면 모델이 렌더링 전에 프롬프트와 관련된 정보를 웹에서 검색할 수 있습니다. 기본값: |
seed | 아니요 | 정수 seed입니다. 빼면 실행마다 알아서 뽑습니다. |
return_last_frame | 아니요 | 영상과 함께 클립의 마지막 프레임을 별도 이미지로 돌려줍니다. 다음 첫 프레임으로 image-to-video에 넘기면 정지 화면을 직접 뽑지 않고도 샷을 이어 붙일 수 있습니다. 기본값: |
bitrate_mode | 아니요 | 전달되는 파일의 비트레이트입니다. |
watermark | 아니요 | 모델 자체의 ‘AI generated’ 표시 워터마크를 영상에 넣습니다. 기본값은 꺼짐입니다. 기본값: |
요금
참조 클립의 길이도 과금 대상 초에 합산됩니다. 실행 전에는 클립 길이를 측정할 수 없어 우선 최대 15초분을 선점해 두었다가, 정산 시점에 사용하지 않은 금액을 즉시 돌려드립니다. 실제 사용된 초만 청구됩니다.
| 사양 | 요금 |
|---|---|
| $0.010969 / 초 |
| $0.023588 / 초 |
| $0.0246078 / 초 |
| $0.05292 / 초 |
| $0.036 / 초 |
| $0.072 / 초 |
활용 사례
레퍼런스 한 세트로 시리즈 전체를
한 남자를 정면, 3/4 측면, 옆모습에서 찍은 세 장과 앞치마를 담은 네 번째 이미지가 있으면 요청마다 프롬프트만 바꿔 시리즈 전체를 이어 갈 수 있습니다. 공개된 빵집 예시가 바로 이렇게 구성되어 있습니다.
클립에서 빌려 온 템포
레퍼런스 클립은 내용 대신 리듬을 제공할 수도 있습니다. 한 예시는 클립의 여유 있고 끊김 없는 푸시인을 가져와 레퍼런스 이미지 속 통로에서 연출하고, 발소리를 레퍼런스 트랙의 박자에 맞춥니다. 9:16으로 8초입니다.
각도가 바뀌어도 같은 커플
같은 커플의 이미지 세 장이 있으면 얼굴과 의상을 유지한 채 새 샷에서 세 번째 각도를 만들 수 있습니다. 480p로 생성한 공원 벤치 예시가 그렇습니다.
프롬프트 가이드 및 실전 팁
레퍼런스는 순서로 부르기
레퍼런스는 보낸 순서대로 읽히므로 프롬프트가 필수이고 배역을 정하는 역할도 맡습니다. ‘References 1-3 are...’처럼 쓰거나 @Image1, @Image2를 써서 각 자료에 역할 하나만 주십시오.
한도 알아 두기
이미지는 최대 9장, 클립은 3개, 오디오는 3트랙까지이며 요청마다 이미지나 클립이 최소 하나 있어야 합니다. 클립과 오디오는 각각 2~15초, 합계 15초까지이고 레퍼런스 클립의 초는 출력과 별도로 과금됩니다.
포함된 예시 응용하기
공개된 예시는 aspect_ratio 16:9, duration_seconds 6, generate_audio true, resolution 720p를 쓰며, reference_image_urls에 이미지 네 장을 넣습니다.
@Image1, @Image2 and @Image3 are the same man from front, three-quarter and profile; @Image4 is his apron. Put him behind the counter of a small bakery at opening time in that apron, sliding a tray into the case and glancing up as the door chimes. Warm ovens, flat morning light.
세 각도가 얼굴을, 네 번째 이미지가 의상을 붙잡고, 무엇이 무엇인지는 프롬프트가 알려 줍니다. 직접 캐릭터를 캐스팅할 때도 이 분담을 유지하십시오.
첫 프레임이 정확해야 하면 이미지→영상으로
이 엔드포인트에는 시작 프레임이나 끝 프레임 필드가 없습니다. 첫 화면이 특정 사진과 정확히 같아야 한다면 그 사진을 이미지→영상으로 보내고 움직임만 적으십시오.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedance-2.0-mini/reference-to-video",
"input": {
"aspect_ratio": "adaptive",
"bitrate_mode": "standard",
"duration_seconds": 5,
"enable_web_search": false,
"generate_audio": true,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"reference_image_urls": [
"https://example.com/reference.png"
]
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.
















