上传视频
上传视频获取 URL,用于视频生成和参考视频输入
国内用户请注意: 中国大陆用户请使用 https://toapis.cn 作为接口地址(Base URL)。文档示例中的 https://toapis.com 请替换为 https://toapis.cn。
文档 Playground 不支持文件上传:请使用下方的 cURL、Python 或 JavaScript 代码示例进行测试。
为什么需要先上传视频?
- 统一输入方式 - 本地视频先上传成公网 URL,便于后续接口复用
- 减少重复传输 - 上传一次后可以在多个视频任务中重复使用
Authorizations
Authorizationstring请求头必填Body
filefile请求体必填视频文件
支持的格式:
- MP4 (.mp4)
- WebM (.webm)
- MOV (.mov)
限制:
- 最大文件大小:50MB
purposestring请求体上传目的(可选)
默认值:generation
Response
successboolean请求是否成功
dataobject返回数据
idstring上传记录 ID,用于追踪
urlstring视频的公开访问 URL,可直接用于视频生成接口
mime_typestring视频的 MIME 类型,如 video/mp4
sizeinteger视频文件大小(字节)
请求示例
curl --request POST \
--url https://toapis.com/v1/uploads/videos \
--header 'Authorization: Bearer <token>' \
--form 'file=@/path/to/your/video.mp4'import requests
with open('video.mp4', 'rb') as f:
response = requests.post(
"https://toapis.com/v1/uploads/videos",
headers={
"Authorization": "Bearer your-ToAPIs-key"
},
files={
"file": f
}
)
result = response.json()
video_url = result['data']['url']
print(f"视频 URL: {video_url}")(async () => {
const fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = 'video/mp4,video/webm,video/quicktime';
fileInput.click();
await new Promise(resolve => fileInput.onchange = resolve);
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const uploadResponse = await fetch('https://toapis.com/v1/uploads/videos', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key'
},
body: formData
});
const uploadResult = await uploadResponse.json();
console.log('上传结果:', uploadResult);
})();响应示例
{
"success": true,
"message": "",
"data": {
"id": "upload_abc12345",
"url": "https://files.toapis.com/uploads/123/videos/1737568800_abc12345.mp4",
"mime_type": "video/mp4",
"size": 1892345
}
}{
"success": false,
"message": "Unsupported or invalid video file. Allowed: MP4, WebM, MOV"
}{
"success": false,
"message": "Video too large. Maximum size is 50MB"
}