Vidu如何接入网站自动生成视频?
说几个关键点:想把Vidu的视频生成能力直接嵌入你的网站,让用户输入文字就能自动出片,而不是跳转去Vidu官网手动操作,那就必须绕开网页界面,通过API在后台完成对接。
整个过程其实不复杂,核心就四步:拿到API Key、构造请求参数、处理异步返回的视频状态、最后把前端表单和后端逻辑串起来。下面逐一拆解。
准备API Key:这是你的通行证
先登录Vidu开发者平台,找到【Create API Key】按钮,生成一个唯一的密钥。复制并保存好——这个密钥就是后续所有请求的身份凭证。
但这里有个硬性提醒:
密钥一旦泄露,你的账户就可能被滥用、积分被盗刷
另外,确认一下API Key的状态是“Active”,并且所属项目至少绑定了100积分余额。免费赠送的80积分,说实话,生产环境下根本不够用。
构造请求体:参数填对才不出错
接下来,向 https://api.vidu.studio/v1/video/generate 发起POST请求。Header里必须带上三样东西:
Authorization: Bearer <你的API Key>Content-Type: application/jsonX-Vidu-Quantity: 1(如果你想一次生成多条,可以设为2、3或4)
请求体的JSON结构大致是这样:
{
"prompt": "一只橘猫蹲在窗台晒太阳,窗外梧桐叶摇曳,镜头缓慢推进",
"resolution": "1080P",
"duration": 4,
"style": "Realistic",
"model_version": "Q2"
}
有几个细节需要注意:prompt字段必须用中文自然语言描述,别混入英文标点;duration只支持4或8秒;model_version要从最新文档里选合法值,填错了就会返回400错误。
异步处理:轮询才是关键
提交请求后,你会收到一个初始响应,里面有个 video_id 字段,格式类似 vidu_v2_abc123xyz。这个ID是后续查进度、下成品的关键凭证,务必保存好。
接下来,你需要发起GET轮询请求,地址是:https://api.vidu.studio/v1/video/status?video_id=,Header里同样带上Authorization。
返回的JSON里有个 status 字段,含义很直观:
"queued"— 排队中"processing"— 正在渲染"completed"— 就绪"failed"— 失败,并附带error_message说明原因
轮询间隔建议设为2秒。如果连续5次状态都没变(比如始终是queued),那就得检查一下API Key配额,或者看看提交的参数是不是触发了风控。
前后端闭环:两种常见做法
方法一:用户在你的前端界面填写提示词,点击“生成”按钮后,前端通过fetch把数据发到你自己的后端接口(比如 /api/vidu/generate)。后端用requests库转发给Vidu API,拿到video_id后存入数据库,再返回给前端。前端启动轮询逻辑,等状态变成completed时,后端再调用 /v1/video/download 获取直链,最终返回MP4 URL,让前端用 标签播放。
方法二:如果你用的是Next.js(App Router)或Nuxt这类SSR框架,可以把Vidu调用逻辑写在Server Action或API Route里。这样密钥完全不会暴露在前端,同时还能利用服务端session绑定用户生成记录,管理起来更清晰。
最后想说的是:不推荐直接在浏览器里调用Vidu API。原因很简单——浏览器控制台可以轻易抓取Authorization头,别人复制过去就能盗用你的积分。所以,后端中转是必须的,别图省事绕开这一点。