Vai al contenuto
Documentazione API

AI Gateway EU: guida all'API

Tutto quello che serve per integrare i modelli EU nel tuo software: endpoint, autenticazione, esempi pronti da incollare, errori e limiti. Formato OpenAI-compatibile.

https://ai.mspincloud.com/v1

Autenticazione

Ogni richiesta va autenticata con la tua chiave API nell'header Authorization (schema Bearer). La chiave la trovi, e la puoi rigenerare, nel pannello, nella scheda del tuo servizio AI Gateway EU. È un segreto: usala solo lato server, mai nel codice che arriva al browser.

HTTP header
Authorization: Bearer LA_TUA_CHIAVE_DAL_PANNELLO

Parti in 30 secondi

L'endpoint è OpenAI-compatibile: se usi già una libreria OpenAI, cambi base URL e chiave e sei operativo.

cURL
curl https://ai.mspincloud.com/v1/chat/completions \ -H "Authorization: Bearer $MSP_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "msp/glm-5.2-eu", "messages": [{"role": "user", "content": "Ciao!"}]}'
Python (openai ≥ 1.0)
from openai import OpenAI client = OpenAI( base_url="https://ai.mspincloud.com/v1", api_key="LA_TUA_CHIAVE_DAL_PANNELLO", ) r = client.chat.completions.create( model="msp/glm-5.2-eu", messages=[{"role": "user", "content": "Ciao!"}], ) print(r.choices[0].message.content)
Node.js (openai ≥ 4)
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://ai.mspincloud.com/v1", apiKey: process.env.MSP_API_KEY, }); const r = await client.chat.completions.create({ model: "msp/minimax-m3-eu", messages: [{ role: "user", content: "Ciao!" }], }); console.log(r.choices[0].message.content);

POST /v1/chat/completions

L'endpoint principale: conversazioni e generazione di testo. Stesso formato delle chat completions OpenAI, inclusi system prompt, cronologia messaggi, temperature, max_tokens e streaming (stream: true, risposta in Server-Sent Events). Il modello msp/minicpm-v-eu accetta anche immagini (content di tipo image_url).

Richiesta
{ "model": "msp/glm-5.2-eu", "messages": [ {"role": "system", "content": "Rispondi in italiano."}, {"role": "user", "content": "Presentati in una riga."} ], "max_tokens": 200, "temperature": 0.7 }
Risposta (estratto)
{ "object": "chat.completion", "model": "msp/glm-5.2-eu", "choices": [{ "message": { "role": "assistant", "content": "Sono un modello AI ospitato in Europa..." }, "finish_reason": "stop" }], "usage": {"prompt_tokens": 21, "completion_tokens": 14} }

Il campo usage riporta i token conteggiati: sono gli stessi usati per l'addebito sul credito, ai prezzi del listino nel pannello.

GET /v1/models

