HomeBlog

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

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"
  }'

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)

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
  }
}

Réponse d'erreur (400/401/404/429/500)

Error Response
{
  "error": {
    "code": "ERROR_CODE",
    "message": "Error description",
    "status": 400,
    "retryAfterSeconds": 3600,
    "details": "Additional error details"
  }
}

Codes de réponse

Codes d'erreur

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

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)

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.