GET /api/qr/ai/providers
Restituisce i provider LLM e i modelli che l'endpoint IA del marketplace
(POST /api/qr/ai/generate) riconosce. Utile per le interfacce client che
permettono all'utente di scegliere un provider: non devi codificare la matrice
a mano, basta chiamare questo endpoint e mostrare ciò che restituisce.
L'endpoint consumer (/api/qr/ai/generate/server) non ne ha bisogno: il
provider lo sceglie il server per te.
Richiesta
Risposta
{
"success": true,
"count": 10,
"modelsNote": "Any model ID your provider offers works; this list shows recommended ones.",
"providers": [
{
"id": "openai",
"name": "OpenAI",
"defaultModel": "gpt-6-luna",
"availableModels": ["gpt-6-astra", "gpt-6.1-sol", "gpt-6-luna", "gpt-6-sol", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-4.1-mini"],
"acceptsAnyModel": true
},
{
"id": "anthropic",
"name": "Anthropic",
"defaultModel": "claude-sonnet-5-5",
"availableModels": ["claude-fable-5-1", "claude-opus-5-5", "claude-sonnet-5-5", "claude-haiku-4-5"],
"acceptsAnyModel": true
},
{
"id": "google",
"name": "Google Gemini",
"defaultModel": "gemini-3.8-flash",
"availableModels": ["gemini-3.1-pro-preview", "gemini-3.8-flash", "gemini-3.5-flash-lite", "gemini-3.5-flash"],
"acceptsAnyModel": true
},
{
"id": "mistral",
"name": "Mistral AI",
"defaultModel": "mistral-medium-latest",
"availableModels": ["mistral-large-latest", "mistral-medium-latest", "mistral-small-latest"],
"acceptsAnyModel": true
},
{
"id": "cohere",
"name": "Cohere",
"defaultModel": "command-a-03-2025",
"availableModels": ["command-a-plus-05-2026", "command-a-03-2025", "command-a-reasoning-08-2025", "command-r7b-12-2024"],
"acceptsAnyModel": true
},
{
"id": "groq",
"name": "Groq",
"defaultModel": "openai/gpt-oss-120b",
"availableModels": ["openai/gpt-oss-120b", "openai/gpt-oss-20b", "llama-3.3-70b-versatile"],
"acceptsAnyModel": true
},
{
"id": "xai",
"name": "xAI Grok",
"defaultModel": "grok-4.3",
"availableModels": ["grok-4.7", "grok-4.3", "grok-4.20-0309-non-reasoning"],
"acceptsAnyModel": true
},
{
"id": "deepseek",
"name": "DeepSeek",
"defaultModel": "deepseek-flash",
"availableModels": ["deepseek-v4-pro", "deepseek-flash"],
"acceptsAnyModel": true
},
{
"id": "qwen",
"name": "Alibaba Qwen",
"defaultModel": "qwen3.8-flash",
"availableModels": ["qwen3.8-max", "qwen3.7-plus", "qwen3.8-flash"],
"acceptsAnyModel": true
},
{
"id": "local",
"name": "Local (Ollama / LM Studio)",
"defaultModel": "",
"availableModels": [],
"acceptsAnyModel": true
}
]
}
Scegliere un modello
Se non passi llmModel, il motore usa il modello predefinito del provider indicato qui sotto. Passa llmModel: "<id>" nella chiamata di generazione per sceglierne un altro.
Funziona qualsiasi ID di modello offerto dal tuo provider; questa lista mostra quelli consigliati.
| Provider | Modello predefinito |
|---|---|
| OpenAI | gpt-6-luna |
| Anthropic | claude-sonnet-5-5 |
gemini-3.8-flash | |
| Mistral | mistral-medium-latest |
| Cohere | command-a-03-2025 |
| Groq | openai/gpt-oss-120b |
| xAI | grok-4.3 |
| DeepSeek | deepseek-flash |
| Qwen | qwen3.8-flash |
Locale ("local") | il modello servito dal tuo endpoint |
I token di ogni generazione li paghi direttamente al tuo provider, ai suoi prezzi correnti; non aggiungiamo alcun ricarico. Consulta la pagina dei prezzi di ciascun provider per il costo esatto.
Errori
| Codice | Significato |
|---|---|
INVALID_LLM_PROVIDER | llmProvider non è uno degli id qui sopra. |
INVALID_LLM_MODEL | llmModel non ha il formato di un ID di modello (lettere, cifre, . _ : / -, fino a 100 caratteri). |
LLM_API_KEY_INVALID | Il provider ha rifiutato la chiave che hai passato. |
Consulta Errori per la matrice completa dei codici.