curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gemini-omni-1.1-flash-reference-to-video",
"prompt": "참조 인물과 카메라 움직임을 유지한다.",
"image_urls": [
"https://example.com/character.png",
"https://example.com/scene.png"
],
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 3
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-7cvnl5zw",
"model": "gemini-omni-1.1-flash-reference-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "processing",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"video_duration": 3
},
"type": "video",
"usage": {
"billing_rule": "per_token",
"credits_reserved": 102.34,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"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: gemini-omni-1.1-flash-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"
}
}Gemini Omni 1.1 Flash 레퍼런스-투-비디오
- 참조 이미지와 비디오로 비디오 생성
image_urls: 참조 이미지 URL. 필수이며 공개 상한은 10장입니다. HTTP/HTTPS만 지원합니다.video_urls: 선택적 참조 비디오 URL, 최대 3개. HTTP/HTTPS로 접근 가능한 10초 이하 MP4.quality: 출력 해상도: 360p, 720p, 1080p, 4k. 기본값 720p.duration: 비디오 길이(초). 3~10 정수, 기본값 3.aspect_ratio: 화면 비율: 16:9, 9:16, auto. 기본값 auto.- 모델이 동기화된 네이티브 오디오를 자동 생성합니다.
- 부정 요구사항은 prompt에 직접 작성합니다.
- 비동기 처리: 작업 상태 조회
- 생성 링크는 24시간 동안 유효합니다.
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gemini-omni-1.1-flash-reference-to-video",
"prompt": "참조 인물과 카메라 움직임을 유지한다.",
"image_urls": [
"https://example.com/character.png",
"https://example.com/scene.png"
],
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 3
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-7cvnl5zw",
"model": "gemini-omni-1.1-flash-reference-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "processing",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"video_duration": 3
},
"type": "video",
"usage": {
"billing_rule": "per_token",
"credits_reserved": 102.34,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"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: gemini-omni-1.1-flash-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
본문
모델 이름은 gemini-omni-1.1-flash-reference-to-video으로 고정됩니다
gemini-omni-1.1-flash-reference-to-video "gemini-omni-1.1-flash-reference-to-video"
참조 소재의 인물, 스타일, 움직임을 반영하는 프롬프트.
"참조 인물과 카메라 움직임을 유지한다."
레퍼런스 이미지 URL 배열. 필수이며 주체, 스타일 또는 요소를 지정하기 위해 1~10장을 지원합니다.
입력 요구사항:
- HTTP/HTTPS 이미지 URL만 지원
- 지원 형식:
png,jpeg,webp
1 - 10 elements[
"https://example.com/character.png",
"https://example.com/scene.png"
]
선택적 레퍼런스 비디오 배열, 최대 3개입니다.
동작, 카메라 움직임 또는 스타일 참조로 사용할 수 있으며 image_urls와 함께 사용할 수 있습니다.
입력 요구사항:
- HTTP/HTTPS 비디오 URL만 지원
- 형식:
mp4 - 각 비디오는
10초 이하여야 함
과금: 각 레퍼런스 비디오는 입력 token에 포함됩니다.
1 - 3 elements["https://example.com/reference.mp4"]
비디오 해상도, 기본값은 720p입니다.
지원 값:
360p: 가로 640×360 / 세로 360×640720p: 가로 1280×720 / 세로 720×1280, 기본값1080p: 가로 1920×1080 / 세로 1080×19204k: 가로 3840×2160 / 세로 2160×3840
방향은 aspect_ratio로 결정되며 16:9는 가로, 9:16은 세로입니다.
과금: 출력 token은 해상도에 비례합니다. 720p를 기준으로 360p는 약 1/3, 1080p는 약 1.5배, 4k는 약 3배입니다. 실제 요금은 생성 사용량에 따라 계산됩니다.
360p, 720p, 1080p, 4k "720p"
비디오 길이(초), 기본값은 3입니다.
설명:
3~10사이의 모든 정수를 지원합니다- 길이는 과금에 직접 영향을 줍니다
3 <= x <= 103
화면 비율: 16:9, 9:16, auto. 기본값 auto.
16:9, 9:16, auto "auto"
작업 완료 후 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"
응답
영상 작업 생성 성공
작업 생성 타임스탬프
1757169743
작업 ID
"task-unified-1757169743-7cvnl5zw"
실제 사용된 모델 이름
"gemini-omni-1.1-flash-reference-to-video"
특정 작업 유형
video.generation.task 작업 진행률 (0-100)
0 <= x <= 1000
작업 상태. 생성 API는 processing을 반환합니다.
pending, processing, completed, failed "processing"
비디오 작업 상세 정보
Show child attributes
Show child attributes
작업 출력 유형
text, image, audio, video "video"
사용량 및 과금 정보
Show child attributes
Show child attributes