試用 Google Gemini Omni 1.1 Flash API,以圖片和短影片參考素材引導影片生成,讓主體、場景與動作保持一致,輕鬆打造視覺連貫且富有吸引力與品牌風格的作品。
Google Gemini Omni 1.1 Flash Reference-to-Video API 讓開發者能夠使用視覺素材作為創意引導,生成 影片。提供參考圖片、影片片段或同時提供兩者,然後描述您想要建立的結果。Gemini 影片 API 可將這些輸入轉化為全新的動態場景,讓創意團隊能夠在 Best Image AI 上靈活塑造構圖、 主體特徵、氛圍和方向。
多模態參考素材引導: 使用圖片、影片片段或兩者的組合,作為生成全新 影片序列的視覺素材。
提示詞控制的創意方向: 將參考素材與主體動作、 場景、鏡頭行為、燈光和氛圍方面的自然語言指引相結合。
豐富的視覺情境: 當單一提示詞不足以 傳達預期方向時,整合多個所提供素材中的視覺線索。
參考素材引導的場景創作: 將所選素材作為輸出中動作、構圖和 氛圍塑造的創意起點。
彈性的影片呈現: 根據計畫的觀看情境,選擇橫向或直向格式、輸出品質和精簡的 片段時長。
可擴展的 API 工作流程: 將參考素材引導的影片生成整合至素材庫、創意工具、 行銷活動系統和製作流程中。
輸入: 可選的參考圖片、可選的參考影片片段,以及描述 預期生成場景的自然語言提示詞。
輸出: 透過 Gemini Omni 1.1 Flash Reference-to-Video API 工作流程建立的新影片片段。
參考方向: 選擇能夠傳達所需主體、場景、構圖或 創意基調的視覺素材,然後新增明確的動作指令。
格式控制: 選擇適合最終使用情境的輸出方向、品質等級和精簡時長。
功能: 參考素材引導的影片生成、多模態創意輸入、提示詞引導的動作、視覺情境 整合和電影級場景創作。
行銷活動概念開發: 結合已獲核准的主視覺、氛圍圖片和動作參考,探索新的 行銷活動影片方向。
品牌創意系統: 使用精心挑選的視覺素材庫作為引導,生成以 明確創意語言為起點的影片概念。
故事板和提案視覺化: 將參考板和所選片段素材轉化為精簡的 概念驗證動態場景。
內容改編: 當僅憑文字提示詞無法 傳達足夠的創意情境時,從現有視覺素材建立新的影片方向。
規模化創意營運: 將感知參考素材的生成能力整合至素材管理工具、內容流程和 內部創作平台中。
注意 參考素材提供創意引導,但不能取代精確的提示詞。為獲得最佳效果, 除提供視覺素材外,還應說明預期動作、鏡頭運動和場景成果。
Gemini Omni 1.1 Flash 與 Google Veo 參考影片工作流程對比: 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)