curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-text-to-video",
"prompt": "A macro lens focuses on a green glass frog on a leaf. The focus gradually shifts from its smooth skin to its completely transparent abdomen, where a bright red heart is beating powerfully and rhythmically.",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-reference-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Seedance 2.5 전체 파라미터 가이드
Seedance 2.5 전체 시리즈 통합 API로, model 파라미터를 통해 특정 모델을 선택합니다
5가지 생성 모드:
-
Text-to-Video: 순수 텍스트 설명으로 비디오 생성, 웹 검색 강화 지원
-
Image-to-Video: 1~2장의 이미지를 첫/끝 프레임으로 사용하여 비디오 생성
-
Reference-to-Video: 이미지 + 비디오 + 오디오 멀티모달 소재 혼합 참조
-
Video Edit: 입력 비디오를 편집해 피사체 교체, 객체 추가·삭제, 부분 리페인팅을 수행
-
Video Extend: 입력 비디오를 앞이나 뒤로 연장
-
AIGC 유형 실사 소재 지원
-
비동기 처리 모드로, 반환된 작업 ID를 사용하여 조회하세요
-
생성된 비디오 링크는 24시간 동안 유효하며, 가능한 빨리 저장하세요
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-text-to-video",
"prompt": "A macro lens focuses on a green glass frog on a leaf. The focus gradually shifts from its smooth skin to its completely transparent abdomen, where a bright red heart is beating powerfully and rhythmically.",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-reference-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}인증
##모든 API는 Bearer Token 인증이 필요합니다##
API Key 얻기:
API Key 관리 페이지에서 API Key를 받으세요
요청 헤더에 다음을 추가하세요:
Authorization: Bearer YOUR_API_KEY
본문
비디오 생성 모델 이름
| 모델 ID | 모드 | 입력 소재 |
|---|---|---|
seedance-2.5-text-to-video | Text-to-Video | prompt |
seedance-2.5-image-to-video | Image-to-Video | prompt + image_urls |
seedance-2.5-reference-to-video | Reference-to-Video | prompt + image_urls / video_urls / audio_urls |
seedance-2.5-video-edit | Video Edit | prompt + video_urls |
seedance-2.5-video-extend | Video Extend | prompt + video_urls |
seedance-2.5-text-to-video, seedance-2.5-image-to-video, seedance-2.5-reference-to-video, seedance-2.5-video-edit, seedance-2.5-video-extend "seedance-2.5-text-to-video"
생성할 비디오를 설명하는 텍스트 프롬프트. 중국어와 영어를 지원하며, 중국어는 500자 이내, 영어는 1000단어 이내를 권장합니다. 프롬프트 최대 길이: 10000 tokens
모델별 prompt 사용법:
- Text-to-Video: 순수 텍스트 설명, prompt에서
image_urls,video_urls,audio_urls사용 불가 - Image-to-Video: 순수 텍스트 설명, prompt에서
video_urls,audio_urls사용 불가 - Reference-to-Video: 입력 소재를 참조할 때는
@image1,@video1,@audio1과 같은 명시적 태그를 우선 사용하세요. 태그 번호는 해당 URL 배열의 순서를 따르며 1부터 시작합니다. 자연어 번호도 인식될 수 있지만, 명시적 태그를 사용하면 각 소재와 용도를 더 명확하게 연결할 수 있습니다 - Video Edit: 편집 의도를 반드시 명시하고
@video1,@image1로 각 소재의 용도를 지정합니다 - Video Extend: 연장 방향(앞 / 뒤)을 반드시 명시하고
@video1로 연장할 비디오를 지정합니다
Reference-to-Video 프롬프트에는 편집 / 연장 의도를 넣지 마세요(비디오 편집, 추가, 삭제 / 제거, 수정 / 교체, 앞 / 뒤로 연장, 이어서 쓰기). 이런 표현이 있으면 Video Edit / Video Extend 기준으로 파라미터가 검증되므로, aspect_ratio가 adaptive가 아니면(편집 작업에서 duration이 -1이 아니면) 제출 시에는 오류 없이 이후 작업이 실패합니다. 이런 용도라면 model을 seedance-2.5-video-edit / seedance-2.5-video-extend로 바로 바꾸세요
"Use the first-person perspective framing of @video1 throughout, and use @audio1 as background music throughout. First-person perspective fruit tea promotional video..."
이미지 URL 배열
적용 모델 및 수량 제한:
- Text-to-Video: 지원하지 않음
- Image-to-Video: 필수, 1~2장
- Reference-to-Video: 선택, 1~30장
- Video Edit: 선택, 1~30장
- Video Extend: 선택, 1~30장
Image-to-Video 이미지 동작:
| 이미지 수 | 동작 | 역할 |
|---|---|---|
| 1장 | 첫 프레임 이미지-투-비디오 | 자동으로 first_frame으로 설정 |
| 2장 | 첫/끝 프레임 이미지-투-비디오 | 첫 번째 → first_frame, 두 번째 → last_frame |
Reference-to-Video 이미지 역할:
- 스타일 참조, 제품 이미지, 인물 이미지, 첫/끝 프레임(prompt로 지정)
필수 조건: image_urls, video_urls, audio_urls 중 하나 이상을 제공해야 합니다.
이미지 요구사항:
- 지원 형식:
.jpeg,.png,.webp - 화면 비율(너비/높이):
0.4~2.5 - 너비/높이 픽셀:
300~6000px - 단일 파일 크기:
30MB이하 - 요청 본문 총 크기
64MB이하 - 첫/끝 프레임 입력 시 두 이미지가 동일할 수 있습니다. 화면 비율이 다를 경우 첫 프레임 기준으로, 끝 프레임은 자동 크롭 적용
- 이미지 URL은 서버에서 직접 접근 가능해야 합니다
1 - 30 elements[
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
]
참조 비디오 URL 배열, 선택 사항이며 제공 시 1~10개
Reference-to-Video, Video Edit, Video Extend 모델에 적용되며 다른 모델에서는 이 매개변수를 지원하지 않습니다
Video Edit / Video Extend에서는 필수: 비디오를 최소 1개 제공해야 하며 첫 번째가 편집 / 연장 대상입니다.
필수 조건: image_urls, video_urls, audio_urls 중 하나 이상을 제공해야 합니다.
역할 설명:
| 미디어 유형 | 역할 | 일반적인 용도 |
|---|---|---|
| 비디오 | reference_video | 카메라 워크 참조, 동작 참조, 편집/연장할 원본 비디오 |
비디오 요구사항:
- 지원 형식:
.mp4,.mov - 해상도: 480p, 720p, 1080p, 4K
- 단일 비디오 길이:
2~30초, 최대 10개, 모든 비디오 총 길이 <=30초 - 화면 비율(너비/높이):
0.4~2.5 - 너비/높이 픽셀:
300~6000px - 화면 픽셀(너비 x 높이):
409,600~8,295,044(예: 640x640 ~ 3326x2494) - 단일 파일 크기:
200MB이하 - 프레임 레이트:
24~60FPS - 요청 본문 총 크기
64MB이하, Base64 인코딩을 사용하지 마세요 - 코덱, 해상도 등 소재의 유효성은 모델에서 추가로 확인됩니다
- 비디오 참조 사용 시 추가 비용이 발생합니다(입력 비디오 길이가 과금에 포함)
- 비디오 URL은 서버에서 직접 접근 가능해야 합니다
1 - 10 elements["https://example.com/reference.mp4"]
참조 오디오 URL 배열, 선택 사항이며 제공 시 1~10개
Reference-to-Video, Video Edit, Video Extend 모델에 적용되며 다른 모델에서는 이 매개변수를 지원하지 않습니다
필수 조건: image_urls, video_urls, audio_urls 중 하나 이상을 제공해야 합니다.
역할 설명:
| 미디어 유형 | 역할 | 일반적인 용도 |
|---|---|---|
| 오디오 | reference_audio | 배경 음악, 효과음, 음성/대사 참조 |
오디오 요구사항:
- 지원 형식:
.wav,.mp3 - 단일 오디오 길이:
2~30초, 최대 10개, 모든 오디오 총 길이 <=30초 - 단일 파일 크기:
15MB이하 - 요청 본문 총 크기
64MB이하, Base64 인코딩을 사용하지 마세요 - 오디오 URL은 서버에서 직접 접근 가능해야 합니다
1 - 10 elements["https://example.com/bgm.mp3"]
출력 비디오 길이(초), 기본값은 5초
설명:
4~30초 사이의 임의의 정수값을 지원합니다-1: 자동 길이. 모델이4–30초 범위에서 결정하며 실제 출력 길이에 따라 과금됩니다- 재생 시간은 과금에 직접적으로 영향을 미칩니다
- Video Edit은
-1만 지원: 출력 길이가 입력 비디오를 따르며 임의로 지정할 수 없습니다
전체 5개 모델에 적용
10
비디오 해상도, 기본값은 720p
선택 가능한 값:
480p: 낮은 해상도, 낮은 가격720p: 표준 해상도, 기본값1080p: 초고해상도
전체 5개 모델에 적용
480p, 720p, 1080p "720p"
비디오 화면 비율, 기본값은 adaptive
선택 가능한 값:
16:9(가로),9:16(세로),1:1(정사각형),4:3,3:4,21:9(울트라와이드)adaptive: 최적의 비율을 자동 선택
adaptive 모델별 동작:
- Text-to-Video: 프롬프트 내용에 따라 자동 선택
- Image-to-Video: 첫 프레임 이미지 화면 비율에 따라 자동 적용(이 모델은
adaptive만 지원하며 고정 비율은 지정할 수 없습니다) - Reference-to-Video: 우선순위: 비디오 소재 비율 > 이미지 소재 비율 > 프롬프트 추론
- Video Edit / Video Extend: 첫 번째 입력 비디오의 비율을 따릅니다(두 모델 모두
adaptive만 지원)
각 해상도별 픽셀 값:
| 화면 비율 | 480p | 720p |
|---|---|---|
| 16:9 | 854×480 | 1280×720 |
| 4:3 | 752×560 | 1112×834 |
| 1:1 | 640×640 | 960×960 |
| 3:4 | 560×752 | 834×1112 |
| 9:16 | 480×854 | 720×1280 |
| 21:9 | 992×432 | 1470×630 |
전체 5개 모델에 적용(Image-to-Video / Video Edit / Video Extend는 adaptive만 지정 가능)
16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive "16:9"
동기화된 오디오 생성 여부, 기본값은 true
true: 비디오에 동기화된 오디오(음성, 효과음, 배경 음악)가 포함되며, 추가 요금이 없습니다false: 무음 비디오 출력
전체 5개 모델에 적용
true
콘텐츠 필터, 기본값은 true
선택 가능한 값:
true: 표준 콘텐츠 안전 검사, 기본값입니다false: 콘텐츠 제한을 완화하며 +10%(1.1x)가 청구됩니다. 불법 및 금지된 콘텐츠는 이 설정과 관계없이 항상 적용됩니다
웹 검색과 함께 사용할 수 없음:
content_filter: false와model_params.web_search: true는 동시에 사용할 수 없으며, 함께 전달하면 400 파라미터 오류가 반환됩니다- 웹 검색이 필요한 경우
content_filter: true(기본값)를 유지하세요
true
출력 컨테이너 형식, 기본값은 mp4
선택 가능한 값:
mp4: H.264 인코딩으로 호환성이 가장 좋고 표준 색상 정밀도를 제공하며, 기본값입니다mov: H.264 + yuv444p 크로마 서브샘플링 + PCM 오디오로 색 재현력이 높아 색보정·키잉·합성 등 후반 작업에 적합합니다. 브라우저 내 재생이 지원되지 않을 수 있으므로 다운로드 후 VLC / mpv / ffplay로 재생하세요. 추가 요금 없음
mp4, mov "mp4"
모델 확장 파라미터
Text-to-Video 모델에만 적용
Show child attributes
Show child attributes
작업 완료 후 HTTPS 콜백 주소
콜백 시점:
- 작업 완료(completed), 실패(failed) 또는 취소(cancelled) 시 트리거
- 과금 확인 완료 후 전송
보안 제한:
- HTTPS 프로토콜만 지원
- 내부 네트워크 IP 주소로의 콜백 금지(127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x 등)
- URL 길이는
2048자를 초과할 수 없습니다
콜백 메커니즘:
- 타임아웃:
10초 - 실패 시 최대
3회 재시도(실패 후 각각1/2/4초 후 재시도) - 콜백 응답 본문 형식은 작업 조회 API 반환 형식과 동일
- 2xx 상태 코드를 성공으로 간주하며, 다른 상태 코드는 재시도를 트리거합니다
"https://your-domain.com/webhooks/video-task-completed"
응답
비디오 생성 작업이 성공적으로 생성되었습니다
작업 생성 타임스탬프
1761313744
작업 ID
"task-unified-1774857405-abc123"
실제 사용된 모델 이름
"seedance-2.5-text-to-video"
작업의 구체적 유형
video.generation.task 작업 진행률 (0-100)
0 <= x <= 1000
작업 상태
pending, processing, completed, failed "pending"
비디오 작업 상세 정보
Show child attributes
Show child attributes
작업의 출력 유형
text, image, audio, video "video"
사용량 및 과금 정보
Show child attributes
Show child attributes