
Văn bản thành hình ảnh
Tạo hình ảnh AI từ câu lệnh văn bản
Tạo video theo ảnh, clip ngắn hoặc cả hai với API Google Gemini Omni 1.2 Flash. Chọn cách bố trí khung hình và thời lượng cho cảnh bạn muốn tạo. Đặt riêng thời lượng đầu ra.
Trên Best Image AI, Gemini Omni 1.2 Flash Reference-to-Video API tạo video mới từ câu lệnh và tư liệu hình ảnh được cung cấp. Bạn có thể gửi kèm ảnh, đoạn phim ngắn hoặc cả hai cùng với bản mô tả. Quy trình này phù hợp khi cần dựa vào tư liệu có sẵn để tạo cảnh mới, đồng thời cho phép chọn riêng thời lượng, độ phân giải và hướng khung hình đầu ra.
Tham chiếu hình ảnh: Dùng hình ảnh nhân vật, sản phẩm hoặc phong cách để định hướng diện mạo của cảnh mới.
Tham chiếu chuyển động: Gửi đoạn phim ngắn kèm theo phần mô tả cảnh để thể hiện chuyển động mong muốn.
Kết hợp ảnh và video tham chiếu: Đưa ảnh tĩnh và ví dụ về chuyển động vào cùng một bản mô tả để định hướng việc tạo video mới.
Tạo video theo câu lệnh: Mô tả cảnh mong muốn và giải thích mối liên hệ giữa các tư liệu được cung cấp với cảnh đó.
Đầu vào: Cung cấp câu lệnh và ít nhất một ảnh hoặc video tham chiếu. Bạn có thể dùng riêng một loại tư liệu hoặc kết hợp cả hai trong cùng yêu cầu.
Chuẩn bị tư liệu: Giữ số lượng ảnh và video trong giới hạn tương ứng, đồng thời dùng các đoạn phim tham chiếu ngắn. Xem tài liệu API để biết giới hạn hiện hành về số lượng tư liệu và thời lượng video tham chiếu.
Cài đặt đầu ra: Chọn khung hình ngang hoặc dọc, độ phân giải và thời lượng trong khoảng được hỗ trợ. Độ dài của đoạn phim tham chiếu không quyết định thời lượng đầu ra.
Đầu ra: Lấy video mới tạo sau khi quá trình xử lý hoàn tất.
Tính phí: Phí được tính theo từng giây của thời lượng đầu ra yêu cầu ở độ phân giải đã chọn. Video tham chiếu không phát sinh phí bổ sung.
Phát triển ý tưởng trình bày bằng hình ảnh: Kết hợp bản mô tả cảnh với ảnh hoặc đoạn phim đã chọn để xây dựng ý tưởng video phục vụ việc đánh giá.
Tái sử dụng tư liệu chiến dịch: Đưa hình ảnh có sẵn của chiến dịch vào bản mô tả cho một cảnh video mới.
Làm việc với bảng tham chiếu: Cho phép nhóm sáng tạo chọn tư liệu từ thư viện và gửi kèm câu lệnh tạo video.
Thử ý tưởng chuyển động: Kết hợp video tham chiếu ngắn với hướng dẫn bằng văn bản để thử một chuỗi cảnh mới thay vì chỉnh sửa chính đoạn phim tham chiếu.
Lưu ý Bắt buộc phải có tư liệu tham chiếu. Trong câu lệnh, hãy giải thích vai trò của từng tư liệu và phân biệt kết quả mong muốn với các ví dụ được cung cấp. Kiểm tra riêng thời lượng video tham chiếu và thời lượng video yêu cầu tạo.
So với Text-to-Video: Ngoài câu lệnh, Reference-to-Video còn cần tư liệu hình ảnh. Text-to-Video phù hợp với yêu cầu không cần ảnh hay đoạn phim đi kèm.
So với Image-to-Video: Image-to-Video dùng một ảnh làm khung hình đầu và có thể dùng thêm ảnh khác làm khung hình cuối. Reference-to-Video nhận ảnh và video ngắn làm tư liệu tham chiếu cho một cảnh mới.
So với Video Edit: Video Edit chỉnh sửa video nguồn và giữ thời lượng cũng như tỷ lệ khung hình của video đó. Reference-to-Video cho phép người gửi yêu cầu chọn thời lượng và hướng khung hình của đoạn phim mới độc lập với đoạn phim tham chiếu.
Khám phá nhiều công cụ sáng tạo AI cho quy trình hình ảnh và video nhanh ngay trong trình duyệt, sau đó mở rộng các ý tưởng thành công bằng API mô hình sẵn sàng cho sản xuất của Best Image AI. Best Image AI cung cấp một lớp API thống nhất cho mọi mô hình, giúp bạn dễ dàng sử dụng và mở rộng quy trình.

Tạo hình ảnh AI từ câu lệnh văn bản

Tạo hình ảnh AI từ hình ảnh và câu lệnh văn bản

Tạo video AI từ câu lệnh văn bản

Biến hình ảnh thành video AI

Tạo hình ảnh và video AI trong một không gian làm việc hợp nhất

Tạo video nhất quán từ phương tiện tham chiếu

Xây dựng quy trình hình ảnh và video AI trực quan trên canvas vô hạn
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
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']
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Step 2: Poll for results
const taskId = data.task_id;
const pollResult = async (taskId) => {
const res = await fetch(`https://api.flaq.ai/api/v1/video/${taskId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
return res.json();
};
while (true) {
const pollResultData = await pollResult(taskId);
const status = pollResultData.data.task_status;
if (status === 'succeed') {
console.log(pollResultData.data.task_result.videos[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/video/task',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
json={
'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']
}
)
result = response.json()
task_id = result['data']['task_id']
curl -X POST https://api.flaq.ai/api/v1/video/task \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"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"]
}'
# Step 2: Poll for results
# Replace {task_id} with the task_id returned from the submit response
curl -X GET "https://api.flaq.ai/api/v1/video/{task_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Step 2: Poll for results
task_id = response.json()['data']['task_id']
poll_url = f"https://api.flaq.ai/api/v1/video/{task_id}"
while True:
poll_result = requests.get(poll_url, headers={'Authorization': 'Bearer YOUR_API_KEY'}).json()
status = poll_result['data']['task_status']
if status == 'succeed':
print(poll_result['data']['task_result']['videos'][0]['url'])
break
if status == 'failed':
print(poll_result['data']['task_status_msg'])
break
time.sleep(10)