Cutrix Python SDK

Cutrix AI 视频平台官方 Python SDK。用几行 Python 代码即可完成视频翻译、配音与字幕处理。

快速创建翻译任务

使用 Client 类即可与 Cutrix API 进行交互。以下示例展示了如何提交本地视频进行翻译。

最小示例

python
from cutrix import Client

with Client(api_key="sk-...") as client:
    result = client.video.translate(
        file_path="./demo.mp4",
        target_lang="zh",
    )
    print(f"Task ID: {result.task_id}")

运行环境要求

在开始集成前,请确保您的开发环境符合以下要求。

  • Python 3.9+
  • 有效的 Cutrix API Key(可在用户控制台中获取)。前往获取 →
  • 当前仅支持 45 分钟以内的视频。
  • pip (Python package installer)

安装 SDK

通过 pip 从 PyPI 安装官方提供的 SDK 包。

终端命令

bash
pip install cutrix-video-translate-sdk

API Key 鉴权

在初始化 Client 时传入 API Key。为了安全性,建议从环境变量中读取密钥。立即获取 →

初始化示例

python
import os
from cutrix import Client

# Option 1: Direct initialization
client = Client(api_key="sk-...")

# Option 2: Using environment variables (Recommended)
client = Client(api_key=os.environ.get("CUTRIX_API_KEY"))

提交翻译任务

translate() 方法集成了文件上传与任务初始化。您可以通过以下参数自定义处理流程。

!
当前仅支持 45 分钟以内的视频。超过时长的文件建议先拆分后再提交。

进阶用法

python
from cutrix import Client

with Client(api_key="sk-...") as client:
    result = client.video.translate(
        file_path="./demo.mp4",
        target_lang="zh",
        source_lang="en",
        task_name="Campaign Video V1",
        add_subtitle=True,
        remove_cutrix_logo=True
    )

    print(f"Task created: {result.task_id}")
    print(f"Estimated duration: {result.video_duration_seconds}s")

translate() 参数说明

参数类型必填说明
file_pathstr本地视频文件路径。
target_langstr目标语言代码 (BCP-47)。
source_langstr源语言代码,默认为 "auto" 自动识别。
task_namestr方便内部追踪的任务名称。
add_subtitlebool是否添加字幕(默认为 True)。
remove_cutrix_logobool是否去除平台水印(默认为 True)。

支持的语言列表

以下是当前支持的源语言和目标语言代码列表。

支持的源语言 (source_lang)

代码语言
auto自动检测
zh中文(普通话)
en英语
yue粤语
ar阿拉伯语
cs捷克语
da丹麦语
de德语
el希腊语
es西班牙语
fa波斯语
fi芬兰语
fil菲律宾语
fr法语
hi印地语
hu匈牙利语
id印度尼西亚语
it意大利语
ja日语
ko韩语
mk马其顿语
ms马来语
nl荷兰语
pl波兰语
pt葡萄牙语
ro罗马尼亚语
ru俄语
sv瑞典语
th泰语
tr土耳其语
vi越南语

支持的目标语言 (target_lang)

代码语言
zh中文(普通话)
en英语
ar阿拉伯语
da丹麦语
de德语
el希腊语
es西班牙语
fi芬兰语
fr法语
he希伯来语
hi印地语
id印度尼西亚语
it意大利语
ja日语
ko韩语
ms马来语
nl荷兰语
no挪威语
pl波兰语
pt葡萄牙语
ru俄语
sv瑞典语
sw斯瓦希里语
th泰语
tr土耳其语
vi越南语

任务状态监控

由于视频处理是异步的,您需要调用 get_task() 方法来获取最新状态,直到任务完成。

轮询实现示例

python
import time
from cutrix import Client

with Client(api_key="sk-...") as client:
    result = client.video.translate(file_path="./demo.mp4", target_lang="zh")
    
    while True:
        task = client.video.get_task(task_id=result.task_id)
        print(f"Current Status: {task.status}")

        if task.status == "succeed":
            print(f"Download URL: {task.output_video_path}")
            break
        elif task.status == "failed":
            print(f"Error: {task.failed_message}")
            break
            
        time.sleep(30) # Poll every 30 seconds

get_task() 参数说明

参数类型必填说明
task_idint | str由 translate() 返回的任务唯一标识。

任务状态说明

status说明
pending任务已进入队列,等待开始处理
started任务正在处理中
succeed翻译已成功完成,可读取 output_video_path
failed任务处理失败,请查看 failed_code

常见错误码 (failed_code)

错误码原因
2001自动检测源语言失败,请手动指定 source_lang 后重试。
2002未检测到音频,请确认视频中包含音轨。
2003未检测到视频内容,请确认文件中包含视频流。
2004未知错误,请稍后重试或联系支持。
2005源语言与目标语言相同,无需翻译。

错误与异常处理

通过捕获 API 和 SDK 异常,确保您的集成方案能够稳健地处理各类边缘情况。

异常捕获示例

python
from cutrix import Client, AuthenticationError, RateLimitError
from cutrix.exceptions import APIError, SDKError

try:
    with Client(api_key="sk-...") as client:
        # API calls...
        pass
except AuthenticationError:
    print("Invalid API Key.")
except RateLimitError:
    print("Request limit exceeded.")
except APIError as e:
    print(f"API Exception: {e.message} (Status: {e.status_code})")
except SDKError as e:
    print(f"Local SDK Error: {e}")

需要技术支持?

我们的团队可以为您提供企业级集成、自定义工作流或高并发 API 使用方案的技术支持。

联系技术支持