[verdetto][prompt curato][fonte: transcriptapi.com]
Posso vibecodare TranscriptAPI?
// si costruisce in un weekend, ma restano buchi veri
Il percorso felice è una build da una sola sessione: youtube-transcript-api recupera i sottotitoli in poche righe e FastAPI ci mette sopra un endpoint. Il buco è l'affidabilità — YouTube applica rate limit e blocchi IP a qualsiasi volume reale, e il prodotto non vende il parsing ma il tubo che non viene bloccato.
confidenza: alta
cos’è: Trascrizioni dei video YouTube in JSON con timestamp, endpoint di ricerca e playlist.
Indice di costruibilità · gioco editoriale
- Prezzo da 5 $ · a consumo peso: più 1
- Tempo una sessione peso: più 3
- Categoria strumenti per sviluppatori non pesa
- Moat scala dell'infrastruttura · qualità di esecuzione peso: meno 3
- Confidenza alta peso: più 1
- Cosa perdi 4 voci peso: meno 2
- Sito transcriptapi.com (si apre in una nuova scheda) non pesa
Si pareggiano. È il caso in cui decide quanto ti sta antipatico l’abbonamento.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
Cosa costruisci
Un endpoint FastAPI che prende un URL di YouTube e restituisce la traccia dei sottotitoli come JSON con timestamp.
cosa ti serve
- Python 3.11
- un pool di proxy a rotazione se lo usi a un volume qualsiasi
La build da una sola sessione è reale; il prodotto è l'affidabilità sui volumi.
Il prompt
Un weekend con un agente di coding. I buchi che restano sono qui sotto, in «cosa perdi».
Build me a small YouTube transcript API service, a personal stand-in for TranscriptAPI.
Requirements:
- Python 3.11 stack: FastAPI, uvicorn, and the youtube-transcript-api library; no
database, one file plus a README is fine.
- GET /transcript?video=<id-or-url>: extract the video id, fetch the caption track,
return JSON with the full text plus timestamped segments.
- Support lang= with a sensible fallback to the first available track, and report
which track was actually used in the response.
- Clean JSON errors: 404 when captions are disabled or missing, 502 when YouTube
blocks the fetch; never a bare 500.
- Read an optional comma-separated PROXIES var from .env and rotate per request;
with none set, run direct.
- GET /health returning version and uptime.
- A tiny CLI example in the README: curl the endpoint, jq out the text.
- Keep it stateless and private: no accounts, no API keys, no telemetry, no storage.
- README must be honest about the failure mode: at any real volume YouTube
rate-limits and IP-blocks caption fetches, and this build has no defense.
- Out of scope, deliberately: the rotating proxy pool and anti-blocking
infrastructure, channel/playlist/search endpoints, bulk throughput, and SLAs.
That reliability layer is the thing the paid product actually sells. Prompt curato: scritto e rivisto a mano per questa app. In inglese di proposito — è la lingua in cui gli agenti di coding rendono meglio.
Cosa perdi
- restare sbloccato quando YouTube applica rate limit alle richieste di sottotitoli
- gli endpoint di ricerca, canale e playlist
- l'affidabilità sui volumi di massa
- uno SLA e il supporto quando YouTube cambia qualcosa
Perché pagano ancora
Il parsing non è mai stato la parte difficile. Tenere aperto un tubo durevole e non bloccato verso i sottotitoli di YouTube, a volume, è un problema operativo che costa soldi veri, e comprarlo a 5 $ al mese costa meno che affittare proxy e stargli dietro.
moat: Scala dell'infrastruttura Qualità di esecuzione cos’è un moat
flotta di proxy a rotazione e operazioni anti-blocco sui volumi
Chi l’ha già costruito
Partire da qui è vibecoding lo stesso: il prompt serve quando lo vuoi esattamente a modo tuo.
- youtube-transcript-api (si apre in una nuova scheda) — open-source Python library for the core caption fetch
Sei d’accordo?
La bilancia dei voti
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.