Guida all'uso dell'API YouTube2Text
YouTube2Text è un'utilità per estrarre trascrizioni di testo puro dai video di YouTube (senza codici temporali dei sottotitoli e altri metadati) per analisi, insights, riassunti, generazione di contenuti e altre applicazioni di elaborazione del testo.
Iniziare
Per iniziare rapidamente, puoi ottenere una chiave API demo visitando https://api.youtube2text.org. Tuttavia, le chiavi demo ruotano frequentemente e hanno quote di utilizzo limitate. Per uso in produzione o uso regolare, considera di abbonarti a uno dei piani disponibili per una chiave API stabile e dedicata con quote più elevate.
Uso diretto dell'API
L'API YouTube2Text è disponibile su https://api.youtube2text.org. L'endpoint principale per la trascrizione è /transcribe.
Richiesta CURL di 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" }'
Parametri di input
url (richiesto): L'URL completo del video YouTube; maxChars (opzionale): Massimo numero di caratteri da restituire (predefinito 150,000)
Struttura della risposta
Risposta di successo (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 } }
Risposta di errore (400/401/404/429/500)
{ "error": { "code": "ERROR_CODE", "message": "Error description", "status": 400, "retryAfterSeconds": 3600, "details": "Additional error details" } }
Codici di risposta
- 200: Successo - trascrizione recuperata
- 400: Richiesta non valida - URL non valido o errore di validazione
- 401: Non autorizzato - chiave API mancante o non valida
- 404: Non trovato - video non trovato o trascrizione non disponibile
- 429: Limite di velocità - quota superata o troppe richieste
- 500: Errore interno del server - problema lato server
Codici di errore
- VALIDATION_ERROR: URL non valido o parametri mancanti
- UNAUTHORIZED: Chiave API non valida o scaduta
- VIDEO_NOT_FOUND: Video YouTube non trovato
- TRANSCRIPT_UNAVAILABLE: Nessuna trascrizione disponibile per questo video
- INVALID_URL: URL YouTube malformato
- RATE_LIMIT_EXCEEDED: Quota mensile superata o limite di velocità
- INTERNAL_ERROR: Errore lato server
Integrazione MCP
YouTube2Text supporta il Model Context Protocol (MCP) per l'integrazione perfetta con vari modelli di 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)
Integrazione piattaforme di automazione
Integrazione Zapier
YouTube2Text può essere integrato con Zapier tramite connessioni MCP. La funzione AI Actions di Zapier supporta i server MCP, permettendo di creare flussi di lavoro automatizzati che attivano trascrizioni video.
Integrazione n8n
n8n supporta l'integrazione MCP tramite nodi personalizzati e nodi di richiesta HTTP. Puoi connettere l'endpoint MCP di YouTube2Text ai flussi di lavoro n8n per pipeline automatizzate di elaborazione video.
Esempi aggiuntivi
Per ulteriori esempi di implementazione, pattern di utilizzo avanzati e guide di integrazione, visita il repository del progetto per documentazione completa ed esempi di codice.