# Seedance 1.5 Pro API Tài liệu tham khảo API đầy đủ cho các mô hình tạo video Seedance 1.5 Pro. ## Các Biến Thể Mô Hình API này hỗ trợ hai biến thể mô hình: | Mô hình | ID | Mô tả | |---------|-----|--------| | **Seedance 1.5 Pro Text to Video** | `seedance-v1.5-pro-text-to-video` | Tạo video từ văn bản chất lượng cao | | **Seedance 1.5 Pro Image to Video** | `seedance-v1.5-pro-image-to-video` | Làm động ảnh với điều khiển chuyển động | ## So Sánh Nhanh | Tính năng | Text to Video | Image to Video | |-----------|---------------|----------------| | Đầu vào | Prompt văn bản | Ảnh + Prompt văn bản | | Khoảng thời lượng | 4-12 giây | 4-12 giây | | Tùy chọn độ phân giải | 480p, 720p, 1080p | 480p, 720p, 1080p | | Khung đầu | Không hỗ trợ | Bắt buộc | | Khung cuối | Không hỗ trợ | Không hỗ trợ | | Hỗ trợ âm thanh | Tùy chọn | Tùy chọn | | Audio URL | Không hỗ trợ | Không hỗ trợ | ### Tỷ Lệ Khung Hình Được Hỗ Trợ `21:9`, `16:9`, `9:16`, `1:1`, `4:3`, `3:4` ### Tùy Chọn Độ Phân Giải | Độ phân giải | Mô tả | |--------------|-------| | `480p` | Độ phân giải tiêu chuẩn, xử lý nhanh hơn | | `720p` | Độ phân giải cao, cân bằng giữa chất lượng và tốc độ | | `1080p` | Full HD, chất lượng đầu ra cao nhất | ## Seedance 1.5 Pro Text to Video ### Endpoint ``` POST /api/v1/video/task ``` ### Tham Số Yêu Cầu #### Bắt Buộc | Tham số | Kiểu | Mô tả | |---------|------|-------| | `model_name` | string | Phải là `"seedance-v1.5-pro-text-to-video"` | | `prompt` | string | Prompt tạo video | | `duration` | number | Thời lượng video tính bằng giây (4-12) | | `resolution` | string | Độ phân giải đầu ra: `"480p"`, `"720p"`, hoặc `"1080p"` | | `aspect_ratio` | string | Tỷ lệ khung hình video: `"21:9"`, `"16:9"`, `"9:16"`, `"1:1"`, `"4:3"`, hoặc `"3:4"` | #### Tùy Chọn | Tham số | Kiểu | Mô tả | |---------|------|-------| | `sound` | boolean | Tạo âm thanh xung quanh cho video | | `camera_fixed` | boolean | Khóa vị trí máy quay, vô hiệu hóa chuyển động máy quay | | `seed` | number | Seed ngẫu nhiên để tái tạo kết quả ổn định | ### Ví Dụ 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: 'seedance-v1.5-pro-text-to-video', prompt: 'A golden retriever running through a sunlit meadow', duration: 6, resolution: '1080p', aspect_ratio: '16:9' }) }); const { data } = await response.json(); const taskId = data.task_id; ``` **Ví dụ chỉ body với các tham số tùy chọn:** ```javascript { model_name: 'seedance-v1.5-pro-text-to-video', prompt: 'A golden retriever running through a sunlit meadow', duration: 6, resolution: '1080p', aspect_ratio: '16:9', sound: true, camera_fixed: false, seed: 42 } ``` ## Seedance 1.5 Pro Image to Video ### Tham Số Yêu Cầu #### Bắt Buộc | Tham số | Kiểu | Mô tả | |---------|------|-------| | `model_name` | string | Phải là `"seedance-v1.5-pro-image-to-video"` | | `prompt` | string | Prompt tạo video | | `duration` | number | Thời lượng video tính bằng giây (4-12) | | `resolution` | string | Độ phân giải đầu ra: `"480p"`, `"720p"`, hoặc `"1080p"` | | `aspect_ratio` | string | Tỷ lệ khung hình video: `"21:9"`, `"16:9"`, `"9:16"`, `"1:1"`, `"4:3"`, hoặc `"3:4"` | | `image_url` | string | Khung đầu tiên của video | #### Tùy Chọn | Tham số | Kiểu | Mô tả | |---------|------|-------| | `sound` | boolean | Tạo âm thanh xung quanh cho video | | `camera_fixed` | boolean | Khóa vị trí máy quay, vô hiệu hóa chuyển động máy quay | | `seed` | number | Seed ngẫu nhiên để tái tạo kết quả ổn định | ### Ví Dụ 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: 'seedance-v1.5-pro-image-to-video', image_url: 'https://example.com/image.jpg', prompt: 'Camera slowly pulls back to reveal the full landscape', duration: 6, resolution: '1080p', aspect_ratio: '16:9' }) }); const { data } = await response.json(); const taskId = data.task_id; ``` **Ví dụ chỉ body:** ```javascript { model_name: 'seedance-v1.5-pro-image-to-video', image_url: 'https://example.com/image.jpg', prompt: 'Camera slowly pulls back to reveal the full landscape', duration: 6, resolution: '1080p', aspect_ratio: '16:9', sound: true } ``` ## Định Dạng Phản Hồi ### Phản Hồi Ban Đầu Cả hai mô hình đều trả về `task_id` để polling: ```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 Polling Gọi `GET /api/v1/video/{taskId}` để 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 chấp nhận và đang chờ xử lý - `processing`: Đang tạo video - `succeed`: Tạo video hoàn tất - `failed`: Tạo video thất bại ## Thời Gian Xử Lý Thời gian xử lý thông thường: 2-5 phút tùy thuộc vào thời lượng và độ phân giải. Các video dài hơn ở độ phân giải 1080p có thể mất tới 8 phút. Thực hiện polling mỗi 5-10 giây để kiểm tra trạng thái. ## Các Phương Pháp Tốt Nhất 1. **Mô tả chuyển động rõ ràng**: Bao gồm các mô tả chuyển động cụ thể trong prompt để có kết quả dự đoán được hơn 2. **Lựa chọn độ phân giải**: Sử dụng `480p` hoặc `720p` để lặp nhanh hơn, `1080p` cho đầu ra cuối cùng 3. **Kiểm soát máy quay**: Đặt `camera_fixed: true` khi bạn muốn chủ thể là trọng tâm mà không có sự dịch chuyển máy quay 4. **Tỷ lệ khung hình**: Khớp tỷ lệ khung hình với nền tảng đích (ví dụ: `9:16` cho di động, `16:9` cho máy tính) 5. **Khả năng tái tạo**: Sử dụng tham số `seed` để tái tạo hoặc lặp lại trên một thế hệ cụ thể 6. **Chất lượng ảnh**: Đối với image-to-video, sử dụng ảnh đầu vào có độ phân giải cao, ánh sáng tốt để có kết quả tốt nhất