PER YALPER E PER OGNI ALTRO CLIENT
La voce,
via API.
Registrati sul sito, ricarica il portafoglio e crea un token nella sezione applicazioni. Il token identifica il tuo account: il credito viene sempre verificato dal server. Nessun client riceve la chiave OpenRouter.
Autenticazione
Authorization: Bearer <token-personale>
Token opachi casuali a 256 bit, scadenza massima 90 giorni, revoca immediata, permessi separati read, upload, generate. Conserva il token nel portachiavi del sistema operativo o nel secret store del server. Mai negli URL, nei log o nel codice distribuito. Ogni utente Yalper usa un proprio account: non incorporare una chiave condivisa nell’APK.
1. Carica il video
POST /api/uploads Authorization: Bearer <token> Content-Type: application/octet-stream X-Filename: partita.mp4 [byte del file]
Il server verifica formato, dimensione e durata tramite FFprobe. Il file non è pubblico. La risposta contiene id, durationMs e il preventivo quote. Leggi i limiti aggiornati da GET /api/public.
2. Richiedi il preventivo
POST /api/quote
Authorization: Bearer <token>
Content-Type: application/json
{"uploadId":"ID_VIDEO"}Il prezzo è ceil(durataMs / 1000) × creditiPerSecondo. La durata è quella misurata nel file, non quella dichiarata dal client. Mostra il preventivo all’utente prima dell’avvio.
3. Genera la telecronaca
POST /api/jobs
Authorization: Bearer <token>
Content-Type: application/json
{
"uploadId": "ID_VIDEO",
"acceptedCredits": 30,
"idempotencyKey": "UUID-UNIVOCO-DELLA-RICHIESTA",
"language": "Italiano",
"style": "Entusiasta",
"teams": [
{"name":"Atletico Blu","color":"blu",
"players":[{"number":"7","name":"Mario Rossi"}]}
]
}La risposta 202 contiene l’ID del lavoro. Un preventivo cambiato restituisce 409; saldo insufficiente restituisce 402. Riutilizza la stessa chiave di idempotenza e gli stessi parametri per ritentare una richiesta interrotta: non verrà creato un secondo addebito. Una nuova generazione intenzionale richiede una nuova chiave. I crediti sono riservati atomicamente all’avvio e restituiti una sola volta se il lavoro fallisce.
4. Attendi e scarica
GET /api/jobs/ID_LAVORO GET /api/jobs/ID_LAVORO/download Authorization: Bearer <token>
Stati: queued, processing, completed, failed, expired. Interroga lo stato ogni 5–10 secondi. Scarica solo quando lo stato è completed. Anche il download richiede il token del proprietario.
MCP via HTTP
URL: https://commenti.pubblica.app/mcp Transport: Streamable HTTP (POST, risposte JSON) Header: Authorization: Bearer <token-personale> Accept: application/json, text/event-stream
Server per client che permettono bearer preconfigurati. Non espone un flusso OAuth automatico: i token si creano dal portale. Metodi: initialize, ping, tools/list, tools/call. Nessun token viene inoltrato a OpenRouter.
wallet saldo e tariffa upload_instructions endpoint per upload HTTP binario quote preventivo sul video caricato generate_commentary avvio con conferma prezzo e idempotenza job_status stato e download autenticato
Il file viene trasferito con la normale API di upload, evitando di inserire centinaia di megabyte nel contesto dell’agente. Un client MCP deve poter effettuare questo upload HTTP, oppure usare un video già caricato sul sito. Tutti i tool rispettano proprietà dei dati, permessi e saldo dell’account. L’origine del client non dà diritto a elaborazioni gratuite.
Portafoglio e cancellazione
GET /api/me saldo e movimenti
GET /api/uploads video del proprio account
GET /api/jobs elaborazioni del proprio account
DELETE /api/uploads/ID elimina video e relativi risultati
POST /api/checkout {"packId":"starter"}Le ricariche passano da checkout Stripe. Il server accredita i crediti soltanto dopo un webhook firmato e un controllo di importo, valuta e riferimento del pagamento. Il ritorno del browser dal checkout non accredita nulla.
Privacy e limiti
I video vengono trasmessi ai fornitori AI selezionati dall’amministratore per l’elaborazione. La conservazione locale è configurabile e viene mostrata nel portale. I nomi delle rose sono facoltativi. La telecronaca è generata automaticamente: numeri poco leggibili e azioni ambigue possono ridurre l’accuratezza. Il servizio iniziale usa una coda con un solo elaboratore; il tempo di attesa dipende dalla durata e dal carico.