Begin exactly on the first frame and finish on the last frame. One continuous 8-second locked close-up: the folded paper crane's wings slowly uncrease and lift a few centimeters until they match the end still. Preserve the same crane, paper color, table, window light, and camera. Native audio: dry paper flex, a faint wooden-table creak, quiet room tone. No logos, no readable text, no products, no packaging, no prices, no CTA, no advertising, no watermark, no brand marks.
Gemini Omni 1.1 Flash Image-to-Video API
google/gemini-omni-1.1-flash/image-to-videoGemini Omni 1.1 Flash(Image-to-Video)将首帧图片与文本提示词转化为带原生音频的视频,支持可选尾帧引导和 360p 至 4K 输出。以选定画面的主体与构图为起点,设计动作、运镜和声音,添加尾帧还可规划镜头的结束画面。
请先上传首帧图片,再添加用于引导结束画面的可选尾帧。
生成的视频会显示在这里
填写提示词并添加所需素材,确认设置后点击“运行”。
示例
REST API
快速开始
完成 API 认证,提交素材与生成指令,再通过任务 ID 获取视频结果。
连接 Vidgo API
创建 API Key,仅保存在服务端,并发送 Authorization: Bearer VIDGO_API_KEY。
- 接口
- POST
https://api.vidgo.ai/api/generate/submit - 认证
- Authorization: Bearer VIDGO_API_KEY
提交一次生成任务
按请求示例填写当前端点的素材与设置,提交后保存 task_id,用于后续查询生成进度和结果。
REQUEST_BODY=$(cat <<'JSON'
{
"model": "google/gemini-omni-1.1-flash/image-to-video",
"input": {
"prompt": "Begin exactly on the first frame and finish on the last frame. One continuous 8-second locked close-up: the folded paper crane's wings slowly uncrease and lift a few centimeters until they match the end still. Preserve the same crane, paper color, table, window light, and camera. Native audio: dry paper flex, a faint wooden-table creak, quiet room tone. No logos, no readable text, no products, no packaging, no prices, no CTA, no advertising, no watermark, no brand marks.",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"image_urls": [
"https://cdn.vidgo.ai/apis/models/google/gemini-omni-1.1-flash/image-to-video/v1/01/input-start-frame.webp",
"https://cdn.vidgo.ai/apis/models/google/gemini-omni-1.1-flash/image-to-video/v1/01/input-end-frame.webp"
]
}
}
JSON
)
RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
CODE=$(printf '%s' "$RESPONSE" | jq -r '.code // empty')
if [ "$CODE" != "0" ] && [ "$CODE" != "200" ]; then
printf 'API error: %s
' "$RESPONSE" >&2
exit 1
fi
printf '%s
' "$RESPONSE"等待结果
用 task_id 查询,not_started/running 继续,finished/failed 停止。成功后读取 data.files[].file_url。
查询状态
GET https://api.vidgo.ai/api/generate/status/{task_id}以 2 秒为基准间隔轮询状态,长时间任务可适当拉长间隔。仅在 not_started 或 running 时继续,遇到 finished 或 failed 立即停止。也可以在同一请求中配置 callback_url 接收回调通知。
not_startedrunningfinishedfailed{
"code": 200,
"data": {
"task_id": "task-unified-...",
"status": "running",
"created_time": "2026-09-15T10:00:00Z"
}
}{
"code": 200,
"data": {
"task_id": "task-unified-...",
"status": "finished",
"files": [
{
"file_url": "https://storage.vidgo.ai/generated/video.mp4",
"file_type": "video"
}
],
"created_time": "2026-08-22T10:00:00Z",
"progress": 100,
"error_message": null
}
}完整可运行示例
展开后可查看包含 HTTP 与业务码检查、task_id 校验、轮询、终态处理和超时边界的完整脚本。
set -euo pipefail
: "${VIDGO_API_KEY:?Set VIDGO_API_KEY in your environment}"
REQUEST_BODY=$(cat <<'JSON'
{
"model": "google/gemini-omni-1.1-flash/image-to-video",
"input": {
"prompt": "Begin exactly on the first frame and finish on the last frame. One continuous 8-second locked close-up: the folded paper crane's wings slowly uncrease and lift a few centimeters until they match the end still. Preserve the same crane, paper color, table, window light, and camera. Native audio: dry paper flex, a faint wooden-table creak, quiet room tone. No logos, no readable text, no products, no packaging, no prices, no CTA, no advertising, no watermark, no brand marks.",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"image_urls": [
"https://cdn.vidgo.ai/apis/models/google/gemini-omni-1.1-flash/image-to-video/v1/01/input-start-frame.webp",
"https://cdn.vidgo.ai/apis/models/google/gemini-omni-1.1-flash/image-to-video/v1/01/input-end-frame.webp"
]
}
}
JSON
)
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
TASK_ID=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.data.task_id // .task_id // empty')
BUSINESS_CODE=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Submit failed:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
if [ -z "$TASK_ID" ]; then
printf 'Submit response did not include task_id:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
START_TIME=$(date +%s)
POLL_DELAY=2
while true; do
if [ $(( $(date +%s) - START_TIME )) -ge 600 ]; then
printf 'Timed out after 600 seconds
' >&2
exit 1
fi
STATUS_RESPONSE=$(curl --silent --show-error --fail-with-body \
--url "https://api.vidgo.ai/api/generate/status/$TASK_ID" \
--header "Authorization: Bearer $VIDGO_API_KEY")
STATUS=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.data.status // .status // empty')
BUSINESS_CODE=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Status request failed:
%s
' "$STATUS_RESPONSE" >&2
exit 1
fi
case "$STATUS" in
finished)
printf '%s' "$STATUS_RESPONSE" | jq -r '(.data.files // .files // [])[]?.file_url'
break
;;
failed)
printf '%s' "$STATUS_RESPONSE" | jq -r '.data.error_message // .error_message // "Generation failed"' >&2
exit 1
;;
not_started|running)
sleep "$POLL_DELAY"
if [ "$POLL_DELAY" -lt 10 ]; then POLL_DELAY=$((POLL_DELAY + 1)); fi
;;
*)
printf 'Unexpected task status: %s
' "$STATUS" >&2
exit 1
;;
esac
doneinput 参数
下表列出 input 对象的可用参数、类型与默认值;请求示例同时展示顶层必填字段 model。按当前任务准备素材并配置输出。
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| prompt | string | 是 | — | 去除首尾空格后为 1–20,000 个字符。 |
| image_urls | string[] | 是 | — | 1 或 2 个公开图片 URL。第一张=首帧,可选第二张=尾帧。 |
| duration | integer | 否 | 8 | 4、6、8 或 10,单位为秒。 |
| resolution | string | 否 | 720p | 360p、720p、1080p 或 4k。 |
| aspect_ratio | string | 否 | 16:9 | 16:9 或 9:16。 |
响应字段
提交成功后返回任务 ID;状态查询提供任务进度、输出文件,以及任务失败时的错误详情。
| 字段 | 类型 | 说明 |
|---|---|---|
| code | integer | 业务结果码;成功响应使用 0 或 200。 |
| message | string | 可读说明或错误详情。 |
| data.task_id | string | 用于状态查询路径的任务 ID。 |
| data.status | string | not_started、running、finished 或 failed。 |
| data.created_time | string | 任务创建时间,date-time 格式。 |
| data.progress | integer | 任务进度,范围为 0–100;仅在响应包含此字段时提供。 |
| data.files[] | array | 成功任务的全部输出文件,按响应顺序返回。 |
| data.files[].file_url | string | 生成视频的公开 URL。 |
| data.files[].file_type | string | 文件类型,例如 video。 |
| data.error_message | string | null | 状态为 failed 时的失败详情。 |
任务生命周期
在 not_started 或 running 状态下继续查询;收到 finished 或 failed 后结束轮询,并分别处理输出文件或错误详情。
not_started任务已接受,等待开始。
running正在生成。继续使用同一 task_id 轮询。
finished生成成功。从 data.files[].file_url 读取视频地址。
failed生成失败。读取 data.error_message 并停止轮询。
轮询与错误
- 认证收到 401 时,检查 Authorization 中的 Bearer API Key,更新凭据后重试。
- 校验收到 400 时,依据响应说明核对必填素材、参数取值与可用积分,完成相应调整后重新提交。
- 网络与超时状态查询遇到网络错误或超时时,保留原 task_id 并重试查询,再根据返回的任务状态处理结果。
- 轮询间隔以 2 秒为基准间隔发起状态查询;如任务耗时较长,可逐步增加查询间隔。
- 终态仅在 not_started 或 running 时继续。遇到 finished 或 failed 立即停止。
- 回调选项可在请求顶层提供 callback_url 接收终态任务对象;投递失败时仍可轮询。
模型规格
| 规格 | 取值 | 说明 |
|---|---|---|
| 输入模式 | 提示词 + 1–2 张图 | 第一张图是首帧,可选第二张图是尾帧。 |
| 输出 | 带原生音频的视频 | 提交后返回异步任务 ID。 |
| 图片文件 | JPEG / PNG / WebP | 每张最大 30 MiB。 |
| 分辨率 | 360p / 720p / 1080p / 4k | 默认 720p。 |
| 时长 | 4 / 6 / 8 / 10 秒 | 默认 8 秒。 |
| 计费依据 | 按次生成 | 360p–1080p:4 秒=45、6 秒=60、8 秒=75、10 秒=90 积分。4k:4 秒=105、6 秒=120、8 秒=135、10 秒=150 积分。 |
Gemini Omni 1.1 Flash Image-to-Video
Gemini Omni 1.1 Flash Image-to-Video 将首帧图片与文本提示词转化为带原生音频的动态短片,添加尾帧还可引导镜头的结束画面。以选定图片为视觉起点,设计人物动作、产品展示和镜头运动,让静态素材成为新的视听内容。
为什么选择此端点?
首帧驱动画面动画从选定图片的主体、光线和构图开始生成,把产品主视觉、人像或场景静帧转化为动态镜头。
尾帧引导结束构图添加可选尾帧,说明目标姿态、产品位置或结束画面,为短片设计清晰的视觉收束。
首尾画面过渡同时提供首帧和尾帧,并描述中间的动作与镜头运动,用于设计构图变化和产品转场。
提示词引导运动描述转头、衣物摆动、镜头推进或环绕,让已有画面围绕具体动作展开。
原生声音创作在提示词中加入脚步、环境声或音乐,围绕画面动作设计短片的声音。
灵活的输出规格结合 360p 至 4K 分辨率、横竖画幅和 4–10 秒时长,为产品展示与社交内容选择输出规格。
参数
| 参数 | 要求 | 说明 |
|---|---|---|
| prompt | 必填 | 字符串。在首帧之后指导动作、运镜、画面变化和声音;去除首尾空格后为 1–20,000 个字符。 |
| image_urls | 必填 | 包含 1–2 个公开 URL 的字符串数组。第一张是首帧,可选第二张是尾帧。JPEG、PNG 或 WebP,每张最大 30 MiB。 |
| duration | 可选 | 整数。设置输出时长;体验区默认预选 8 秒。 默认 84610 |
| resolution | 可选 | 字符串。设置输出分辨率;体验区默认预选 720p。 默认 720p360p1080p4k |
| aspect_ratio | 可选 | 字符串。控制画面比例;体验区默认预选 16:9。 默认 16:99:16 |
如何使用
上传首帧图片选择主体与构图清晰的 JPEG、PNG 或 WebP 图片,每张最大 30 MiB,作为视频的开场画面。
添加可选尾帧需要引导结束姿态或构图时,在首帧之后添加尾帧图片;尾帧使用相同格式和大小要求。
描述动作与声音写清从首帧开始的主体动作、镜头运动、光线和声音,提供尾帧时再描述过渡到结尾的过程。
选择分辨率选择 360p、720p、1080p 或 4K,默认 720p;按后续剪辑或展示所需的输出规格配置。
选择视频时长选择 4、6、8 或 10 秒,默认 8 秒,根据主要动作和镜头节奏安排片段长度。
选择画面比例选择 16:9 横屏或 9:16 竖屏,默认 16:9,结合展示版式安排主体位置。
确认费用并运行查看运行按钮显示的当前配置费用,完成素材上传和提示词填写后点击“运行”。
预览并下载视频任务完成后,在输出面板预览画面与声音,点击“下载视频”保存结果。
价格
按次计费,费用由视频时长和分辨率档位决定,原生音频包含在生成结果中。1 积分 = $0.005。
| 用量 | 费率 | 说明 |
|---|---|---|
| 360p / 720p / 1080p | 4 秒=45、6 秒=60、8 秒=75、10 秒=90 积分 | 默认 720p / 8 秒为 75 积分($0.375)。 |
| 4k | 4 秒=105、6 秒=120、8 秒=135、10 秒=150 积分 | 4k / 8 秒为 135 积分($0.675)。 |
适用场景
商品主视觉动画以商品静帧为首帧,描述镜头推进、环绕和光线变化,为品牌展示制作动态产品素材。
人像动态短片从人物照片开始,描述转头、表情或衣物动作,将人像素材用于角色展示和故事镜头。
首尾构图转场提供开场和结束图片,描述两者之间的动作路径,为产品状态变化或场景衔接设计短片。
分镜画面预演将选定分镜作为首帧,补充运镜与声音,制作供摄影、剪辑和创作团队沟通的镜头预演。
专业建议
- 选择主体轮廓、光线和构图清晰的首帧,让图片为镜头提供明确的视觉起点。
- 从首帧中已有的内容继续描述动作,例如“人物抬起手中的杯子,镜头缓慢推进”,明确画面开始后的变化。
- 添加尾帧时,选择主体特征和视觉风格一致的图片,并说明动作如何过渡到结束姿态。
- 用一句话描述希望延续的面部、服装或场景特征,再单独写出镜头运动,区分保持内容与动态变化。
- 围绕可见动作描述声音,例如脚步落地或产品开合声,让音效与镜头中的事件对应。
使用说明
- Gemini Omni 1.1 Flash Image-to-Video 使用首帧图片与文本提示词生成视频,主要输入为 prompt 和 image_urls;第二张图片可作为尾帧,引导结束画面。还可设置时长、分辨率和画面比例。
- 在提示词中描述对白、音乐或环境声,生成结果包含原生音频。
- API 素材链接使用可公开访问的 HTTP(S) 地址,供服务读取输入文件。
- 通过 API 提交后保存 task_id,用于查询任务进度和获取生成结果。
相关模型
Gemini Omni 1.1 Flash Image-to-Video API 常见问题
Gemini Omni 1.1 Flash Image-to-Video API 是什么?
Gemini Omni 1.1 Flash Image-to-Video 是 Google 研发的图像生成视频模型。它以静态首帧图片为视觉起点,根据文本提示词生成最高 4K 分辨率、包含原生同步音频的动态视频,并支持上传尾帧精确控制结束构图。基于 Gemini 多模态智能架构,它能够在严格继承原图主体身份、服饰质感与构图光影的同时,赋予画面自然的物理运动。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。
Gemini Omni 1.1 Flash 图生视频支持首尾帧插值吗?
支持。在 image_urls 数组中传入第二张图片作为尾帧时,模型会解析两张静帧之间的主体位移与构图差异,自动生成从首帧平滑过渡至尾帧的连贯中间动态,非常适合制作定点转场或闭环动作。
Gemini Omni 1.1 Flash 图生视频如何保持原图主体特征?
模型以首帧图片的主体面容、服饰纹理与空间布光为底层依据。建议上传主体突出、轮廓分明的高清素材,并在提示词中进一步强调关键特征与需要发生的位移动作,为主体运动提供清晰的方向。
Gemini Omni 1.1 Flash 图生视频能为静图补全环境音效吗?
能。模型具有原生音画联合理解能力,会根据首帧图片中的场景氛围(如海滩、雨夜街道或咖啡厅)自动匹配并生成逼真的环境声效与动作音。若有特定配乐或对白要求,也可在提示词中补充说明。
制作循环动图该如何使用 Gemini Omni 1.1 Flash 图生视频?
制作无缝循环动图时,可以将同一张图片同时作为首帧与尾帧上传,并在提示词中加入“平稳环绕”或微动循环描述。模型会在设定时长内完成一个动作循环并精准回归初始画面。
Gemini Omni 1.1 Flash 图生视频需要怎样的图片格式?
支持 JPEG、PNG 和 WebP 等主流图像格式,建议单张大小控制在 20MB 以内。素材应具备清晰的曝光和锐利的主体细节,避免严重失真或过度压缩,以确保模型精确提取面部与材质特征。
在没有提示词时 Gemini Omni 1.1 Flash 图生视频能正常动起来吗?
可以。当不填写 prompt 提示词时,模型会根据首帧画面的物理场景结构进行智能推理,自动为画面人物或自然景物添加合理的微动态(如呼吸、发丝微拂、水波荡漾)。添加提示词则能精确指导特定的镜头推拉或大幅肢体动作。
