[ PROMPT_NODE_24878 ]
video-translation
[ SKILL_DOCUMENTATION ]
# 视频翻译
HeyGen 的视频翻译功能允许你将现有视频翻译并配音为多种语言,同时保留口型同步和自然的语音模式。
## 创建翻译任务
### 请求字段
| 字段 | 类型 | 必填 | 描述 |
|-------|------|:---:|-------------|
| `video_url` | string | ✓* | 要翻译的视频 URL(或 `video_id`) |
| `video_id` | string | ✓* | HeyGen 视频 ID(或 `video_url`) |
| `output_language` | string | ✓ | 目标语言代码 (例如 "es-ES") |
| `title` | string | | 翻译后视频的名称 |
| `translate_audio_only` | boolean | | 仅音频,无口型同步(速度更快) |
| `speaker_num` | number | | 视频中的说话人数 |
| `callback_id` | string | | 用于 Webhook 追踪的自定义 ID |
| `callback_url` | string | | 完成通知的 URL |
必须提供 `video_url` **或** `video_id`。
### curl
bash
curl -X POST "https://api.heygen.com/v2/video_translate"
-H "X-Api-Key: $HEYGEN_API_KEY"
-H "Content-Type: application/json"
-d '{
"video_url": "https://example.com/original-video.mp4",
"output_language": "es-ES",
"title": "Spanish Version"
}'
### TypeScript
typescript
interface VideoTranslateRequest {
video_url?: string; // 必填 (或 video_id)
video_id?: string; // 必填 (或 video_url)
output_language: string; // 必填
title?: string;
translate_audio_only?: boolean;
speaker_num?: number;
callback_id?: string;
callback_url?: string;
}
interface VideoTranslateResponse {
error: null | string;
data: {
video_translate_id: string;
};
}
async function translateVideo(config: VideoTranslateRequest): Promise {
const response = await fetch("https://api.heygen.com/v2/video_translate", {
method: "POST",
headers: {
"X-Api-Key": process.env.HEYGEN_API_KEY!,
"Content-Type": "application/json",
},
body: JSON.stringify(config),
});
const json: VideoTranslateResponse = await response.json();
if (json.error) {
throw new Error(json.error);
}
return json.data.video_translate_id;
}
### Python
python
import requests
import os
def translate_video(config: dict) -> str:
response = requests.post(
"https://api.heygen.com/v2/video_translate",
headers={
"X-Api-Key": os.environ["HEYGEN_API_KEY"],
"Content-Type": "application/json"
},