运行时依赖
安装命令
点击复制技能文档
视频翻译技能 一键视频翻译,powered by Alibaba Cloud IMS,支持字幕级和语音级翻译。 输入格式要求 重要:不同的 API 使用不同的地址格式! API 地址格式参考 API 地址格式示例 SubmitIProductionJob(字幕提取) oss:// 格式 oss://my-bucket/videos/test.mp4 SubmitVideoTranslationJob(视频翻译) HTTP URL 格式 https://my-bucket.oss-cn-shanghai.aliyuncs.com/videos/test.mp4 关键点:字幕提取使用 oss://,视频翻译使用 HTTP URL! 用户输入处理 用户输入类型 处理方法 HTTP URL 格式 直接用于视频翻译;如果需要字幕提取,则转换为 oss:// 格式 oss:// 格式 直接用于字幕提取;如果需要视频翻译,则转换为 HTTP URL 格式 本地视频 必须要求 OSS 上传路径,上传后保存两种格式 格式转换规则 oss:// 格式 ⇄ HTTP URL 格式 oss://my-bucket/videos/test.mp4 ⇄ https://my-bucket.oss-cn-shanghai.aliyuncs.com/videos/test.mp4 转换公式:oss:/// → https://.oss-.aliyuncs.com/ HTTP URL 不需要签名,直接使用 Bucket 域名格式 本地视频处理流程 用户提供本地视频路径 │ ├─ 询问用户: "请提供 OSS 上传路径(格式:oss:////.mp4)" │ ├─ 用户指定上传路径 │ ├─ 检查 Bucket 是否存在 │ ├─ 上传文件:aliyun oss cp <本地路径> │ ├─ 保存 oss:// 格式 → 用于字幕提取 │ └─ 保存 HTTP URL 格式 → 用于视频翻译 │ └─ 用户不指定路径 → 停止,用户必须提供上传路径 上传命令:aliyun oss cp <本地路径> oss:////.mp4 上传后保存两种格式: 本地:/Users/demo/videos/test.mp4 上传到:oss://my-bucket/videos/test.mp4 ├─ oss:// 格式:oss://my-bucket/videos/test.mp4(用于字幕提取) └─ HTTP URL:https://my-bucket.oss-cn-shanghai.aliyuncs.com/videos/test.mp4(用于视频翻译) 执行门控检查清单 严格要求:代理必须按照阶段顺序执行,不能在当前阶段未通过的情况下继续! 第 0 阶段:环境和凭证检查(HARD-GATE) 检查项 命令 通过条件 失败处理 CLI 版本 aliyun version >= 3.3.1 停止,参见 cli-installation-guide.md 凭证状态 aliyun configure list 有效状态 停止,引导配置 插件安装 aliyun configure set --auto-plugin-install true 自动设置 HARD-GATE:不能在未通过当前阶段的情况下继续任何后续操作! 第 1 阶段:翻译模式确认(BLOCKING) 询问用户: "您需要字幕翻译(仅翻译字幕)还是语音翻译(翻译字幕 + 替换语音)?" ┌─ 字幕翻译 → NeedSpeechTranslate:false └─ 语音翻译 → NeedSpeechTranslate:true ⚠️ 未收到回复 → 停止,不能继续! DO NOT 从输入类型推断翻译模式! 第 2 阶段:字幕处理确认(BLOCKING) 询问用户: "您需要从视频中擦除原始字幕?您需要将翻译后的字幕刻入视频?" ⚠️ 未收到回复 → 停止,不能继续! 参数映射: 功能 参数 值 擦除原始字幕 DetextArea "Auto" / 坐标 / 未设置(不擦除) 刻入新字幕 SubtitleConfig 配置对象 / 未设置(不刻入) 第 3 阶段:输出路径确认(非阻塞) 条件 处理方法 用户明确指定 使用用户的路径 用户未指定 使用默认路径并通知用户 默认输出规则: Bucket:与输入视频相同的 Bucket 目录:与输入视频相同的目录 文件名:{源}_translated_{随机8位}.mp4 示例:oss://bucket/videos/demo.mp4 → oss://bucket/videos/demo_translated_a1b2c3d4.mp4 DO NOT 使用 shell 变量,使用 Python:python3 -c "import random; print(''.join(random.choices('abcdefghijkmnpqrstuvwxyz23456789', k=8)))" 第 4 阶段:字幕审查确认(条件阻塞) 触发条件 处理方法 用户选择审查字幕 阻塞,必须等待用户确认审查结果 用户不需要审查 非阻塞,继续 CRITICAL:在字幕提取后,必须输出内容原样供用户审查,DO NOT 改变格式! 场景入口选择关键点: 当用户输入本地视频时,必须先上传到 OSS 并获取 HTTP URL 当用户不提供字幕时,必须询问是否需要字幕提取和审查 用户输入视频 │ ├─ 本地视频? │ └─ 是 → 询问用户: "请提供 OSS 上传路径" │ ├─ 用户提供路径 → 上传到 OSS → 转换为 HTTP URL → 继续 │ └─ 用户不提供 → 停止 │ ├─ oss:// 格式? │ └─ 是 → 通知用户转换为 HTTP URL 格式 │ └─ HTTP URL 格式? → 继续 │ ├─ 用户提供 SRT 文件? │ ├─ 是 → 输入类型 = with_subtitle