I valori da copiare
Chi cerca l'URL di base dell'API Mimo ha bisogno di tre valori, tutto il resto è un dettaglio dello strumento che stai configurando.
| Impostazione | Valore |
|---|---|
| URL di base | https://api.mimoapi.top/v1 |
| ID modello | uncensored |
| Intestazione di autenticazione | Authorization: Bearer YOUR_KEY |
| Endpoint chat | POST /v1/chat/completions |
| Elenco modelli | GET /v1/models |
Il servizio è compatibile con OpenAI, quindi qualsiasi client che ti permetta di modificare l'URL di base e la chiave OpenAI funzionerà. È un'API testuale ospitata che esegue un modello a pesi aperti fornito da un provider indipendente; non è l'API ufficiale di alcun fornitore di modelli. Solo testo: non ci sono generazione di immagini, audio o video, embedding o fine-tuning, quindi i client che si aspettano questi endpoint non li troveranno. Se non hai ancora una chiave, la pagina delle chiavi richiede un minuto.
URL di base rispetto all'endpoint completo
La confusione più comune è tra l'URL di base e l'URL dell'endpoint. L'URL di base si ferma a /v1. L'endpoint è l'URL di base più un percorso. Gli SDK ufficiali OpenAI e la maggior parte degli strumenti basati su di essi uniscono i due per te.
- URL di base:
https://api.mimoapi.top/v1 - Endpoint chat:
https://api.mimoapi.top/v1/chat/completions - Endpoint modelli:
https://api.mimoapi.top/v1/models
Quando una schermata di impostazioni richiede un "URL di base", "API base", "endpoint" o "host", leggi il segnaposto. Se il segnaposto termina con /v1, incolla l'URL di base. Se termina con /chat/completions, incolla l'endpoint chat completo. Incollare l'endpoint completo in un campo che si aspetta un URL di base produce /chat/completions/chat/completions, che non esiste. Incollare solo il dominio nudo in un campo che si aspetta un URL di base produce /chat/completions senza /v1, che fallisce allo stesso modo.
Nota anche l'host. L'API risiede sul sottodominio api. Il dominio del sito principale serve le pagine web, quindi una richiesta ad esso con un percorso API non raggiungerà il modello.
Python e Node
Con gli SDK ufficiali imposti l'URL di base una volta quando crei il client. Installa con pip install openai o npm install openai.
from openai import OpenAI
client = OpenAI(
base_url="https://api.mimoapi.top/v1",
api_key="YOUR_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Name three uses for a base URL."}],
max_tokens=150,
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.mimoapi.top/v1",
apiKey: process.env.LLM_API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Name three uses for a base URL." }],
max_tokens: 150,
});
console.log(resp.choices[0].message.content);
Gli SDK OpenAI per Python e Node.js leggono anche le variabili d'ambiente OPENAI_BASE_URL e OPENAI_API_KEY quando non passi valori nel codice. Questo ti permette di reindirizzare uno script esistente senza modificarlo: esporta le due variabili e lo script effettuerà richieste a questa API. Verifica che lo script non abbia un modello hardcoded, come un nome GPT; sostituiscilo con uncensored.
Test rapido con curl
Una chiamata HTTP semplice elimina ogni altra variabile, quindi è il miglior controllo da fare. Il primo comando elenca i modelli e conferma la chiave. Il secondo invia una richiesta di chat.
export LLM_API_KEY="YOUR_KEY"
curl -s https://api.mimoapi.top/v1/models \
-H "Authorization: Bearer $LLM_API_KEY"
curl -s https://api.mimoapi.top/v1/chat/completions \
-H "Authorization: Bearer $LLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}],"max_tokens":20}' -i
Il flag -i stampa le intestazioni di risposta. Cerca X-Request-Id (citalo se contatti il supporto), X-Balance-USD (il tuo credito residuo) e i due header del limite di richieste, X-RateLimit-Limit-Requests e X-RateLimit-Limit-Concurrency. Per lo streaming, aggiungi "stream": true al corpo e -N a curl affinché l'output non sia bufferizzato. La guida rapida di cinque minuti illustra lo streaming e la chiamata di funzioni dopo questo.
LangChain, interfacce chat e altri strumenti
Gli strumenti di terze parti usano le proprie etichette, ma tutti necessitano degli stessi tre valori. Alcuni pattern che vedrai:
- LangChain (Python):
ChatOpenAI(model="uncensored", base_url="https://api.mimoapi.top/v1", api_key="YOUR_KEY"). La stessa classe funziona per qualsiasi server compatibile con OpenAI. - SillyTavern e interfacce di roleplay simili: scegli una fonte chat personalizzata o generica compatibile con OpenAI, incolla l'URL di base, aggiungi la chiave e digita
uncensoredcome nome del modello se l'elenco non si compila da solo. - Open WebUI e altre interfacce chat self-hosted: aggiungi una connessione compatibile con OpenAI nelle impostazioni, utilizzando lo stesso URL base e chiave.
- Plugin editor e script: cerca "endpoint OpenAI personalizzato" o "sovrascrivi URL di base" nelle impostazioni del plugin.
I nomi dei menu di ogni strumento cambiano tra le versioni, quindi affidati allo scopo del campo piuttosto che all'etichetta esatta. Se uno strumento insiste nel verificare la chiave contro un provider fisso, non è compatibile con endpoint personalizzati e serve un altro strumento.
Quando uno strumento offre un menu a discesa dei modelli, di solito lo compila chiamando GET /v1/models. Se il menu rimane vuoto, digita l'ID del modello manualmente. Se lo strumento rifiuta nomi di modello sconosciuti, cerca un'opzione etichettata "modello personalizzato".
Correzione degli errori di configurazione più comuni
Quando una richiesta fallisce, il codice di stato e l'URL esatto restringono rapidamente la causa. Procedi con questo elenco.
- Errore di autenticazione. La chiave è mancante, troncata o contiene uno spazio o una nuova riga alla fine. Incollala di nuovo e assicurati che l'intestazione sia
Bearer, uno spazio, poi la chiave. - Non trovato. Il percorso è errato. Stampa l'URL finale che il tuo client costruisce. Dovrebbe essere esattamente
https://api.mimoapi.top/v1/chat/completions. Cerca un/v1mancante, un percorso duplicato o l'host errato. - Modello sconosciuto. Un nome di modello residuo di un altro provider. Imposta il modello su
uncensored. - HTTP 429 con
rate_limitedoconcurrency. Hai superato le 300 richieste al minuto o 8 contemporanee (60 e 2 su una chiave di prova). Rallenta o accoda le richieste. Un 429 con un'intestazioneRetry-After: 5indica un sovraccarico temporaneo; attendi cinque secondi e riprova. - Richiesta troppo grande. Il limite del corpo è 8 MB e la finestra di contesto è di 100.000 token per prompt più completamento. Riduci la cronologia.
- Funziona in curl, fallisce nel browser. Chiamare l'API direttamente dal JavaScript frontend espone la chiave a tutti i visitatori. Instrada le chiamate attraverso il tuo server.
Non inserire mai la chiave in un repository pubblico o in un bundle lato client. Memorizzala in una variabile d'ambiente e tienila fuori da screenshot e ticket di supporto.
Prossimi passi dopo la prima chiamata riuscita
Una volta che l'URL base funziona, ci sono alcune impostazioni che vale la pena conoscere. Lo streaming tramite SSE è attivato con stream: true. La chiamata di funzioni utilizza tools e tool_choice, con i risultati inviati come messaggi role: "tool". La modalità JSON è response_format: {"type": "json_object"}. I controlli di campionamento come temperature, top_p, stop, seed e le penalità vengono passati invariati.
Per quanto riguarda i costi, paghi $0,15 per 1M token di input e $0,50 per 1M token di output dal credito prepagato; la pagina prezzi elenca le dimensioni delle ricariche e i bonus. Il modello è ottimizzato per rispondere senza rifiutare contenuti per l'uso adulto legale, e i contenuti sessuali che coinvolgono minorenni non sono mai consentiti. I prompt non sono utilizzati per l'addestramento.
