멀티모달 레퍼런스
Seedance 2.0은 프롬프트 내에서 업로드된 이미지, 비디오, 오디오 파일에 특정 역할을 할당할 수 있는 강력한 @ 태그 레퍼런스 시스템을 지원합니다. 이를 통해 생성되는 비디오에 대한 세밀한 창작 제어가 가능합니다.
@태그 구문
프롬프트에서 각 URL 배열의 위치에 대응하는 @ 태그를 사용하여 업로드된 파일을 참조합니다:
| 태그 형식 | 매핑 대상 | 예시 |
|---|---|---|
@Image1 -- @Image9 | image_urls[0] -- image_urls[8] | @Image1 as first frame |
@Video1 -- @Video3 | video_urls[0] -- video_urls[2] | replicate @Video1 camera movement |
@Audio1 -- @Audio3 | audio_urls[0] -- audio_urls[2] | @Audio1 for BGM rhythm |
태그는 1부터 시작합니다 -- @Image1은 image_urls의 첫 번째 URL을, @Image2는 두 번째를 참조하며, 이후도 동일합니다.
파일 제한
| 유형 | 최대 개수 | 지원 형식 | 최대 크기 | 재생 시간 |
|---|---|---|---|---|
| 이미지 | 9 | .jpeg, .png, .webp, .bmp, .tiff, .gif | 각 30MB | -- |
| 비디오 | 3 | .mp4, .mov | 각 50MB | 총 2--15초 |
| 오디오 | 3 | .mp3, .wav | 각 15MB | 총 15초 이하 |
총 제한: 요청당 모든 모달리티를 합산하여 최대 12개 파일.
얼굴 제한: 사실적인 인간 얼굴 이미지 업로드는 자동으로 거부됩니다.
이미지 @태그 역할
이미지 레퍼런스를 사용하여 생성되는 비디오의 시각적 요소를 제어합니다:
| 역할 | 프롬프트 패턴 | 설명 |
|---|---|---|
| 첫 프레임 | @Image1 as first frame | 이미지를 비디오의 시작 프레임으로 사용합니다 |
| 마지막 프레임 | @Image2 as last frame | 이미지를 비디오의 종료 프레임으로 사용합니다 |
| 캐릭터 레퍼런스 | @Image1 as character | 전체 영상에서 캐릭터의 외형을 유지합니다 |
| 스타일 레퍼런스 | @Image1 as style reference | 시각적 스타일(색상, 분위기, 미학)을 적용합니다 |
| 장면 레퍼런스 | @Image1 as scene | 배경 또는 환경 레퍼런스로 사용합니다 |
| 오브젝트 레퍼런스 | @Image1 as object | 비디오에 등장할 특정 오브젝트를 참조합니다 |
| 구도 | @Image1 as composition reference | 이미지의 레이아웃과 프레이밍을 따릅니다 |
비디오 @태그 역할
비디오 레퍼런스를 사용하여 모션, 타이밍, 카메라 워크를 전달합니다:
| 역할 | 프롬프트 패턴 | 설명 |
|---|---|---|
| 카메라 무브먼트 | replicate @Video1 camera movement | 카메라 궤적(팬, 틸트, 줌, 달리)을 복제합니다 |
| 안무 | replicate @Video1 choreography | 신체/오브젝트 모션 패턴을 재현합니다 |
| 이펙트 | replicate @Video1 effects | 시각 효과와 전환을 전달합니다 |
| 리듬 | match @Video1 rhythm | 컷 타이밍과 모션 페이싱을 동기화합니다 |
| 전체 복제 | replicate @Video1 | 전체적인 모션, 카메라, 페이싱을 재현합니다 |
| 오디오 추출 | use @Video1 audio | 레퍼런스 비디오에서 오디오 트랙을 추출하여 사용합니다 |
오디오 @태그 역할
오디오 레퍼런스를 사용하여 비디오의 리듬과 사운드트랙을 제어합니다:
| 역할 | 프롬프트 패턴 | 설명 |
|---|---|---|
| 배경 음악 | @Audio1 for BGM rhythm | 모션 에너지와 컷을 음악 비트에 동기화합니다 |
| 효과음 | @Audio1 as sound effects | 시각적 이벤트를 오디오 큐에 맞춰 정렬합니다 |
| 비트 동기화 | sync to @Audio1 beat | 모션 피크를 음악 비트에 맞춥니다 |
API 예시
이미지, 비디오, 오디오 레퍼런스를 결합한 완전한 멀티모달 요청입니다:
import requests
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "seedance-2.0",
"prompt": (
"@Image1 as first frame, @Image2 as character reference. "
"Replicate @Video1 camera movement. "
"Sync to @Audio1 beat. "
"A cinematic tracking shot through a neon-lit alley at night."
),
"image_urls": [
"https://example.com/scene-start.jpg",
"https://example.com/character-ref.jpg"
],
"video_urls": [
"https://example.com/camera-reference.mp4"
],
"audio_urls": [
"https://example.com/soundtrack.mp3"
],
"duration": 10,
"quality": "1080p",
"aspect_ratio": "16:9"
}
)
print(response.json())
일반적인 패턴
캐릭터 일관성
명확한 캐릭터 레퍼런스 이미지를 제공하여 다양한 장면에서 동일한 캐릭터를 유지합니다:
@Image1 as character reference. The woman walks through a busy market, picking up an apple, examining it closely.
카메라 복제
레퍼런스 비디오의 정확한 카메라 궤적을 완전히 새로운 장면에 복제합니다:
@Image1 as first frame. Replicate @Video1 camera movement. A sweeping drone shot over snow-covered mountains.
뮤직 비디오
오디오 트랙의 비트와 리듬에 맞춰 생성되는 비주얼을 동기화합니다:
@Image1 as style reference. Sync to @Audio1 beat. Fast cuts of urban street scenes, neon lights, dancing figures.
규칙 및 제한 사항
- 태그는 배열 위치와 일치해야 합니다 --
@Image1은 항상image_urls[0]입니다 - URL 배열에 제공된 파일 수보다 많은 파일을 참조할 수 없습니다
- 모든 모달리티를 합산하여 최대 12개 파일
- 사실적인 인간 얼굴 이미지는 자동으로 거부됩니다
- 비디오 레퍼런스는 생성 비용을 증가시킵니다
- 모든 URL은 서버에서 직접 접근 가능해야 합니다 (인증 없음, 로그인 페이지로의 리다이렉트 없음)
@태그 텍스트를 포함한 프롬프트 길이 제한: 2000 토큰
관련 문서
- 비디오 생성 API -- 모든 파라미터를 포함한 전체 엔드포인트 레퍼런스
- Seedance 2.0 멀티모달 태그 가이드 -- 창작 예시를 포함한 심층 튜토리얼
- 카메라 무브먼트 API 튜토리얼 -- 레퍼런스 비디오의 카메라 워크 복제
- SDK 및 예제 -- Python, Node.js, Go, cURL 통합 코드