ลองใช้ API Google Gemini Omni 1.1 Flash สร้างวิดีโอจากภาพและคลิปอ้างอิง ตัวแบบ ฉาก และการเคลื่อนไหวตรงกัน
Google Gemini Omni 1.1 Flash Reference-to-Video API ช่วยให้นักพัฒนาใช้สื่อภาพเป็นแนวทางสร้างสรรค์สำหรับ วิดีโอที่สร้างขึ้นได้ ป้อนภาพอ้างอิง คลิปวิดีโอ หรือทั้งสองอย่าง แล้วอธิบายผลลัพธ์ที่ต้องการสร้าง Gemini video API ช่วยเปลี่ยนอินพุตเหล่านั้นให้เป็นฉากเคลื่อนไหวใหม่ ทำให้ทีมสร้างสรรค์มีวิธีที่ยืดหยุ่นในการกำหนดองค์ประกอบภาพ รายละเอียดของตัวแบบ บรรยากาศ และทิศทางบน Best Image AI
แนวทางอ้างอิงแบบหลายโมดัล: ใช้ภาพ คลิปวิดีโอ หรือทั้งสองอย่างร่วมกันเป็นสื่อภาพสำหรับลำดับภาพ ที่สร้างขึ้นใหม่
ทิศทางสร้างสรรค์ที่ควบคุมด้วยพรอมต์: ใช้ข้อมูลอ้างอิงร่วมกับแนวทางภาษาธรรมชาติสำหรับการเคลื่อนไหวของตัวแบบ ฉาก พฤติกรรมของกล้อง แสง และอารมณ์
บริบทด้านภาพที่สมบูรณ์: รวมรายละเอียดด้านภาพจากสื่อหลายรายการที่ป้อนเข้ามา เมื่อพรอมต์เพียงรายการเดียวไม่ เพียงพอที่จะสื่อทิศทางที่ต้องการ
การสร้างฉากโดยอิงข้อมูลอ้างอิง: ใช้แอสเซ็ตที่เลือกเป็นจุดเริ่มต้นเชิงสร้างสรรค์สำหรับการเคลื่อนไหว องค์ประกอบภาพ และ การพัฒนาบรรยากาศในเอาต์พุต
การนำเสนอวิดีโอที่ยืดหยุ่น: เลือกรูปแบบแนวนอนหรือแนวตั้ง คุณภาพเอาต์พุต และความยาวคลิปแบบกระชับให้เหมาะกับ บริบทการรับชมที่วางแผนไว้
เวิร์กโฟลว์ API ที่ปรับขนาดได้: ผสานการสร้างวิดีโอตามข้อมูลอ้างอิงเข้ากับคลังแอสเซ็ต เครื่องมือสร้างสรรค์ ระบบแคมเปญ และไปป์ไลน์การผลิต
อินพุต: ภาพอ้างอิงแบบไม่บังคับ คลิปวิดีโออ้างอิงแบบไม่บังคับ และพรอมต์ภาษาธรรมชาติที่อธิบาย ฉากที่ต้องการสร้าง
เอาต์พุต: คลิปวิดีโอใหม่ที่สร้างผ่านเวิร์กโฟลว์ Gemini Omni 1.1 Flash reference-to-video API
ทิศทางอ้างอิง: เลือกสื่อภาพที่สื่อถึงตัวแบบ ฉาก องค์ประกอบภาพ หรือ โทนสร้างสรรค์ที่ต้องการ แล้วเพิ่มคำสั่งการเคลื่อนไหวที่ชัดเจน
การควบคุมรูปแบบ: เลือกแนวเอาต์พุต ระดับคุณภาพ และระยะเวลาที่กระชับให้เหมาะกับกรณีใช้งานสุดท้าย
ความสามารถ: การสร้างวิดีโอตามข้อมูลอ้างอิง อินพุตสร้างสรรค์แบบหลายโมดัล การเคลื่อนไหวตามพรอมต์ การประกอบบริบท ด้านภาพ และการสร้างฉากแบบภาพยนตร์
การพัฒนาแนวคิดแคมเปญ: ผสานภาพหลักที่ได้รับอนุมัติ ภาพสื่ออารมณ์ และข้อมูลอ้างอิงการเคลื่อนไหว เพื่อสำรวจ ทิศทางวิดีโอแคมเปญใหม่
ระบบสร้างสรรค์ของแบรนด์: ใช้คลังภาพที่คัดสรรมาเป็นแนวทางในการสร้างแนวคิดวิดีโอที่เริ่มต้นจาก ภาษาสร้างสรรค์ที่กำหนดไว้
การสร้างภาพสตอรีบอร์ดและการนำเสนอ: เปลี่ยนบอร์ดอ้างอิงและสื่อคลิปที่เลือกให้เป็นฉากเคลื่อนไหวสั้น ๆ เพื่อพิสูจน์แนวคิด
การปรับเนื้อหา: สร้างทิศทางวิดีโอใหม่จากแอสเซ็ตภาพที่มีอยู่ เมื่อพรอมต์ข้อความเพียงอย่างเดียวไม่สามารถ ถ่ายทอดบริบทสร้างสรรค์ได้เพียงพอ
การดำเนินงานสร้างสรรค์ในวงกว้าง: เพิ่มการสร้างที่รับรู้ข้อมูลอ้างอิงลงในเครื่องมือจัดการแอสเซ็ต ไปป์ไลน์เนื้อหา และ แพลตฟอร์มสร้างสรรค์ภายใน
หมายเหตุ ข้อมูลอ้างอิงให้แนวทางสร้างสรรค์ แต่ไม่ได้ทดแทนพรอมต์ที่แม่นยำ เพื่อผลลัพธ์ที่ดีที่สุด ควรอธิบายการเคลื่อนไหวที่ต้องการ การเคลื่อนกล้อง และผลลัพธ์ของฉาก ควบคู่กับการป้อนสื่อภาพ
Gemini Omni 1.1 Flash เทียบกับเวิร์กโฟลว์ Google Veo Reference Video: Google Veo มอบความสามารถด้านวิดีโอสร้างสรรค์ ที่หลากหลาย ส่วน Gemini Omni 1.1 Flash นำเสนอแนวทางการสร้างโดยอิงข้อมูลอ้างอิง ซึ่งอยู่ร่วมกับการสร้างข้อความ การทำ ภาพเคลื่อนไหว และการตัดต่อวิดีโอในตระกูลโมเดลเดียวกัน
Gemini Omni 1.1 Flash เทียบกับ Runway: Runway มอบวิธีที่หลากหลายให้ครีเอเตอร์ทำงานกับสื่อต้นฉบับและเครื่องมือ สร้างสรรค์ ส่วน Gemini Omni 1.1 Flash เหมาะกับนักพัฒนาที่สร้างเวิร์กโฟลว์วิดีโอตามข้อมูลอ้างอิงผ่าน API
Gemini Omni 1.1 Flash เทียบกับ Kling AI: Kling รองรับการสร้างวิดีโอ AI ที่ขับเคลื่อนด้วยภาพ ส่วน Gemini Omni 1.1 Flash มอบอินพุตภาพและวิดีโออ้างอิงที่ยืดหยุ่น พร้อมทิศทางตามพรอมต์สำหรับทีมที่ต้องการโฟลว์การสร้าง แบบบูรณาการ
Gemini Omni 1.1 Flash เทียบกับ Pika: Pika เป็นที่นิยมสำหรับการทดลองด้านภาพที่เข้าถึงง่าย ส่วน Gemini Omni 1.1 Flash เป็น ทางเลือกที่ใช้งานได้จริงเมื่อข้อมูลอ้างอิงเชิงสร้างสรรค์ต้องเป็นส่วนหนึ่งของเวิร์กโฟลว์วิดีโอแบบมีโครงสร้างและตั้งโปรแกรมได้
Gemini Omni 1.1 Flash เทียบกับ Luma Dream Machine: Luma Dream Machine รองรับการสำรวจแนวคิดอย่างรวดเร็วจากพรอมต์ Gemini Omni 1.1 Flash เพิ่มแนวทางอ้างอิงแบบหลายโมดัลสำหรับทีมที่ต้องการนำบริบทด้านภาพเข้าสู่คลิป ที่สร้างขึ้นแต่ละรายการมากขึ้น
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.1-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: 8,
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.1-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': 8,
'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.1-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": 8,
"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)