给一张肖像图和一段音频,拿回一段这张脸把音频说出来的视频 —— 口型和表情逐帧跟着音频走。肖像可以是真人照片、插画,也可以是 AI 生成的脸;音频给 mp3 或 wav 即可。想控制说话的表达方式,可以再加一句提示词。输出时长等于音频时长,按秒计费 $0.02 每秒,10 秒就是 $0.20。常见用法是数字人口播、虚拟形象留言、给已有配音配上对应的口型。
这里没有「时长」参数可以设。成片有多长,取决于你传的那段 audio_url 有多长,计费也按同一个长度算。所以要控制成本,唯一的办法是先把音频剪到你真正需要的那一段:10 秒音频 = 10 秒视频 = $0.20,60 秒 = $1.20。
| 输入 | 它决定什么 | 可以传什么 |
|---|---|---|
| image | 谁在说 —— 画面里被驱动的那张脸 | 公网图片 URL 或 base64 data URI;真人 / 插画 / AI 生成的肖像都行 |
| audio_url | 说什么、说多久 —— 同时决定成片长度和价格 | mp3 / wav 的公网 URL 或 base64 data URI |
prompt 是可选的,用来引导表达和口播风格(例如 "the person is talking to the camera");不传也能出片。
POST /api/v1/video/generations —— 异步:创建后轮询同一个端点取结果,和其它视频模型完全一致。
# AI Lip-Sync — one portrait image + one audio clip -> a talking-head video.
# image and audio_url are required; prompt is optional. The output length
# follows the audio, billed $0.02 per second.
# Both image and audio_url take a public URL or a base64 data URI.
curl -X POST https://apimodels.app/api/v1/video/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ai-lipsync",
"image": "https://example.com/portrait.png",
"audio_url": "https://example.com/voice.mp3",
"prompt": "the person is talking to the camera"
}'
# Poll the same endpoint until state == "completed".
# data.resultUrls[0] is the talking-head video. Result files are kept 7 days.
curl "https://apimodels.app/api/v1/video/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| model | 是 | string | 固定为 ai-lipsync |
| image | 是 | string | 肖像图 URL 或 data URI(要动起来的那张脸) |
| audio_url | 是 | string | 驱动音频 URL(mp3 / wav),同样支持 data URI;输出时长跟随它 |
| prompt | 否 | string | 可选,引导表达 / 口播风格 |
| callback_url | 否 | string | 任务完成后回调该地址,省去轮询 |
向 https://apimodels.app/api/v1/video/generations 发 POST,带 model "ai-lipsync"、image(要动起来的那张肖像)和 audio_url(声音),然后用返回的 task_id 轮询同一个端点。state 变成 "completed" 时,data.resultUrls[0] 就是对口型视频。prompt 可选,只用来引导表达和口播风格,例如 "the person is talking to the camera"。计费按输出时长 $0.02 每秒。
apimodels.app 上按输出时长 $0.02 每秒计费,而输出时长就等于你传的音频时长 —— 10 秒 $0.20,30 秒 $0.60,60 秒 $1.20。因为没有时长参数,想省钱只能先把音频剪到真正需要的那一段。
不能,这个接口没有时长参数。成片长度永远等于 audio_url 那段音频的长度,计费也按同一个长度算($0.02 每秒)。要控制时长,就在上传前先剪音频。
image 是要被驱动的那张肖像,audio_url 是驱动用的 mp3 或 wav 音频。两者都可以传公网 URL,也可以传 base64 data URI。必填的只有 image 和 audio_url,prompt 和 callback_url 都是可选的。
可以。真人照片、插画、AI 生成的肖像都能用,口型和表情都是逐帧由音频驱动的。用谁的脸由你决定、也由你负责:请只用自己的、已获授权的,或非真实人物的肖像。
默认是轮询:带 task_id 反复 GET 同一个 /api/v1/video/generations 端点,直到 state 变成 "completed";失败时看 data.failMsg。不想轮询就传 callback_url,任务完成后 apimodels.app 会主动 POST 通知你。结果文件保留 7 天,需要长期保存请及时下载或转存。