Guide d'utilisation de l'API YouTube2Text
YouTube2Text est un utilitaire pour extraire des transcriptions de texte brut de vidéos YouTube (sans codes temporels de sous-titres et autres métadonnées) pour l'analyse, les insights, les résumés, la génération de contenu et autres applications de traitement de texte.
Commencer
Pour commencer rapidement, vous pouvez obtenir une clé API de démonstration en visitant https://api.youtube2text.org. Cependant, les clés de démonstration changent fréquemment et ont des quotas d'utilisation limités. Pour un usage en production ou régulier, considérez vous abonner à l'un des plans disponibles pour une clé API stable et dédiée avec des quotas plus élevés.
Utilisation directe de l'API
L'API YouTube2Text est disponible à https://api.youtube2text.org. Le point de terminaison principal pour la transcription est /transcribe.
Requête CURL de base
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" }'
Paramètres d'entrée
url (requis): L'URL complète de la vidéo YouTube; maxChars (optionnel): Nombre maximum de caractères à retourner (par défaut 150,000)
Structure de réponse
Réponse de succès (200)
{ "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 } }
Réponse d'erreur (400/401/404/429/500)
{ "error": { "code": "ERROR_CODE", "message": "Error description", "status": 400, "retryAfterSeconds": 3600, "details": "Additional error details" } }
Codes de réponse
- 200: Succès - transcription récupérée
- 400: Mauvaise requête - URL invalide ou erreur de validation
- 401: Non autorisé - clé API manquante ou invalide
- 404: Non trouvé - vidéo non trouvée ou transcription indisponible
- 429: Limite de débit - quota dépassé ou trop de requêtes
- 500: Erreur interne du serveur - problème côté serveur
Codes d'erreur
- VALIDATION_ERROR: URL invalide ou paramètres manquants
- UNAUTHORIZED: Clé API invalide ou expirée
- VIDEO_NOT_FOUND: Vidéo YouTube non trouvée
- TRANSCRIPT_UNAVAILABLE: Aucune transcription disponible pour cette vidéo
- INVALID_URL: URL YouTube mal formée
- RATE_LIMIT_EXCEEDED: Quota mensuel dépassé ou limite de débit
- INTERNAL_ERROR: Erreur côté serveur
Intégration MCP
YouTube2Text prend en charge le protocole de contexte de modèle (MCP) pour une intégration transparente avec divers modèles d'IA.
Anthropic Claude
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
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
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)
Intégration de plateformes d'automatisation
Intégration Zapier
YouTube2Text peut être intégré avec Zapier via des connexions MCP. La fonction AI Actions de Zapier prend en charge les serveurs MCP, permettant de créer des flux de travail automatisés qui déclenchent des transcriptions vidéo.
Intégration n8n
n8n prend en charge l'intégration MCP via des nœuds personnalisés et des nœuds de requête HTTP. Vous pouvez connecter le point de terminaison MCP de YouTube2Text aux flux de travail n8n pour des pipelines automatisés de traitement vidéo.
Exemples supplémentaires
Pour plus d'exemples d'implémentation, de modèles d'utilisation avancés et de guides d'intégration, visitez le dépôt du projet pour une documentation complète et des exemples de code.