Restituisce i modelli disponibili per la tua chiave: è la fonte di verità per la tua integrazione (l'elenco dipende dal piano e dal catalogo, che si aggiorna nel tempo). Usalo per popolare un selettore modelli o per verificare la disponibilità prima di una chiamata.

cURL
curl https://ai.mspincloud.com/v1/models \ -H "Authorization: Bearer $MSP_API_KEY"

POST /v1/embeddings

Il gateway supporta embeddings OpenAI-compatibili con il modello EU msp/qwen3-embedding-8b-eu. Il modello è dedicato agli embeddings e non compare nei selettori chat; usa questo ID con POST /v1/embeddings e verifica sempre la disponibilità per la tua chiave tramite GET /v1/models.

POST /v1/audio/transcriptions

Trascrizione audio OpenAI-compatibile con il modello EU msp/faster-whisper-large-v3-eu. Invia un file multipart nel campo file e il model esatto. Prezzo finale: €0,0067 per minuto di audio (moltiplicatore di servizio incluso); il consumo effettivo viene calcolato sulla durata restituita dal servizio.

curl https://ai.mspincloud.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $MSP_API_KEY" \
  -F "file=@audio.mp3" \
  -F "model=msp/faster-whisper-large-v3-eu"

Il TTS Chatterbox Turbo è in manutenzione e non è pubblicato finché il metering per carattere non supera la verifica di fatturazione.

Modelli EU disponibili (17)

Catalogo letto in tempo reale dal gateway: ID da passare esattamente così nel campo model (bottone per copiarli), prezzi finali in euro (EUR) per milione di token, capability dichiarate dal gateway. L'elenco effettivo per la tua chiave è sempre quello di GET /v1/models.

Modello Fornitore Fascia Contesto Input €/1M Output €/1M Capability
Kimi K3 (UE) ZDR
msp/kimi-k3-eu
TensorX EU
Potente — €5,41 €27,06
—
Qwen3.8 Max Open – 2.4T-A95B (UE) ZDR
msp/qwen3.8-2.4t-a95b-eu
TensorX EU
Potente — €4,51 €10,82
—
DeepSeek V4 Pro 0813 (UE) ZDR
msp/deepseek-v4-pro-eu
TensorX EU
Potente — €3,61 €7,22
—
GLM-5.3 (EU sovereign) ZDR
msp/glm-5.3-eu
TensorX EU
Bilanciato — €3,16 €8,12
—
GLM-5.2 (UE) ZDR
msp/glm-5.2-eu
TensorX EU
Bilanciato — €2,71 €8,12
—
Kimi K2.7 Code (UE) ZDR
msp/kimi-k2.7-code-eu
TensorX EU
Bilanciato — €2,26 €8,12
—
Qwen 3.5 397B (UE) ZDR
msp/qwen3.5-397b-eu
Scaleway EU
Bilanciato — €1,22 €7,29
—
MiniMax M3 (UE) ZDR
msp/minimax-m3-eu
TensorX EU
Bilanciato — €0,722 €3,61
—
Qwen 3.8 27B (UE) ZDR
msp/qwen3.8-27b-eu
TensorX EU
Bilanciato — €0,722 €4,33
—
Mistral Medium 3.5 (UE) ZDR
msp/mistral-medium-eu
Scaleway EU
Economico — €3,04 €15,19
—
DeepSeek V4.1 Flash (UE) ZDR
msp/deepseek-v4.1-flash-eu
TensorX EU
Economico 1M €0,557 €1,67
Vision Cache
DeepSeek V4 Flash (UE) ZDR
msp/deepseek-v4-flash-eu
TensorX EU
Economico — €0,451 €0,541
—
GLM-5.3 Flash (EU sovereign) ZDR
msp/glm-5.3-flash-eu
TensorX EU
Economico — €0,361 €0,902
—
Qwen3.8 Flash Next (EU sovereign) ZDR
msp/qwen3.8-flash-next-eu
TensorX EU
Economico — €0,361 €0,902
—
Qwen3 30B A3B (UE)
msp/qwen3-30b-eu
Nebius EU
Economico — €0,181 €0,542
—
Hermes 4 70B (UE)
msp/hermes-4-70b-eu
Nebius EU
Economico — €0,139 €0,429
—
Qwen3 Embedding 8B (UE) ZDR
msp/qwen3-embedding-8b-eu
TensorX EU
Economico — €0,022 €0,000
—

Alias di instradamento automatico (12)

Passando uno di questi ID il gateway sceglie per te il modello EU adatto al compito: il costo addebitato è quello del modello effettivamente instradato.

Prezzi finali in euro (EUR) per 1 milione di token, già comprensivi del margine di servizio e addebitati sul credito del tuo account; "da pannello" = il prezzo è pubblicato nel listino del pannello. "—" = dato non dichiarato dal gateway. Catalogo aggiornato automaticamente; per la tua chiave fa sempre fede GET /v1/models. Pagina prodotto

Gestione degli errori

Gli errori seguono il formato OpenAI (oggetto error con message, type e code). I casi da gestire:

Codice Significato Cosa fare
400 Richiesta malformata (JSON non valido, campi mancanti). Controlla il corpo della richiesta rispetto agli esempi qui sopra.
401 Chiave mancante, errata o revocata. Verifica l'header Authorization e la chiave nel pannello; se l'hai rigenerata, aggiorna il codice.
403 Modello non incluso nel tuo piano o non consentito per la tua chiave. Scegli un modello tra quelli restituiti da GET /v1/models con la tua chiave.
429 Rate limit superato oppure budget della chiave esaurito. Riprova con backoff esponenziale; se è il budget, ricarica o alza il tetto dal pannello Saldo.
5xx Errore temporaneo del gateway o del provider a monte. Riprova dopo qualche secondo; se persiste, prova un modello alternativo o apri un ticket.

Rate limit e budget

La chiave ha un budget con tetto rigido che si gestisce dal pannello (consumi in tempo reale, ricariche, cap mensile facoltativo, avvisi a soglia). Sono attivi limiti di richieste anti-abuso: per volumi importanti scrivici prima e troviamo la configurazione giusta. In beta il servizio è best-effort, senza SLA garantito.

Buone pratiche

  • Chiave solo lato server (variabile d'ambiente), mai nel frontend.
  • Gestisci 429 con retry e backoff esponenziale.
  • Imposta max_tokens per tenere i costi prevedibili.
  • Non inviare dati personali non necessari: minimizzazione GDPR.

Ti manca solo la chiave.

Attivi gratis in un minuto: paghi solo il consumo a token, dal credito unico.

Termini del servizio · listino completo nel pannello