核心要点:若要将Vidu的视频生成能力无缝集成到您的网站,让用户输入文字后自动生成视频,无需跳转至Vidu官网手动操作,就必须绕过网页界面,通过API在后台完成对接。
整个流程并不复杂,核心可归纳为四个步骤:获取API Key、构建请求参数、处理异步返回的视频状态,以及将前端表单与后端逻辑串联起来。下面将对每一步进行详细拆解。
获取API Key:Vidu集成的第一步
首先,登录Vidu开发者平台,找到【Create API Key】按钮,生成一个唯一密钥。请务必复制并妥善保存——此密钥是后续所有请求的身份凭证。
但这里有一个重要的安全提醒:密钥一旦泄露,您的账户可能面临被滥用、积分被盗刷的风险。因此,切勿将其硬编码在前端HTML或JavaScript中,必须仅保留在服务端环境,例如Node.js或Python的后端代码里。
此外,请确认API Key状态为“Active”,且所属项目至少绑定100积分余额。免费赠送的80积分,在实际生产环境中往往不够用。
构建请求参数:确保配置正确无误
接下来,向 https://api.vidu.studio/v1/video/generate 发起POST请求。请求头中必须包含以下三项:
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=,请求头中同样带上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头,他人复制后即可盗用您的积分。因此,后端中转是必须的,切勿为了图省事而绕过这一关键环节。
