体验 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)