YouTube API

YouTube 视频转录文本(完整版) API

获取 YouTube 视频或 Short 的转录文本,包含带时间的片段及其来源:文字是创作者编写的字幕,还是机器语音识别的结果。

POST/v1/run/youtube.video_transcript_full
可用率
100.00%
30d · 1,063 次调用
请求数
1,063
30d · 按周,近 12 周
响应时间
7.4s
中位数 · 30d

试一试

发出你的第一个请求

requireFieldsarray
可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `isAiGenerated`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某个转录文本确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。
打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。
{
  "data": {
    "authorId": "Alex Rivera",
    "authorUrl": "https://example.com/page",
    "category": "general",
    "channel": "example",
    "createdUtc": 12.5,
    "description": "A short example description of this item.",
    "durationSeconds": 12.5,
    "image": "https://example.com/image.jpg",
    "isAiGenerated": true,
    "isAutoGenerated": true,
    "keywords": [
      "a1b2c3d4"
    ],
    "language": "en",
    "likes": 12500,
    "segments": [
      {
        "endSeconds": 180,
        "startSeconds": 180,
        "text": "A short example description of this item."
      }
    ],
    "title": "Example title",
    "transcript": "example",
    "url": "https://example.com/page",
    "videoId": "a1b2c3d4",
    "views": 12500
  },
  "found": true,
  "reason": "not_found"
}
响应类型定义
interface YoutubeVideoTranscriptFullResponse {
  data: {
    authorId?: string;
    authorUrl?: string;
    category?: string;
    channel?: string;
    createdUtc?: number;
    description?: string;
    durationSeconds?: number;
    image?: string;
    isAiGenerated?: boolean | null;
    isAutoGenerated: boolean;
    keywords?: string[];
    language: string;
    likes?: number;
    segments?: {
      endSeconds: number;
      startSeconds: number;
      text: string;
    }[];
    title?: string;
    transcript: string;
    url?: string;
    videoId?: string;
    views?: number;
  } | null;
  found: boolean;
  reason?: "not_found";
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

请求、响应与价格

最近验证于 2026-09-29 · 可用率和延迟按 30d 统计
POST /v1/run/youtube.video_transcript_full
curl -X POST https://api.getanyapi.com/v1/run/youtube.video_transcript_full \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
字段类型示例值
请求体
urlstring"https://www.youtube.com/watch?v=dQw4w9WgXcQ"YouTube 视频或 Short 的 URL(例如 "https://www.youtube.com/watch?v=dQw4w9WgXcQ" 或 "https://www.youtube.com/shorts/Fir1x9cw2vg")。
captionKindenum接受哪种字幕轨道:"manual" 只接受创作者编写的字幕,"automatic" 只接受 YouTube 的语音识别,"any" 接受现有的任一种。
languagestring首选字幕语言代码(例如 "en"、"es")。默认为英语。如果视频没有该语言的字幕,你会得到该视频已有的其他语言的转录文本;结果中的 `language` 字段会说明是哪种语言。
requireFieldsarray可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `isAiGenerated`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某个转录文本确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。
响应
dataobject
data.authorIdstringYouTube channel ID of the publishing channel.
data.authorUrlstringCanonical URL of the publishing channel, tracking query parameters stripped.
data.categorystringYouTube category the video is filed under, for example "Music".
data.channelstringChannel name that published the video.
data.createdUtcnumberUTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
data.descriptionstringFull video description text.
data.durationSecondsnumberVideo duration in seconds.
data.imagestringURL of the video thumbnail image.
data.isAiGenerated可设为必填booleanTrue when the words were recognized from the audio by the serving lane rather than read from any YouTube caption track, or null when the serving source does not say.
data.isAutoGeneratedbooleanTrue when YouTube generated the caption track by speech recognition rather than the creator supplying it. Automatic captions carry recognition errors, especially on names and jargon. Populated whenever the provider has data for the entity.
data.keywordsstring[]Keywords the uploader tagged the video with.
data.languagestringCaption language code (e.g. "en"). Populated whenever the provider has data for the entity.
data.likesintegerNumber of likes.
data.segmentsobject[]Timed transcript segments in playback order. Populated whenever the provider has data for the entity.
data.segments[].endSecondsnumberSegment end offset in seconds.
data.segments[].startSecondsnumberSegment start offset in seconds.
data.segments[].textstringText of this transcript segment.
data.titlestringVideo title.
data.transcriptstringFull transcript text, segments joined in playback order. Populated whenever the provider has data for the entity.
data.urlstringWatch URL of the video.
data.videoIdstringUnique identifier of the video.
data.viewsintegerNumber of views.
foundboolean
reason"not_found"Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
价格
每次请求价格USDUS$0.001
价格(/千次请求)USDUS$1.00

常见问题

关于 YouTube 视频转录文本(完整版) API

AnyAPI 的 YouTube 视频转录文本(完整版) API 只需一次 POST 请求 /v1/run/youtube.video_transcript_full,就以统一格式的 JSON 返回 YouTube 数据。获取 YouTube 视频或 Short 的转录文本,包含带时间的片段及其来源:文字是创作者编写的字幕,还是机器语音识别的结果。AnyAPI 会在 2 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$1 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 YouTube 视频转录文本(完整版) API 调用中有 100.0% 成功,响应时间中位数为 7.4 秒,共测量 1,063 次调用。

费用:每千次请求 US$1 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

获取 YouTube 视频或 Short 的转录文本,包含带时间的片段及其来源:文字是创作者编写的字幕,还是机器语音识别的结果。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 YouTube 视频转录文本(完整版) API 调用中有 100.0% 成功,响应时间中位数为 7.4 秒,共测量 1,063 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。