ClawSkills logoClawSkills

Subtitles

从 YouTube 视频获取字幕,用于翻译、语言学习或跟读。当用户要求提供字幕、外文文本或

介绍

# Subtitles

通过 [TranscriptAPI.com](https://transcriptapi.com) 获取 YouTube 视频字幕。

## 设置

如果未设置 `$TRANSCRIPT_API_KEY`,请帮助用户创建账户(100 个免费积分,无需信用卡):

**步骤 1 — 注册:** 询问用户的电子邮箱。

```bash node ./scripts/tapi-auth.js register --email USER_EMAIL ```

→ OTP 已发送至邮箱。询问用户:_“请检查您的电子邮件以获取 6 位验证码。”_

**步骤 2 — 验证:** 一旦用户提供了 OTP:

```bash node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODE ```

> API 密钥已保存至 `~/.openclaw/openclaw.json`。详细信息请参阅下方的 **文件写入**。现有文件在修改前会进行备份。

手动选项:[transcriptapi.com/signup](https://transcriptapi.com/signup) → Dashboard → API Keys。

## 文件写入

验证和保存密钥命令会将 API 密钥保存到 `~/.openclaw/openclaw.json`(设置 `skills.entries.transcriptapi.apiKey` 和 `enabled: true`)。**现有文件在修改前会备份到 `~/.openclaw/openclaw.json.bak`。**

要在代理之外的终端/CLI 中使用 API 密钥,请手动将其添加到您的 shell 配置文件中: `export TRANSCRIPT_API_KEY=<your-key>`

## GET /api/v2/youtube/transcript

```bash curl -s "https://transcriptapi.com/api/v2/youtube/transcript\ ?video_url=VIDEO_URL&format=text&include_timestamp=false&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ```

| Param | Values | Use case | | ------------------- | ----------------------- | ---------------------------------------------- | | `video_url` | YouTube URL or video ID | 必需 | | `format` | `json`, `text` | `json` 用于带时间轴的同步字幕 | | `include_timestamp` | `true`, `false` | `false` 用于阅读/翻译的纯文本 | | `send_metadata` | `true`, `false` | 包含标题、频道、描述 |

**用于语言学习** — 不带时间戳的纯文本:

```bash curl -s "https://transcriptapi.com/api/v2/youtube/transcript\ ?video_url=VIDEO_ID&format=text&include_timestamp=false" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ```

**用于翻译** — 结构化分段:

```bash curl -s "https://transcriptapi.com/api/v2/youtube/transcript\ ?video_url=VIDEO_ID&format=json&include_timestamp=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ```

**响应** (`format=json`):

```json { "video_id": "dQw4w9WgXcQ", "language": "en", "transcript": [ { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 } ] } ```

**响应** (`format=text`, `include_timestamp=false`):

```json { "video_id": "dQw4w9WgXcQ", "language": "en", "transcript": "We're no strangers to love\nYou know the rules and so do I..." } ```

## 提示

- 许多视频都有多种语言的自动生成字幕。 - 使用 `format=json` 获取每一行的时间信息(非常适合同步阅读)。 - 使用 `include_timestamp=false` 获取适合翻译应用的纯文本。

## 错误

| Code | Action | | ---- | -------------------------------------- | | 402 | 积分不足 — transcriptapi.com/billing | | 404 | 无可用字幕 | | 408 | 超时 — 2 秒后重试一次 |

每次请求消耗 1 个积分。免费层级:100 个积分,300 请求/分钟。

更多产品