๐ API Documentation
Benvenuto nella documentazione API di idiotsarewinning. La nostra API REST ti permette di
integrare servizi AI di trascrizione audio e OCR nei tuoi progetti in pochi minuti.
Base URL: https://idiotarewinnin.it/api/v1
๐ Autenticazione
Tutte le richieste API richiedono una API key. Inviala nell'header X-API-Key:
curl -H "X-API-Key: irw_la_tua_api_key" \
https://idiotarewinnin.it/api/v1/...
Ottieni la tua API key dalla Dashboard dopo la registrazione.
โ ๏ธ Errori
L'API ritorna errori in formato JSON:
{
"error": "Descrizione dell'errore",
"detail": "Dettagli aggiuntivi (se disponibili)"
}
| Status Code | Significato |
| 200 | Successo |
| 400 | Richiesta malformata |
| 401 | API key mancante o non valida |
| 413 | File troppo grande per il piano |
| 429 | Limite richieste superato |
| 500 | Errore server |
โฑ๏ธ Rate Limits
I limiti dipendono dal tuo piano:
| Piano | Richieste/giorno | File max |
| Free | 10 | 10 MB |
| Pro | 1.000 | 100 MB |
| Business | Illimitato | 500 MB |
Headers di risposta: X-RateLimit-Limit, X-RateLimit-Remaining
๐๏ธ Trascrizione Audio
POST
/api/v1/transcribe
Converte file audio/video in testo usando Whisper large-v3.
Parametri (multipart/form-data)
| Campo | Tipo | Descrizione |
file REQUIRED | File | File audio (mp3, wav, m4a, ogg, flac, webm, mp4, ...) |
language | String | Codice lingua ISO (es. "it", "en"). Auto-detect se omesso. |
response_format | String | Formato output: "json", "text", "srt", "vtt". Default: "json" |
Esempio โ curl
curl -X POST
https://idiotarewinnin.it/api/v1/transcribe \
-H
"X-API-Key: irw_la_tua_key" \
-F
"[email protected]" \
-F
"language=it"
Esempio โ Python
import requests
response = requests.post(
"https://idiotarewinnin.it/api/v1/transcribe",
headers={"X-API-Key": "irw_la_tua_key"},
files={"file": open("audio.mp3", "rb")}
)
print(response.json()["text"])
Risposta
{
"success": true,
"text": "Il testo trascritto dall'audio...",
"service": "whisper",
"model": "large-v3-turbo"
}
๐ OCR โ Estrazione Testo
POST
/api/v1/ocr
Estrae testo da immagini e PDF usando PaddleOCR su GPU.
Parametri (multipart/form-data)
| Campo | Tipo | Descrizione |
file REQUIRED | File | Immagine (JPG, PNG, TIFF, BMP) o PDF |
Esempio โ curl
curl -X POST
https://idiotarewinnin.it/api/v1/ocr \
-H
"X-API-Key: irw_la_tua_key" \
-F
"[email protected]"
Esempio โ Node.js
const fs = require('fs');
const FormData = require('form-data');
const axios = require('axios');
const form = new FormData();
form.append('file', fs.createReadStream('doc.png'));
const res = await axios.post(
'https://idiotarewinnin.it/api/v1/ocr',
form,
{ headers: { ...form.getHeaders(), 'X-API-Key': 'irw_la_tua_key' } }
);
console.log(res.data);
Risposta
{
"success": true,
"text": "Testo estratto dal documento...",
"blocks": [...],
"service": "paddleocr"
}
Account API
POST
/api/auth/register
Crea un nuovo account e ricevi API key + JWT token.
curl -X POST
https://idiotarewinnin.it/api/auth/register \
-H
"Content-Type: application/json" \
-d
'{"email":"[email protected]","password":"min8chars","name":"Mario"}'
POST
/api/auth/login
Accedi e ricevi JWT token.
curl -X POST
https://idiotarewinnin.it/api/auth/login \
-H
"Content-Type: application/json" \
-d
'{"email":"[email protected]","password":"latuapassword"}'
GET
/api/auth/me
Ottieni profilo utente, API keys e uso giornaliero.
curl https://idiotarewinnin.it/api/auth/me \
-H "Authorization: Bearer IL_TUO_JWT_TOKEN"