对于制作产品演示、课程开场和社交媒体短片的人来说,这是一个常见需求:“我有一张演示者的照片,还有一段已经录好的配音。让照片中的人准确说出这段话。”Pruna AI 的 P-Video-2 Pro Reference 通过一次 API 调用即可完成。你只需发送照片作为参考、音频文件以及 keep_audio: true;模型会围绕你的音轨生成视频,让嘴唇和头部动作跟随台词。本指南将展示准确的请求、费用,以及我们在撰写本文时生成的真实片段。
P-Video-2 Pro Reference 的功能
这是一个参考图转视频模型。你无需用文字描述所有内容,而是向它提供可供参考的素材:
- 参考图片(最多 9 张):角色或产品的外观,或某种风格。
- 参考视频(最多 3 个,每个 2 到 15 秒,合计 15 秒):需要跟随的动作或场景。
- 音频(最多 3 个文件,合计 15 秒)。
- 用于串联这些素材的文本提示词:人物所在的位置以及正在做什么。
输出是一个 5 到 15 秒、带声音的视频片段,分辨率为 480p 或 768p,可使用 Speed 或 Cost 模式,宽高比支持从 16:9 到 9:16,也支持“adaptive”(跟随参考素材)。至少需要一个图片或视频参考。
keep_audio:你的声音,你的话
音频输入有两种截然不同的含义,而 keep_audio 会在两者之间切换:
- 不使用
keep_audio(默认设置)时,音频只是一个样本。模型会模仿声音或音效,但你的文件不会被放入片段中,台词也可能不同。 - 使用
keep_audio: true且只提供一个音频文件时,该文件会成为配乐。声音相同,台词相同;视频(动作、嘴唇)会根据它进行生成。
音轨长度与 duration 的关系如下:如果音频短于时长,它会先播放,模型再生成剩余部分;如果音频更长,则会被裁剪到指定时长;如果音频长度与指定时长相差不到一秒,视频片段会跟随音频长度。因此,请选择接近配音长度的时长。keep_audio 不会改变价格。
价格
每次生成的片段价格由三部分决定:输出秒数(按模式和分辨率计算)、每张参考图片,以及参考视频和音频的秒数。最便宜的组合是 Cost 模式下的 480p。完整的价格档位表请参阅 P-Video-2 Pro Reference 模型页面。
由于价格取决于你的具体输入,生成前请先获取报价。报价接口免费,并会返回一个可用于绑定任务的 quoteId:
curl https://getvibeapi.com/api/media/price \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d @request.json
# 我们针对以下请求在 2026年10月22日 获取的报价
# (7 s、480p、Cost 模式、1 张照片、1 条音轨、keep_audio):
{"ok":true,"priceUsd":0.165625,"isEstimate":false,"chargeBasis":"quote","quoteId":"mq_…","quoteTtlSeconds":900}
报价是一个上限:由于提交前不会测量参考素材,因此系统会按完整额度估算(例如,只要发送了音频,就会按完整的 15 秒参考音频计算)。我们的任务实际扣费正好是报价金额。
分步操作:照片 + 配音 → 会说话的视频片段
1. 准备两个公开文件
你需要一个公开的 HTTPS 人像图片 URL(清晰、正面的人像肩部以上照片效果最佳),以及一个配音文件 URL(MP3 或 WAV)。在我们的测试中,我们通过同一个 API 密钥,使用 Nano Banana 2.1 生成了一位虚构演示者,并使用 gpt-4o-mini-tts 生成了一段 7.3 秒的英语配音。你自己的任何录音也可以采用相同方式。
2. 提交任务
import os, time, requests
API = "https://getvibeapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['GETVIBE_API_KEY']}"}
body = {
"model": "p-video-2-pro-reference",
"prompt": "参考照片中的女性在温馨的面包店里亲切地对着镜头说话,"
"头部动作自然,嘴唇与配音同步",
"opts": {
"mode": "cost", # 最便宜的模式;"speed" 更快
"resolution": "480p", # 或 "768p"
"duration": "7", # 接近配音长度(7.3 s)
"aspect_ratio": "16:9",
"reference_image_urls": ["https://your-cdn.example/presenter.jpg"],
"reference_audio_urls": ["https://your-cdn.example/voiceover.mp3"],
"keep_audio": True, # 使用此音轨作为配乐,而不是作为样本
},
}
job = requests.post(f"{API}/api/media/generate", json=body, headers=HEADERS).json()
print(job["jobId"], job["status"], job["priceRub"])
由于历史原因,该字段名为 priceRub;但在 getvibeapi.com 上,它承载的是 US dollars,数值与报价返回的相同。
3. 轮询结果
while True:
r = requests.get(f"{API}/api/media/jobs/{job['jobId']}", headers=HEADERS).json()
if r["status"] in ("success", "fail"):
break
time.sleep(10)
print(r["status"], r["resultUrls"])
对于生产环境中的批量任务,请使用 webhook 代替轮询;请参阅 媒体 webhook。结果链接会在大约一周后过期,因此请将文件复制到你自己的存储中。
我们得到的结果
我们的任务在几分钟内完成,状态为 success。结果是一个 MP4:832×480,时长 7.33 秒,并带有音轨。我们对其进行了以下检查:
- 声音是我们自己的。我们逐样本比较了视频片段的音轨与原始配音样本:在零偏移处的相关系数为 0.99998。模型保留了该文件,而不是重新生成一个模仿声音的版本。
- 面部保持一致。第 1、3 和 5 秒的画面显示,人物仍然是参考照片中的同一位女性(头发、耳环、绿色亚麻衬衫均一致);她现在按照提示词出现在面包店中,并伴随明显的嘴部动作说话。
- 长度跟随音轨。7.3 秒的配音配合
duration: "7"生成了一个 7.33 秒的视频片段,符合相差不到一秒时跟随音频长度的规则。
Cost 模式下的 480p 适合预览和小尺寸社交媒体格式。对于最终版本,确认提示词效果满意后,再使用相同请求生成 768p 版本。
技巧与限制
- 使用
keep_audio时,请发送恰好一个音频文件;如果发送两个或三个,请求会被拒绝,并返回明确的错误信息。 - 将配音控制在 15 秒以内。对于更长的脚本,请拆分为多个片段后再拼接。
- 每张参考图片都会计费,包括
first_frame_url和last_frame_url。通常一张优质人像就足够了。 - 在提示词中描述场景和说话方式(“平静、讲解中”,“微笑、充满活力”);具体台词来自你的音频。
- 只能使用你拥有相关权利的照片和声音。未经真实人物同意,不要冒充他们。
其他视频模型(包括文本转视频和图像转视频选项)列在模型页面上,而通过一个 API 处理图像、视频和声音则概括介绍了媒体任务流程。完整请求参考请参阅:媒体生成文档。
适用场景
由静态照片和现成配音制作的会说话视频片段,适用于台词固定、每次都使用同一张脸的各种工作流:
- 产品和功能公告。只需录制一次 10 秒脚本,通过仅修改提示词,就能让演示者在不同背景前进行演示。
- 课程和入门介绍。每节课都使用一致的主持人,无需为每节课分别预订摄影棚。
- 本地化版本。用另一种语言录制或合成配音,并生成匹配的视频片段;嘴唇会跟随新的音频。
- 客户支持短片。制作简短的“如何执行 X”视频,在这类场景中,措辞准确性比电影感动作更重要。
它有两点并不适合:它不是长篇数字人头像工具(每次生成最长 15 秒),也不能用来编辑现有视频。如果要改变已有素材的画面外观,请参阅 Kling 3.0 Omni Transformation。
常见问题
我可以让照片中的人用我自己录制的声音说话吗?
可以。将照片发送到 reference_image_urls,将录音作为 reference_audio_urls 中的唯一项目,并设置 keep_audio: true。录音会成为视频片段的配乐,嘴唇动作会根据它生成。
不使用 keep_audio 会怎样?
音频仅会作为模仿样本使用。你的文件不会出现在输出中,视频片段中的台词也可能不同。
视频片段最长可以多长?
每次生成 5 到 15 秒。参考音频合计最长为 15 秒。
制作一个会说话的视频片段需要多少钱?
这取决于时长、分辨率、模式以及你发送的参考素材。生成前,请通过免费的 /api/media/price 接口获取确切价格;上面展示了我们的 7 秒、480p、Cost 模式、包含一张照片和一条音轨的视频片段的价格。实时价格档位请参阅模型页面。
输出带水印吗?
我们没有在自己的视频片段中看到水印。
