# Gemini Omni 1.2 Flash API Google Gemini Omni 1.2 Flash 동영상 생성 모델의 전체 API 레퍼런스입니다. ## 모델 종류 이 API는 다음 네 가지 모델을 지원합니다. | 모델 | ID | 설명 | |-------|-----|-------------| | **Gemini Omni 1.2 Flash Text to Video** | `gemini-omni-1.2-flash-text-to-video` | 텍스트 프롬프트로 동영상 생성 | | **Gemini Omni 1.2 Flash Image to Video** | `gemini-omni-1.2-flash-image-to-video` | 필수 입력인 시작 이미지에 움직임을 부여하며, 선택적으로 마지막 프레임을 지정할 수 있음 | | **Gemini Omni 1.2 Flash Video Edit** | `gemini-omni-1.2-flash-video-edit` | 프롬프트에 따라 기존 동영상 편집 | | **Gemini Omni 1.2 Flash Reference to Video** | `gemini-omni-1.2-flash-reference-to-video` | 참조 이미지나 동영상 또는 둘 다 사용해 동영상 생성 | ## 기능 비교 | 기능 | 텍스트로 동영상 생성 | 이미지로 동영상 생성 | 동영상 편집 | 참조 자료로 동영상 생성 | |---------|---------------|----------------|------------|--------------------| | 기본 입력 | 텍스트 프롬프트 | 시작 이미지와 텍스트 프롬프트 | 원본 동영상과 텍스트 프롬프트 | 텍스트 프롬프트와 하나 이상의 참조 이미지 또는 동영상 | | 길이 | 3–15초 | 3–15초(마지막 프레임 지정 시 3–10초) | 원본 동영상은 10초 이하 | 3–15초 | | 지원 해상도 | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | | 화면 비율 | 16:9, 9:16 | 16:9, 9:16 | 지원하지 않음 | 16:9, 9:16 | | 선택 입력 | 없음 | 마지막 이미지 | 없음 | 이미지 최대 10장과 동영상 최대 3개. 참조 자료가 최소 1개 필요 | ## 공통 엔드포인트 모든 Gemini Omni 1.2 Flash 모델은 다음 동영상 작업 엔드포인트를 사용합니다. ``` POST /api/v1/video/task ``` ## Gemini Omni 1.2 Flash Text to Video ### 필수 매개변수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model_name` | string | `"gemini-omni-1.2-flash-text-to-video"` 지정 필수 | | `prompt` | string | 생성할 동영상의 내용을 설명하는 텍스트 | | `aspect_ratio` | string | 출력 화면 비율. `"16:9"` 또는 `"9:16"` | | `resolution` | string | 출력 해상도. `"360p"`, `"720p"`, `"1080p"` 또는 `"4k"` | | `duration` | integer | 출력 동영상의 길이(초). 3초 이상 15초 이하 | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'gemini-omni-1.2-flash-text-to-video', prompt: 'A cinematic tracking shot follows a sailboat crossing a glowing ocean at sunset', aspect_ratio: '16:9', resolution: '1080p', duration: 12 }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Gemini Omni 1.2 Flash Image to Video ### 필수 매개변수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model_name` | string | `"gemini-omni-1.2-flash-image-to-video"` 지정 필수 | | `prompt` | string | 원하는 움직임과 장면 전개를 설명하는 텍스트 | | `image_url` | string | 필수 입력인 시작 프레임 이미지의 URL | | `aspect_ratio` | string | 출력 화면 비율. `"16:9"` 또는 `"9:16"` | | `resolution` | string | 출력 해상도. `"360p"`, `"720p"`, `"1080p"` 또는 `"4k"` | | `duration` | integer | 출력 동영상의 길이(초). 마지막 프레임이 없으면 3~15초, `image_end_url`을 지정하면 3~10초 | ### 선택 매개변수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `image_end_url` | string | 선택 입력인 마지막 프레임 이미지의 URL. 지정하면 `duration`은 3~10초여야 함 | ### 요청 예시 ```javascript { model_name: 'gemini-omni-1.2-flash-image-to-video', prompt: 'The girl walks toward the camera while the city lights shimmer behind her', image_url: 'https://example.com/start-frame.jpg', image_end_url: 'https://example.com/end-frame.jpg', aspect_ratio: '9:16', resolution: '1080p', duration: 8 } ``` ## Gemini Omni 1.2 Flash Video Edit ### 필수 매개변수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model_name` | string | `"gemini-omni-1.2-flash-video-edit"` 지정 필수 | | `prompt` | string | 동영상에 적용할 편집 내용을 지시하는 텍스트 | | `video_url` | string | 원본 동영상의 URL. 원본 동영상의 길이는 10초 이하여야 함 | | `resolution` | string | 출력 해상도. `"360p"`, `"720p"`, `"1080p"` 또는 `"4k"` | **참고:** 동영상 편집은 `aspect_ratio`와 `duration`을 지원하지 않습니다. 요청에서 두 매개변수를 모두 제외하세요. ### 요청 예시 ```javascript { model_name: 'gemini-omni-1.2-flash-video-edit', prompt: 'A small ball rolls into the scene and captures the attention of the cat', video_url: 'https://example.com/source-video.mp4', resolution: '1080p' } ``` ## Gemini Omni 1.2 Flash Reference to Video 참조 이미지와 참조 동영상은 각각 사용하거나 함께 사용할 수 있습니다. `images` 또는 `videos`에 하나 이상의 참조 이미지나 동영상을 지정해야 합니다. ### 필수 매개변수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model_name` | string | `"gemini-omni-1.2-flash-reference-to-video"` 지정 필수 | | `prompt` | string | 생성할 동영상의 내용을 설명하는 텍스트 | | `aspect_ratio` | string | 출력 화면 비율. `"16:9"` 또는 `"9:16"` | | `resolution` | string | 출력 해상도. `"360p"`, `"720p"`, `"1080p"` 또는 `"4k"` | | `duration` | integer | 출력 동영상의 길이(초). 3초 이상 15초 이하 | ### 선택적 참조 입력 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `images` | string[] | 참조 이미지 URL을 최대 10개까지 지정할 수 있음. 참조 동영상이 있으면 생략 가능 | | `videos` | string[] | 참조 동영상 URL을 최대 3개까지 지정할 수 있으며 각 동영상은 3초 이하여야 함. 참조 이미지가 있으면 생략 가능 | ### 요청 예시 ```javascript { model_name: 'gemini-omni-1.2-flash-reference-to-video', prompt: 'Use the references to create a cinematic shot of a small boat approaching from the distance', aspect_ratio: '16:9', resolution: '1080p', duration: 12, images: ['https://example.com/boat-reference.jpg'], videos: ['https://example.com/motion-reference.mp4'] } ``` ## 응답 형식 ### 초기 응답 모든 모델은 폴링에 사용할 `task_id`를 반환합니다. ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "submitted" } } ``` ### 폴링 응답 `GET /api/v1/video/{taskId}`를 주기적으로 호출하여 상태를 확인하세요. ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "succeed", "task_status_msg": null, "task_result": { "credit": 0.2, "videos": [ { "url": "https://example.com/generated-video.mp4" } ] } } } ``` ### 상태 값 - `submitted`: 작업이 접수되어 처리 대기 중 - `processing`: 동영상 생성 중 - `succeed`: 동영상 생성 완료 - `failed`: 동영상 생성 실패 ## 권장 사항 1. **프롬프트 작성** 피사체, 동작, 카메라 움직임, 조명 및 장면 전개를 구체적으로 설명하세요. 2. **필수 설정** 지원되는 해상도를 항상 지정하세요. 동영상 편집을 제외한 모든 모델에서는 지원되는 화면 비율과 길이도 지정하세요. 3. **이미지 입력** 시작 이미지, 마지막 이미지, 참조 이미지에는 외부에서 안정적으로 접근할 수 있는 공개 URL을 사용하세요. 마지막 프레임 이미지를 지정할 때는 `duration`을 3~10초로 설정하세요. 4. **동영상 편집 입력** 제출하기 전에 원본 동영상이 10초 이하인지 확인하세요. 5. **참조 자료 제한** 참조 이미지나 동영상을 하나 이상 제공하세요. 이미지는 최대 10장, 동영상은 최대 3개이며 각 참조 동영상의 길이는 3초 이하여야 합니다.