멀티모달 레퍼런스

Seedance 2.0은 프롬프트 내에서 업로드된 이미지, 비디오, 오디오 파일에 특정 역할을 할당할 수 있는 강력한 @ 태그 레퍼런스 시스템을 지원합니다. 이를 통해 생성되는 비디오에 대한 세밀한 창작 제어가 가능합니다.

@태그 구문

프롬프트에서 각 URL 배열의 위치에 대응하는 @ 태그를 사용하여 업로드된 파일을 참조합니다:

태그 형식매핑 대상예시
@Image1 -- @Image9image_urls[0] -- image_urls[8]@Image1 as first frame
@Video1 -- @Video3video_urls[0] -- video_urls[2]replicate @Video1 camera movement
@Audio1 -- @Audio3audio_urls[0] -- audio_urls[2]@Audio1 for BGM rhythm

태그는 1부터 시작합니다 -- @Image1image_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 토큰

관련 문서