A paper boat released into a clear forest stream drifts downstream toward the lip of a small mossy waterfall, the camera following at water level past smooth stones and ferns. Natural sound: babbling water growing louder near the falls, birdsong, a distant woodpecker. Realistic motion, no text, no logos.
Veo 3.1 Fast Official Image-to-Video API
google/veo3.1-fast/image-to-videoVeo 3.1 Fast Official 将静态图像与文本指令转化为高保真动态影像。支持首帧画面动态唤醒与首尾双帧平滑过渡,在极速出片与材质光影保真之间取得黄金平衡,同步生成动作对齐的原生音频,最高输出 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/veo3.1-fast/image-to-video",
"input": {
"prompt": "A paper boat released into a clear forest stream drifts downstream toward the lip of a small mossy waterfall, the camera following at water level past smooth stones and ferns. Natural sound: babbling water growing louder near the falls, birdsong, a distant woodpecker. Realistic motion, no text, no logos.",
"duration": 8,
"aspect_ratio": "16:9",
"sound": true,
"resolution": "720p",
"image_urls": [
"https://cdn.vidgo.ai/apis/models/google/veo-3.1-fast-official/image-to-video/v1/01/input-start-frame.png",
"https://cdn.vidgo.ai/apis/models/google/veo-3.1-fast-official/image-to-video/v1/01/input-end-frame.png"
],
"generation_type": "frame"
}
}
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-17T10: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/veo3.1-fast/image-to-video",
"input": {
"prompt": "A paper boat released into a clear forest stream drifts downstream toward the lip of a small mossy waterfall, the camera following at water level past smooth stones and ferns. Natural sound: babbling water growing louder near the falls, birdsong, a distant woodpecker. Realistic motion, no text, no logos.",
"duration": 8,
"aspect_ratio": "16:9",
"sound": true,
"resolution": "720p",
"image_urls": [
"https://cdn.vidgo.ai/apis/models/google/veo-3.1-fast-official/image-to-video/v1/01/input-start-frame.png",
"https://cdn.vidgo.ai/apis/models/google/veo-3.1-fast-official/image-to-video/v1/01/input-end-frame.png"
],
"generation_type": "frame"
}
}
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–1,000 个字符。 |
| image_urls | array | 是 | — | 1 或 2 个公开图片 URL。传入两张图时会同时发送 generation_type 为 frame。 |
| generation_type | string | 否 | 双图时为 frame | 可省略。单图省略时不发送该字段;双图省略时默认 frame。显式传 frame 必须提供两张图片。 |
| duration | integer | 否 | 8 | 4、6 或 8,单位为秒。 |
| aspect_ratio | string | 否 | 16:9 | auto、16:9 或 9:16。 |
| resolution | string | 否 | 720p | 720p / 1080p / 4k。 |
| sound | boolean | 否 | true | true 生成原生音频;false 返回静音片段。 |
响应字段
提交成功后返回任务 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 接收终态任务对象;投递失败时仍可轮询。
模型规格
| 规格 | 取值 | 说明 |
|---|---|---|
| 输入模式 | 图片 + 文本 | 必须提供首帧图片;可选尾帧用于首尾帧控制。 |
| 输出 | 可选原生音频的视频 | 提交后返回异步任务 ID;完成后包含视频文件。 |
| 分辨率 | 720p / 1080p / 4k | 默认 720p。 |
| 时长 | 4 / 6 / 8 秒 | 默认 8 秒。 |
| 画面比例 | auto / 16:9 / 9:16 | 默认 16:9。 |
| 计费依据 | 按秒计费 | 720p 无音频 10 积分/秒; 带音频 15 积分/秒. 1080p 无音频 10 积分/秒; 带音频 15 积分/秒. 4k 无音频 30 积分/秒; 带音频 35 积分/秒. |
Veo 3.1 Fast Official Image-to-Video
Google Veo 3.1 Fast Official 图生视频端点专为视觉资产的高速动态化打造。以单张首帧启动镜头动作,或输入两张图片构建首尾帧自然演进,结合文本指令控制运镜与空间声场,将产品摄影与概念原画快速转化为 4–8 秒可交付的商业动态片段。
为什么选择此端点?
首帧动态唤醒深度解析并继承输入图片的构图、角色特征与光影质感,自然顺畅地展开第一秒运动轨迹。
首尾双帧精准过渡传入首尾两张关键帧图片,模型将基于物理规律自动补全中间平滑演进与姿态变换。
高保真主体连贯性在极速生成节奏下仍保持面容、产品细节与光照反射稳定,适合高频电商与品牌视觉量产。
动作对齐的原生音效根据画面动势与提示词一体化生成环境声与物理音效,批量出片时显著减少后期音轨工作。
720p 至 4K 全梯队输出支持 720p、1080p 与 4K,探索阶段高速迭代,交付阶段一键升至超高清终版。
灵活透明的按秒计费支持 4/6/8 秒精确时长控制与独立音频开关,让从草稿验证到批量成片的成本清晰可控。
参数
| 参数 | 要求 | 说明 |
|---|---|---|
| prompt | 必填 | 字符串。描述场景、动作、运镜、光线和声音;去除首尾空格后为 1–1,000 个字符。 |
| image_urls | 必填 | 包含 1–2 个公开 URL 的字符串数组。第一张是首帧,可选第二张是尾帧,传入两张图时会发送 generation_type 为 frame。JPEG、PNG 或 WebP,每张最大 10 MB。 |
| generation_type | 可选 | 可省略。单图省略时不发送该字段;双图省略时默认 frame。显式传 frame 必须提供两张图片。 |
| duration | 可选 | 整数。设置输出时长;体验区默认预选 8 秒。 默认 846 |
| aspect_ratio | 可选 | 字符串。控制画面比例;体验区默认预选 16:9。图生视频还可使用 auto。 默认 16:9auto9:16 |
| resolution | 可选 | 字符串。设置输出分辨率;体验区默认预选 720p。 默认 720p1080p4k |
| sound | 可选 | 布尔值。是否生成原生音频;体验区默认预选 true。 默认 truefalse |
如何使用
上传清晰首帧图片选取主体鲜明、光影层次丰富的图片作为开场基准(JPEG/PNG/WebP,最大 10MB),为模型确立视觉起点。
选配尾帧引导过渡如需设计确定性的终点画面或姿态变化,添加可选尾帧图片,模型将自动切换为首尾帧演变模式。
用提示词指导动势与运镜描述从起始画面的动态演变,例如“人物从静止状态缓缓转身走向落地窗,摄影机平稳跟随推近,窗外雨滴声渐强”。
配置画幅、时长与音频画面比例可选用 auto 继承原图比例或指定 16:9 / 9:16;配置 4/6/8 秒时长与原生音效开关,日常量产用 720p/1080p,终版可升 4K。
查看费用预估并运行确认当前按秒折算的积分预估,点击“运行”,任务完成后直接在线预览视听效果并下载。
价格
Veo 3.1 Fast Official 按生成秒数计费。最终费用 = 时长 × 所选每秒费率。美元换算采用当前基础 API 计费:2,000 积分 = $10。示例:Fast 8 秒 720p 带音频任务为 8 × 15 = 120 积分,按基础 API 积分汇率约 $0.6。
| 用量 | 费率 | 说明 |
|---|---|---|
| 720p,无音频 | 10 积分/秒($0.05/秒) | 8 秒 = 80 积分($0.4)。 |
| 720p,带音频 | 15 积分/秒($0.075/秒) | 默认 720p / 8 秒带音频为 120 积分($0.6)。 |
| 1080p,无音频 | 10 积分/秒($0.05/秒) | 8 秒 = 80 积分($0.4)。 |
| 1080p,带音频 | 15 积分/秒($0.075/秒) | 8 秒 = 120 积分($0.6)。 |
| 4k,无音频 | 30 积分/秒($0.15/秒) | 8 秒 = 240 积分($1.20)。 |
| 4k,带音频 | 35 积分/秒($0.175/秒) | 8 秒 = 280 积分($1.40)。 |
适用场景
电商产品高速演示量产将棚拍产品图批量转化为环绕展示或微距光影流动短片,在保证主体一致性的同时支撑高频上新节奏。
品牌视觉与动态海报结合竖屏画幅与原生音效,把静态平面海报快速延展为具备视听冲击力的社媒投放素材。
概念原画快速唤醒为游戏设定、插画立绘注入自然肢体动作与光影视差,适合评审前的多版动势试拍与快速定稿。
首尾帧转场批量打样用双图关键帧快速验证环境变迁与姿态过渡,确认节奏后升至 1080p/4K 完成带音频的商业交付。
专业建议
- 尊重首帧既有物理逻辑:提示词应基于首帧已有的主体形态、光影朝向与空间纵深展开运动描述,避免提出违背原图物理结构的突兀指令。
- 首尾帧过渡的提示词策略:使用双图模式时,提示词重点应描述“中间过程是如何发生的”,明确主体的动作路径、摄影机运动轨迹与中间过渡节奏。
- 利用 auto 画幅保持构图完整:首帧上传后推荐将 aspect_ratio 设为 auto,模型将自动契合原图长宽比,避免画面拉伸或边缘裁剪。
- 声画细节联动描写:描述与原图动作相关的声音源,例如“Audio: 激流奔涌与水汽弥漫的浑厚水声”,增强视听沉浸感。
- 阶梯式量产工作流:先用 Lite(720p/无音频)摸索动势与首尾帧契合度,锁定后再切换至 Fast 1080p 或 4K 并开启音频完成批量交付。
使用说明
- Veo 3.1 Fast Official Image-to-Video 使用必填文本提示词生成视频,并可通过时长、分辨率、画面比例和音频设置配置输出。
- 提示词上限为 1,000 个字符。时长支持 4、6 或 8 秒。
- 通过 sound 参数请求带音频或静音输出。带音频与无音频任务使用不同的按秒费率。
- Fast 和 Quality Official 支持 720p、1080p 和 4K。
- 图生视频可传入一张首帧,或两张图做首尾帧控制。
- 通过 API 提交后保存 task_id,用于查询任务进度和获取生成结果。
相关模型
Veo 3.1 Fast Official Image-to-Video API 常见问题
Veo 3.1 Fast Official Image-to-Video API 是什么?
Veo 3.1 Fast Official Image-to-Video 是 Google Veo 3.1 系列中面向高频生产的图生视频平衡档位。它能以单张静态图片作为首帧生成连贯运动,或通过两张图片实现精准的首尾关键帧平滑过渡,支持最高 4K 与同步原生音效,适合电商演示与品牌视觉量产。可通过 Vidgo API 程序化调用,或在上方工作区直接体验。
在 API 请求中应使用哪个 model 标识?
在提交请求的 model 字段中请填入 google/veo3.1-fast/image-to-video。如需使用 Quality 或 Lite 变体,请分别填入 google/veo3.1/image-to-video 或 google/veo3.1-lite/image-to-video。请勿使用包含 -official 的页面路径作为模型 ID。
图生视频支持传入几张图片?工作模式有何区别?
支持传入 1 张或 2 张图片:传入 1 张图片时为首帧启动模式,模型以该图为第一帧展开后续动作;传入 2 张图片时为首尾帧模式,系统会自动发送 generation_type: "frame",并解算出两张图片之间的平滑过渡动作。
Fast 图生视频能生成动作对齐的原生音频吗?
可以。配置 sound: true 并在提示词中描述声音要素(例如风声、引擎声、脚步声),模型即可在输出 MP4 中直接内嵌与画面动作精准对齐的原生音轨,显著缩短批量出片的后期流程。
画幅比例选择 auto 有什么好处?
当选择 auto 时,系统会自适应输入图片的原始比例生成视频,最大程度保留原图的构图完整性与画面边缘细节;也可主动指定 16:9 横屏或 9:16 竖屏以适配特定终端媒介。
什么时候该选 Lite、Fast 或 Quality?
需要低成本、超高速验证动画可行性时选 Lite;需要兼顾出片效率、主流画质与 4K 支持、支撑高频商业量产时选 Fast;需要最高画质保真度与旗舰成片交付时选用 Quality。
Fast 的按秒计费如何支持批量生产?
任务费用严格按视频时长(4/6/8 秒)乘以对应分辨率与音频状态的每秒费率计算。预览阶段可关闭音频、选用 720p 控制成本;确认动势后再开启音频并升至 1080p/4K,实现从打样到量产的精细管控。
对上传的图片素材有什么要求?
支持 JPEG、PNG 和 WebP 格式,每张图片大小不超过 10 MB。建议上传主体轮廓清晰、光影分明的高分辨率图像,以帮助模型精准理解画面结构与深度信息。