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-video-extend",
"prompt": "@video1을 뒤로 연장: 인물이 화면 밖으로 걸어 나가고 카메라가 천천히 물러나 텅 빈 거리가 드러남",
"video_urls": [
"https://example.com/original.mp4"
],
"duration": 12,
"quality": "720p",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-video-extend",
"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-video-extend",
"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 Video Extend 비디오 연장
- 입력 비디오를 앞이나 뒤로 연장
- 프롬프트에 연장 의도를 명시해야 합니다(예: “@video1을 뒤로 연장, 인물이 화면 밖으로 걸어 나감”)
- 연장할 비디오(필수) + 선택 참조 이미지(0–30) + 참조 비디오(총 최대 10개) + 참조 오디오(0–10) 입력
- 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-video-extend",
"prompt": "@video1을 뒤로 연장: 인물이 화면 밖으로 걸어 나가고 카메라가 천천히 물러나 텅 빈 거리가 드러남",
"video_urls": [
"https://example.com/original.mp4"
],
"duration": 12,
"quality": "720p",
"generate_audio": true,
"content_filter": true
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-video-extend",
"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-video-extend",
"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
본문
비디오 생성 모델 이름
seedance-2.5-video-extend "seedance-2.5-video-extend"
원하는 연장 결과를 설명하는 텍스트 프롬프트입니다. 한국어·중국어·영어를 지원하며 500자 이내를 권장합니다. 프롬프트 최대 길이: 10000 tokens
설명:
- 프롬프트에 연장 의도를 명시해야 합니다. 예: "@video1을 뒤로 연장, 인물이 화면 밖으로 걸어 나감"
- 각 소재의 용도는 자연어로 지정할 수 있습니다. 예: "@image1의 스타일로 @video1을 앞으로 연장"
- 모델이 소재 번호와 용도의 대응 관계를 자동으로 이해합니다
"@video1을 뒤로 연장: 인물이 화면 밖으로 걸어 나가고 카메라가 천천히 물러나 텅 빈 거리가 드러남"
입력 비디오 URL 배열, 필수; 1–10개
필수 조건: 연장할 비디오를 최소 1개 제공해야 합니다. 첫 번째 비디오가 연장 대상이고 나머지는 참조 소재로 사용됩니다.
역할 설명:
| 미디어 유형 | 역할 | 일반적인 용도 |
|---|---|---|
| 비디오 | 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/original.mp4"]
참조 이미지 URL 배열, 선택 사항이며 제공 시 1~30장
필수 조건: 이 모델은 video_urls가 필수이며, 이미지는 선택적인 보조 참조 소재입니다.
역할 설명:
| 미디어 유형 | 역할 | 일반적인 용도 |
|---|---|---|
| 이미지 | reference_image | 스타일 참조, 제품 이미지, 장면 참조(prompt로 지정) |
이미지 요구사항:
- 지원 형식:
.jpeg,.png,.webp - 화면 비율(너비/높이):
0.4~2.5 - 너비/높이 픽셀:
300~6000px - 단일 파일 크기:
30MB이하 - 요청 본문 총 크기
64MB이하, Base64 인코딩을 사용하지 마세요 - 이미지 URL은 서버에서 직접 접근 가능해야 합니다
1 - 30 elements[
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
]
참조 오디오 URL 배열, 선택 사항이며 제공 시 1~10개
필수 조건: 이 모델은 video_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: 자동 길이. 실제 출력 길이에 따라 과금됩니다- 길이는 과금과 직접 연관됩니다
12
비디오 해상도, 기본값은 720p
선택 가능한 값:
480p: 낮은 해상도, 낮은 가격720p: 표준 해상도, 기본값1080p: 초고해상도
480p, 720p, 1080p "720p"
비디오 화면 비율, 기본값은 adaptive
선택 가능한 값:
adaptive: 출력 비율은 첫 번째 입력 비디오를 따르며, 이 모델에서 지정 가능한 유일한 값입니다16:9,9:16등 고정 비율을 전달하면 거부됩니다
adaptive "adaptive"
동기화된 오디오 생성 여부, 기본값은 true
선택 가능한 값:
true: 비디오에 동기화된 오디오가 포함되며, 추가 요금이 없습니다false: 무음 비디오 출력
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"
작업 완료 후 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-video-extend"
작업의 구체적 유형
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