HomeBlog

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

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

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)

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

Risposta di errore (400/401/404/429/500)

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

Codici di risposta

Codici di errore

Integrazione MCP

YouTube2Text supporta il Model Context Protocol (MCP) per l'integrazione perfetta con vari modelli di 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)

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.