# Gemini Omni 1.2 Flash API Tài liệu tham khảo API đầy đủ cho các mô hình tạo video Google Gemini Omni 1.2 Flash. ## Các biến thể mô hình API này hỗ trợ bốn biến thể sau: | Mô hình | ID | Mô tả | |-------|-----|-------------| | **Gemini Omni 1.2 Flash Text to Video** | `gemini-omni-1.2-flash-text-to-video` | Tạo video từ câu lệnh văn bản | | **Gemini Omni 1.2 Flash Image to Video** | `gemini-omni-1.2-flash-image-to-video` | Tạo chuyển động từ ảnh đầu vào bắt buộc, có thể dùng thêm ảnh để định hướng khung hình cuối | | **Gemini Omni 1.2 Flash Video Edit** | `gemini-omni-1.2-flash-video-edit` | Chỉnh sửa video có sẵn theo chỉ dẫn trong câu lệnh | | **Gemini Omni 1.2 Flash Reference to Video** | `gemini-omni-1.2-flash-reference-to-video` | Tạo video từ ảnh tham chiếu, video tham chiếu hoặc cả hai | ## Bảng so sánh nhanh | Đặc điểm | Tạo video từ văn bản | Tạo video từ ảnh | Chỉnh sửa video | Tạo video từ tư liệu tham chiếu | |---------|---------------|----------------|------------|--------------------| | Đầu vào chính | Câu lệnh văn bản | Ảnh đầu và câu lệnh văn bản | Video nguồn và câu lệnh văn bản | Câu lệnh văn bản và ít nhất một ảnh hoặc video tham chiếu | | Thời lượng | 3–15 giây | 3–15 giây, hoặc 3–10 giây khi có khung hình cuối | Video nguồn dài tối đa 10 giây | 3–15 giây | | Độ phân giải hỗ trợ | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | | Tỷ lệ khung hình | 16:9, 9:16 | 16:9, 9:16 | Không hỗ trợ | 16:9, 9:16 | | Đầu vào tùy chọn | Không có | Ảnh cho khung hình cuối | Không có | Tối đa 10 ảnh và 3 video, cần ít nhất một tư liệu tham chiếu | ## Điểm cuối dùng chung Tất cả các biến thể Gemini Omni 1.2 Flash đều dùng điểm cuối tác vụ video sau: ``` POST /api/v1/video/task ``` ## Gemini Omni 1.2 Flash Text to Video ### Tham số bắt buộc | Tham số | Kiểu dữ liệu | Mô tả | |-----------|------|-------------| | `model_name` | string | Phải là `"gemini-omni-1.2-flash-text-to-video"` | | `prompt` | string | Văn bản mô tả video cần tạo | | `aspect_ratio` | string | Tỷ lệ khung hình đầu ra: `"16:9"` hoặc `"9:16"` | | `resolution` | string | Độ phân giải đầu ra: `"360p"`, `"720p"`, `"1080p"` hoặc `"4k"` | | `duration` | integer | Thời lượng video đầu ra tính bằng giây, từ 3 đến 15 | ### Ví dụ về yêu cầu ```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 ### Tham số bắt buộc | Tham số | Kiểu dữ liệu | Mô tả | |-----------|------|-------------| | `model_name` | string | Phải là `"gemini-omni-1.2-flash-image-to-video"` | | `prompt` | string | Văn bản mô tả chuyển động và diễn biến mong muốn của cảnh | | `image_url` | string | URL của ảnh dùng làm khung hình đầu tiên (bắt buộc) | | `aspect_ratio` | string | Tỷ lệ khung hình đầu ra: `"16:9"` hoặc `"9:16"` | | `resolution` | string | Độ phân giải đầu ra: `"360p"`, `"720p"`, `"1080p"` hoặc `"4k"` | | `duration` | integer | Thời lượng đầu ra tính bằng giây, từ 3 đến 15 nếu không có khung hình cuối hoặc từ 3 đến 10 nếu cung cấp `image_end_url` | ### Tham số tùy chọn | Tham số | Kiểu dữ liệu | Mô tả | |-----------|------|-------------| | `image_end_url` | string | URL của ảnh dùng làm khung hình cuối (tùy chọn). Khi cung cấp ảnh này, `duration` phải nằm trong khoảng 3–10 giây | ### Ví dụ về yêu cầu ```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 ### Tham số bắt buộc | Tham số | Kiểu dữ liệu | Mô tả | |-----------|------|-------------| | `model_name` | string | Phải là `"gemini-omni-1.2-flash-video-edit"` | | `prompt` | string | Văn bản mô tả những chỉnh sửa cần thực hiện | | `video_url` | string | URL của video nguồn. Video nguồn không được dài quá 10 giây | | `resolution` | string | Độ phân giải đầu ra: `"360p"`, `"720p"`, `"1080p"` hoặc `"4k"` | **Lưu ý:** Mô hình chỉnh sửa video không hỗ trợ `aspect_ratio` và `duration`. Hãy bỏ cả hai tham số này khỏi yêu cầu. ### Ví dụ về yêu cầu ```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 Có thể dùng ảnh và video tham chiếu riêng lẻ hoặc kết hợp. Phải cung cấp ít nhất một ảnh hoặc video tham chiếu trong `images` hoặc `videos`. ### Tham số bắt buộc | Tham số | Kiểu dữ liệu | Mô tả | |-----------|------|-------------| | `model_name` | string | Phải là `"gemini-omni-1.2-flash-reference-to-video"` | | `prompt` | string | Văn bản mô tả video cần tạo | | `aspect_ratio` | string | Tỷ lệ khung hình đầu ra: `"16:9"` hoặc `"9:16"` | | `resolution` | string | Độ phân giải đầu ra: `"360p"`, `"720p"`, `"1080p"` hoặc `"4k"` | | `duration` | integer | Thời lượng video đầu ra tính bằng giây, từ 3 đến 15 | ### Đầu vào tham chiếu tùy chọn | Tham số | Kiểu dữ liệu | Mô tả | |-----------|------|-------------| | `images` | string[] | Tối đa 10 URL ảnh tham chiếu. Có thể bỏ qua nếu đã cung cấp video tham chiếu | | `videos` | string[] | Tối đa 3 URL video tham chiếu. Mỗi video không được dài quá 3 giây. Có thể bỏ qua nếu đã cung cấp ảnh tham chiếu | ### Ví dụ về yêu cầu ```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'] } ``` ## Định dạng phản hồi ### Phản hồi ban đầu Tất cả các mô hình đều trả về `task_id` để truy vấn trạng thái định kỳ: ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "submitted" } } ``` ### Phản hồi khi truy vấn trạng thái Gọi `GET /api/v1/video/{taskId}` định kỳ để kiểm tra trạng thái: ```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" } ] } } } ``` ### Các giá trị trạng thái - `submitted`: Tác vụ đã được tiếp nhận và đang chờ xử lý - `processing`: Đang tạo video - `succeed`: Đã tạo video thành công - `failed`: Tạo video thất bại ## Khuyến nghị khi sử dụng 1. **Viết câu lệnh** Mô tả rõ chủ thể, hành động, chuyển động máy quay, ánh sáng và diễn biến của cảnh. 2. **Thiết lập bắt buộc** Luôn chỉ định độ phân giải được hỗ trợ. Với các mô hình khác ngoài mô hình chỉnh sửa video, hãy chỉ định cả tỷ lệ khung hình và thời lượng được hỗ trợ. 3. **Ảnh đầu vào** Dùng URL ổn định, có thể truy cập công khai cho ảnh đầu, ảnh cuối và ảnh tham chiếu. Khi cung cấp ảnh cho khung hình cuối, hãy đặt `duration` trong khoảng 3–10 giây. 4. **Đầu vào để chỉnh sửa video** Kiểm tra để bảo đảm video nguồn không dài quá 10 giây trước khi gửi. 5. **Giới hạn tư liệu tham chiếu** Cung cấp ít nhất một ảnh hoặc video tham chiếu. Chỉ gửi tối đa 10 ảnh và 3 video, mỗi video tham chiếu dài không quá 3 giây.