YouTube2Text API 使用指南
YouTube2Text 是一个用于从 YouTube 视频中提取纯文本转录(不包含字幕时间码和其他元数据)的工具,用于分析、洞察、摘要、内容生成和其他文本处理应用。
入门
要快速开始,您可以访问 https://api.youtube2text.org 获取演示 API 密钥。但是,演示密钥会频繁轮换且使用配额有限。对于生产使用或常规使用,请考虑订阅可用计划之一,以获得稳定、专用的 API 密钥和更高的配额。
直接 API 使用
YouTube2Text API 可在 https://api.youtube2text.org 获得。转录的主要端点是 /transcribe。
基本 CURL 请求
Basic API Call
curl -X POST https://api.youtube2text.org/transcribe \ -H "Content-Type: application/json" \ -H "x-api-key: YT2TEXT_API_KEY" \ -d '{ "url": "https://www.youtube.com/watch?v=VIDEO_ID" }'
输入参数
url(必需):完整的 YouTube 视频 URL;maxChars(可选):返回的最大字符数(默认 150,000)
响应结构
成功响应 (200)
Success Response
{ "result": { "videoId": "VIDEO_ID", "title": "Video Title", "pubDate": "2025-06-30T08:45:04-07:00", "content": "The full video transcription text without timestamps...", "contentSize": 12345, "truncated": false } }
错误响应 (400/401/404/429/500)
Error Response
{ "error": { "code": "ERROR_CODE", "message": "Error description", "status": 400, "retryAfterSeconds": 3600, "details": "Additional error details" } }
响应代码
- 200: 成功 - 转录已检索
- 400: 错误请求 - 无效 URL 或验证错误
- 401: 未授权 - 缺少或无效的 API 密钥
- 404: 未找到 - 未找到视频或转录不可用
- 429: 速率限制 - 超出配额或请求过多
- 500: 服务器内部错误 - 服务器端问题
错误代码
- VALIDATION_ERROR: 无效 URL 或缺少参数
- UNAUTHORIZED: 无效或已过期的 API 密钥
- VIDEO_NOT_FOUND: 未找到 YouTube 视频
- TRANSCRIPT_UNAVAILABLE: 此视频没有可用的转录
- INVALID_URL: 格式错误的 YouTube URL
- RATE_LIMIT_EXCEEDED: 月配额已超出或超出速率限制
- INTERNAL_ERROR: 服务器端错误
MCP 集成
YouTube2Text 支持模型上下文协议 (MCP),可与各种 AI 模型无缝集成。
Anthropic Claude
Claude MCP Integration
import anthropic from anthropic.types.beta import BetaRequestMCPServerURLDefinitionParam, BetaMessageParam default_key = "ANTHROPIC_API_KEY" client = anthropic.Anthropic(api_key=default_key) server = BetaRequestMCPServerURLDefinitionParam( name="youtube2text", type="url", url="https://api.youtube2text.org/mcp", authorization_token="YT2TEXT_API_KEY" ) prompt_message = BetaMessageParam(role="user", content="Please use the tools from the remote MCP server to help me. Provide the transcription of https://www.youtube.com/watch?v=DCv5p_eJTlU") response = client.beta.messages.create( model="claude-sonnet-4-20250514", max_tokens=10000, messages=[prompt_message], # Direct MCP server connection - no manual tool definition needed! mcp_servers=[server], # Required beta header for MCP connector extra_headers={ "anthropic-beta": "mcp-client-2025-04-04", } ) print(response.content)
OpenAI
OpenAI MCP Integration
from openai import OpenAI from openai.types.responses.tool_param import Mcp import os os.environ["OPENAI_API_KEY"] = "OPENAI_API_KEY" client = OpenAI() youtube_transcribe_mcp = Mcp( type="mcp", server_label="youtube2text", server_url="https://api.youtube2text.org/mcp", require_approval="never", headers={"Authorization": "Bearer YT2TEXT_API_KEY"} ) resp = client.responses.create( model="gpt-4.1", tools=[youtube_transcribe_mcp], input="Please use the tools from the remote MCP server to help me. Provide the transcription of https://www.youtube.com/watch?v=DCv5p_eJTlU", ) print(resp.output_text)
Google Gemini
Gemini Integration
import google.generativeai as genai import requests genai.configure(api_key="GEMINI_API_KEY") YOUTUBE_TRANSCRIPT_API_URL = "https://api.youtube2text.org/mcp" YOUTUBE_TRANSCRIPT_API_TOKEN = "YT2TEXT_API_KEY" # Define the External Tool (Function) def get_youtube_transcription(video_url: str): """ Retrieves the transcription of a YouTube video from a given URL. Args: video_url: The full URL of the YouTube video. """ headers = { "Content-Type": "application/json", "Authorization": f"Bearer {YOUTUBE_TRANSCRIPT_API_TOKEN}" } payload = {"url": video_url} try: response = requests.post(YOUTUBE_TRANSCRIPT_API_URL, headers=headers, json=payload) response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: return {"error": str(e)} # Set up the Gemini Model with the Tool model = genai.GenerativeModel( model_name='gemini-2.5-flash', tools=[get_youtube_transcription] ) # Start a Chat Session and Send the Prompt chat = model.start_chat(enable_automatic_function_calling=True) prompt = "Please provide the transcription of https://www.youtube.com/watch?v=DCv5p_eJTlU" response = chat.send_message(prompt) print(response.text)
自动化平台集成
Zapier 集成
YouTube2Text 可以通过 MCP 连接与 Zapier 集成。Zapier 的 AI Actions 功能支持 MCP 服务器,允许您创建触发视频转录的自动化工作流。
n8n 集成
n8n 通过自定义节点和 HTTP 请求节点支持 MCP 集成。您可以将 YouTube2Text 的 MCP 端点连接到 n8n 工作流,用于自动化视频处理管道。
其他示例
有关更多实现示例、高级使用模式和集成指南,请访问项目存储库以获取全面的文档和代码示例。