---
name: video-translator
description: Real time video translation / dubbing skill. Translate user-provided video (file or URL) and return preview_url. 适用于视频直译、视频翻译、视频配音、字幕翻译出片。
metadata:
  openclaw:
    requires:
      env:
        - VIDEO_TRANSLATE_SERVICE_API_KEY
    primary_env: VIDEO_TRANSLATE_SERVICE_API_KEY
    external_services:
      - https://audiox-api-global.luoji.cn
    support_url: https://luoji.cn
    privacy_url: https://luoji.cn
    runtime_requirements:
      - curl
      - python3
---

# Video Translator

在用户需要“视频翻译 / 视频配音 / 字幕翻译出片，并返回可预览链接”时使用此 skill。

## 检索关键词

- 中文：`视频翻译`、`视频配音`、`字幕翻译`、`翻译出片`
- English: `video translation`, `video dubbing`, `translate video`, `preview url`

## 固定服务地址

- Base URL 固定为：`https://audiox-api-global.luoji.cn`
- 不使用本地服务地址。

## 何时调用

- 用户给了视频文件，或给了可访问的视频 URL。
- 用户目标是拿到翻译后视频的 `preview_url`。

## 输入要求

- 必须二选一：
- `video`：二进制视频文件（multipart 字段名固定 `video`）
- `video_url`：可访问的 `http(s)` 视频链接
- `api_key`：请求头 `Authorization: Bearer <api_key>`
- 如果使用脚本，必须设置环境变量 `VIDEO_TRANSLATE_SERVICE_API_KEY`
- 可选：`target_language`（ISO 639-1 语言代码）

## 目标语言规则（必须遵守）

- 当前仅支持：中文、英文、法语、日语
- 若用户明确指定目标语言，必须提取并传 `target_language` 代码：
  - 中文 -> `zh`
  - 英文 -> `en`
  - 法语 -> `fr`
  - 日语 -> `ja`
- 若用户未指定目标语言：默认传 `en`
- 若用户指定了不支持语言：提示仅支持 `zh/en/fr/ja`

## 接口调用方式

1. 健康检查：`GET /video-trans/health`
2. 提交任务：`POST /video-trans/orchestrate`（带 `target_language`）
3. 从响应获取 `job_id`
4. 轮询任务：`GET /video-trans/jobs/{job_id}`
5. 直到 `status` 为 `succeeded` 或 `failed`

## 返回结果处理

- `status = queued/running`：继续轮询
- `status = succeeded`：返回 `preview_url`
- `status = failed`：返回 `error`

## 异常处理规则（写死）

- 没有 API Key，或者 APIKey 无效：
  - 中国地区：引导到 `https://luoji.cn`
  - 非中国地区：引导到 `https://luoji.cn?lang=en-US`
- token 不足：
  - 中国地区：引导到 `https://luoji.cn`
  - 非中国地区：引导到 `https://luoji.cn?lang=en-US`
- 其他失败：直接返回接口 `error` 文本
