Skip to content
On this page

文件下载接口

1.接口功能

该功能允许用户通过千面动捕服务接口下载已制作完成的视频文件。用户需要提供相关参数,如域名、视频ID、企业凭证以及其他下载参数。用户可以获取生成的ZIP文件,其中包含了已制作完成的视频文件。

2.请求方法

Post

3.请求路径

https://www.qmai.vip/business/download

4.请求参数(请求体)

  • videoId:必填,上传视频的ID,可在视频上传的返回获取,也可登录账号从网站获取

  • companyKey:必填,企业唯一标识。

5.响应信息

服务端将以 JSON 格式返回响应数据。成功的响应会包含状态码、消息和数据;错误的响应会包含状态码和错误信息。

  • Message:处理信息
  • Status:接口调用状态。有三种情况:200:成功;600:系统异常;500:参数异常
  • fileName:zip压缩包名称。
  • file:zip压缩包的byte数组。

6.python示例代码

# encoding=utf-8
import base64
import json
import os
import traceback
import requests

# Configuration
domain_url = "https://www.qmai.vip"
video_id = "1753336914494078977"
key = "f351974e-9d4e-46f1-b221-d0bf7c6d25df"
output_dir_path = r"data/output"

# Ensure URL ends with "/"
if not domain_url.endswith("/"):
    domain_url += '/'

# API endpoint URL
url = f"{domain_url}business/download/"
print(url)

# Request data
data = {
    "videoId": video_id,
    "companyKey": key
}
print(data)

# Make API request
response = requests.post(url, json=data)

# Check response status
if response.status_code == 200:
    response_data = json.loads(response.text)
    os.makedirs(output_dir_path, exist_ok=True)
    try:
        assert response_data["code"] == 0
        data = response_data["data"]
        assert data is not None
        assert data["status"] == "200"
        assert "fileName" in data
        file_name = data["fileName"]
        output_file_path = os.path.join(output_dir_path, file_name)
        assert "file" in data
        file_bytes = data["file"]
        file_bytes = base64.b64decode(file_bytes)
        with open(output_file_path, "wb") as out:
            out.write(file_bytes)
        print(f"成功写入文件:{output_file_path}")
    except Exception:
        print(response_data)
        traceback.print_exc()
else:
    print("访问链接失败")