Guida rapida per gli utenti di MiniCPM
Collega il tuo client esistente compatibile con OpenAI alla nostra API senza censura in meno di un minuto. Sostituisci il tuo base URL, imposta la tua chiave e inizia a generare testo con il modello "senza censura".
URL di base e autenticazione
Per utilizzare questa API è necessaria una chiave API e l'URL di base corretto. Il nostro servizio è pienamente compatibile con le librerie client standard di OpenAI. Non è necessario installare nuove dipendenze o imparare un nuovo SDK. Basta puntare il tuo client esistente al nostro endpoint.
Genera una chiave nella pagina Ottieni chiave API. Puoi accedere con Google o utilizzando email e password. La chiave viene visualizzata immediatamente. Conservala in modo sicuro. Ogni richiesta deve includere questa chiave nell'intestazione Authorization.
L'URL di base per tutte le richieste è: https://api.minicpm.cc/v1. Questo URL gestisce le completazioni della chat, l'elenco dei modelli e le risposte in streaming. Non ci sono endpoint separati per embeddings o visione. Questa è un'API solo testo.
Prima Richiesta
Invia una richiesta standard di completamento della chat per iniziare a generare testo. L'ID del modello è sempre uncensored. Questo modello è un modello linguistico a pesi aperti ottimizzato per rispondere senza rifiuti di contenuti per l'uso adulto legale. Non è GPT, Claude o il modello di nessun altro fornitore.
Imposta il campo model su uncensored. Fornisci i tuoi messaggi nel formato array standard. L'API restituisce una risposta testuale. Puoi controllare la lunghezza dell'output con max_tokens. Se non lo imposti, il max output predefinito è di 2.048 token.
Integrazione SDK Python
Usa la libreria ufficiale Python di OpenAI per interagire con l'API. Devi solo configurare il base URL e la chiave API. Il resto della libreria funziona come previsto. Questo include il supporto per lo streaming, la chiamata di funzioni e la modalità JSON.
Installa la libreria con pip install openai. Inizializza il client con il tuo base URL e chiave. Invia messaggi all'endpoint di completamento della chat. L'oggetto di risposta contiene il testo generato, l'utilizzo dei token e il motivo di fine. Puoi accedere a questi campi direttamente nel tuo codice Python.
Integrazione SDK Node.js
L'SDK Node.js funziona identicamente alla versione Python. Installa il pacchetto e configura il base URL. Il client gestisce l'autenticazione e la formattazione delle richieste automaticamente. Questo ti permette di integrare l'API nei tuoi servizi backend rapidamente.
Passa il base URL e la chiave API al costruttore del client OpenAI. Usa il metodo chat.completions.create. La struttura della risposta corrisponde allo standard OpenAI. Puoi gestire gli errori, controllare l'utilizzo dei token ed elaborare il contenuto. Questo approccio garantisce la compatibilità con le codebase esistenti che usano già OpenAI.
Risposte in Streaming
Abilita lo streaming impostando stream: true nella tua richiesta. L'API restituisce una sequenza di Server-Sent Events (SSE). Ogni evento contiene un chunk della risposta. Questo ti permette di visualizzare il testo all'utente mentre viene generato.
L'ultimo chunk include le statistiche sull'utilizzo dei token. Questo è utile per tracciare i costi. Lo streaming riduce la latenza percepita per gli utenti. È consigliato per le interfacce chat. Puoi analizzare gli eventi nel codice del tuo client per costruire la risposta finale o visualizzare i token in tempo reale.
Limiti, Errori e Contesto
Il modello supporta una finestra di contesto di 100.000 token. Questo include sia il prompt che il completamento. Il massimo output per richiesta è di 32.000 token. Puoi regolare il parametro max_tokens per controllarlo.
I limiti di richiesta sono impostati a 300 richieste al minuto per chiave. Puoi avere 8 richieste parallele. Il corpo della richiesta deve essere inferiore a 8 MB. Se la chiave non è valida, riceverai un errore 401. Se non hai credito, riceverai un errore 402. Se superi il limite di richieste, riceverai un errore 429. Errori e rifiuti non consumano credito.
cURL
curl https://api.minicpm.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.minicpm.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.minicpm.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Streaming
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Scheda tecnica dell'API
Tutti i limiti e le funzioni reali dell'API in un unico posto: controllali prima di ricaricare.
| Voce | Valore |
|---|---|
| Formato | compatibile OpenAI: qualsiasi SDK OpenAI funziona cambiando base URL e chiave |
| Base URL | https://api.minicpm.cc/v1 |
| ID modello | uncensored |
| Autenticazione | Authorization: Bearer YOUR_KEY |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Parametri | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Streaming | sì — server-sent events; l'ultimo blocco riporta l'uso dei token |
| Function calling | sì — tools, tool_choice; risposte con tool_calls anche in streaming; risultati come role: tool |
| Modalità JSON | response_format: {"type": "json_object"} |
| Finestra di contesto | 100.000 token (input + output) |
| Output massimo | fino al resto della finestra di 100.000 token; max_tokens opzionale (nessun limite separato) |
| Concorrenza | 8 richieste contemporanee per chiave |
| Dimensione | fino a 8 MB per richiesta |
| Limite di frequenza | 300 richieste al minuto per chiave |
| Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Fatturazione | credito prepagato in base all'uso reale; errori e rifiuti gratuiti |
| Ricarica | USDT (TRC20) o USDC (Base), qualsiasi importo intero da $10 a $500 |
| Scadenza | il credito pagato non scade, nessun abbonamento |
| Prezzo | $0,25 per 1M token in input · $1,00 per 1M in output |
| Prova gratuita | $0,50 per 7 giorni, senza carta · Chiave di prova: 2 richieste parallele, 60 al minuto; limiti completi (8 e 300) dopo la prima ricarica |
| Bonus | +5% da $50, +10% da $100 |
| Accesso | Google oppure e-mail e password |
| Contenuti | contenuti per adulti consentiti; rifiutati i contenuti sessuali con minori |
| Chiavi | una chiave attiva per account; una nuova sostituisce la precedente |
Codici di errore
Gli errori arrivano in JSON con un type fisso; le richieste fallite o rifiutate non si pagano.
| Codice | Tipo | Significato |
|---|---|---|
400 | bad_request | JSON non valido, messaggi vuoti, parametro errato o contesto troppo lungo |
401 | missing_key · invalid_key · key_revoked | chiave mancante, errata o sostituita |
402 | no_credit | credito esaurito — ricarica e riparti subito |
403 | content_blocked | contenuti sessuali con minori — rifiutato, non addebitato |
404 | not_found | endpoint sconosciuto |
413 | request_too_large | corpo oltre 8 MB |
429 | rate_limited · concurrency | oltre 300/min o 8 in parallelo — attendi e riprova |
503 | upstream_busy | modello occupato — riprova tra pochi secondi |
Domande e risposte
Qual è la dimensione della finestra di contesto?
La finestra di contesto è di 100.000 token, che includono sia il prompt di input che il completamento di output. Il massimo output per richiesta è di 32.000 token.
Come gestisco gli errori?
Un errore 401 indica una chiave API non valida. Un errore 402 indica che il tuo credito prepagato è esaurito. Un errore 429 significa che hai superato il limite di richieste di 300 richieste al minuto. Gli errori non consumano il tuo credito.
Posso usare lo streaming?
Sì. Imposta <code>stream: true</code> nella tua richiesta. L'API restituisce Server-Sent Events (SSE). L'ultimo chunk contiene le statistiche sull'utilizzo dei token.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, cambia il base URL. È tutta qui la configurazione.