视频素材上传
视频生成接口只接受模型服务能够访问的公网 HTTP(S) 素材地址。本地图片、视频或音频需要先上传;已有公网素材也可以通过 URL 导入接口转存,再将响应中的 file_url 用于视频生成请求。
接口总览
| 方法 | 路径 | 作用 |
|---|---|---|
POST | /v1/sd/upload | 上传本地图片、视频或音频文件 |
POST | /v1/sd/upload_url | 从公网 HTTP(S) URL 导入素材 |
基础地址:https://mzsjai.com
所有请求都需要 API Key:
Authorization: Bearer <YOUR_API_KEY>
请仅在服务端保存 API Key,不要将其写入浏览器代码、公开仓库或日志。
上传本地文件
使用 multipart/form-data 提交文件,表单字段名必须为 file:
curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/sd/upload' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-F 'file=@./reference.jpg'
图片、视频和音频均使用同一个接口。素材格式、大小和时长还必须满足后续所选视频模型的要求。
从公网 URL 导入
url 为必填字段,filename 可用于指定保存文件名:
curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/sd/upload_url' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/reference.mp4",
"filename": "reference.mp4"
}'
源地址必须是平台能够直接访问的公网 HTTP(S) URL。以下地址不会被接受:
- 本机地址、内网地址和相对路径。
file:等非 HTTP(S) 协议地址。- URL 中包含用户名或密码的地址。
- 被平台域名、IP、端口或 SSRF 安全策略禁止的地址。
如果源站需要 Cookie、自定义请求头或临时登录态,请改为先下载到服务端,再使用本地文件上传接口。
成功响应
上传或导入成功后,响应中会返回可供模型访问的 file_url:
{
"file_url": "https://files.example.com/materials/reference.mp4"
}
请保存 file_url。素材服务的 HTTP 状态码和其他响应字段可能随存储服务而变化,客户端应以 2xx 和 file_url 是否存在作为成功判断依据。
file_url 有效期为 7 天,且带签名参数,请原样使用、不要改动 URL 中的任何部分。超过有效期后请重新上传;不要把 file_url 当作长期存储地址。同一文件重复上传会得到相同的对象,不产生额外存储。
支持的素材类型:图片(PNG / JPEG / WebP / GIF,≤ 20 MB)、音频(MP3 / WAV / OGG / M4A / AAC / FLAC,≤ 50 MB)、视频(MP4 / WebM / MOV / AVI,≤ 128 MB)。其它类型返回 415 unsupported_media_type。
在视频生成请求中使用
以参考图生成视频为例,将 file_url 填入素材项的 url:
curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/video/generations' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "minimax/minimax-h3-ref2va",
"prompt": "保持参考图中的人物外观,在城市街道自然行走",
"content": [
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://files.example.com/materials/reference.jpg"
}
}
],
"duration": 5,
"resolution": "768P",
"ratio": "16:9"
}'
不同模型使用的素材字段和角色可能不同。请继续按照对应模型文档组织 content、images、videos 或 audios。
常见错误
错误响应采用统一结构:
{
"error": {
"message": "url must be a public HTTP(S) URL",
"type": "invalid_request_error"
}
}
| HTTP 状态码 | 常见原因 |
|---|---|
400 | 请求体为空、JSON 无效、URL 格式错误或 URL 被安全策略拒绝 |
413 | 请求体或文件超过平台限制 |
415 | 本地上传未使用 multipart/form-data,或 URL 导入未使用 application/json |
503 | 当前账号分组没有可用的素材服务通道 |
对参数、格式或文件大小错误不要直接重试。服务暂时不可用时,可以使用指数退避进行有限重试。