yalper/commentiApri lo studio →

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.