Guida rapida per utenti OpenRouter
Migra le tue chiamate API OpenRouter al nostro endpoint senza censura in pochi minuti modificando l'URL base e la chiave API. Questa guida copre le integrazioni essenziali per la generazione di testo, lo streaming e gli output strutturati.
Inizia con il credito di prova
E-mail e password, la chiave compare subito sullo schermo.
Ottieni la chiave APIInstallazione e configurazione
La nostra API è pienamente compatibile con gli SDK standard di OpenAI. Per passare da OpenRouter, devi solo aggiornare due valori di configurazione: l'base_url e la api_key. Indica al tuo client https://api.openrouterapi.cc/v1 e usa la chiave generata sul nostro dashboard. Non sono necessari header personalizzati o logica di routing complessa. L'ID del modello da richiedere è uncensored.
Assicurati che la versione del tuo SDK supporti il parametro base_url. Se usi un client HTTP grezzo, aggiorna semplicemente l'URL di destinazione. Questa configurazione garantisce che il tuo codice client esistente funzioni senza modifiche, purché invii solo richieste di completamento di testo.
Autenticazione
L'autenticazione avviene tramite l'intestazione Authorization standard. Passa la tua chiave API come token Bearer. Se la chiave non è valida o è scaduta, l'API restituisce un errore 401. A differenza di alcuni provider, non addebitiamo le richieste fallite; errori e rifiuti sono gratuiti, così puoi testare l'autenticazione senza consumare credito.
Ogni account supporta una chiave attiva alla volta. Generando una nuova chiave, quella precedente viene immediatamente invalidata. Mantieni la chiave sicura e ruotala se sospetti una esposizione. La chiave viene visualizzata immediatamente dopo la registrazione, quindi copiala prima di lasciare la pagina.
Completamento chat di base
La funzionalità principale è l'endpoint POST /v1/chat/completions. Invia il tuo prompt come elenco di messaggi e ricevi una risposta testuale. Il modello è ottimizzato per rispondere senza rifiuti di contenuti per uso adulto lecito, rendendolo adatto per argomenti creativi, controversi o di ricerca sulla sicurezza.
Imposta il campo model su uncensored. Puoi controllare il comportamento usando parametri come temperature, top_p e stop. L'API supporta la modalità JSON tramite response_format e la chiamata di funzioni tramite tools. Tutte le richieste vengono elaborate in modo asincrono e ricevi il completamento completo una volta che il modello ha terminato.
Risposte in streaming
Abilita lo streaming impostando stream: true nella tua richiesta. L'API restituisce Server-Sent Events (SSE) con risposte parziali. Ricevi blocchi di testo man mano che vengono generati, consentendo la visualizzazione in tempo reale nella tua applicazione.
Le informazioni sull'utilizzo dei token sono fornite nell'ultimo blocco dello stream. Questo ti permette di monitorare i costi con precisione senza analizzare ogni singolo token. Lo streaming è ideale per le interfacce di chat dove la latenza è importante. Assicurati che il tuo client gestisca correttamente le SSE e chiuda la connessione quando lo stream termina.
Chiamata di funzioni
L'API supporta la chiamata di funzioni tramite il parametro tools. Definisci le tue funzioni nell'array tools e imposta tool_choice su auto o su un nome di funzione specifico. Il modello restituirà argomenti JSON strutturati se una funzione viene attivata.
Questa funzionalità è utile per integrare il LLM con API o database esterni. Assicurati che le definizioni delle funzioni siano accurate, poiché il modello si basa su di esse per generare argomenti validi. L'API non esegue le funzioni; devi gestire la logica di esecuzione nel codice della tua applicazione.
Modalità JSON
Per output strutturati, usa response_format: {"type": "json_object"}. Questo forza il modello a restituire JSON valido, essenziale per l'elaborazione dei dati nelle applicazioni successive. La modalità JSON è spesso più affidabile della chiamata di funzioni per attività semplici di estrazione dei dati.
Assicurati che i tuoi prompt istruiscano chiaramente il modello a restituire JSON. Possono verificarsi risposte JSON non valide se il prompt è ambiguo. La modalità JSON è supportata sia nella modalità standard che in quella streaming. Usala quando hai bisogno di output prevedibili e leggibili dalla macchina.
Limiti, errori e contesto
La finestra di contesto è di 100.000 token per prompt e completamento combinati. L'output massimo è di 32.000 token per richiesta (2.048 se max_tokens non è impostato). I limiti di velocità sono di 300 richieste al minuto e 8 richieste parallele per chiave. I corpi delle richieste sono limitati a 8 MB.
Gli errori restituiscono codici HTTP standard: 401 per chiavi non valide, 402 per credito insufficiente e 429 per i limiti di velocità. Il credito è prepagato, quindi un errore 402 significa che devi ricaricare. Errori e rifiuti sono gratuiti, quindi puoi riprovare senza costi. Il limite rigido sui contenuti blocca i contenuti sessuali che coinvolgono minori.
cURL
curl https://api.openrouterapi.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.openrouterapi.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.openrouterapi.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 |
| ID modello | uncensored |
| Autenticazione | Authorization: Bearer YOUR_KEY |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.openrouterapi.cc/v1 |
| 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 |
| Parametri | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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) |
| Modalità JSON | response_format: {"type": "json_object"} |
| Limite di frequenza | 300 richieste al minuto per chiave |
| Concorrenza | 8 richieste contemporanee per chiave |
| Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Dimensione | fino a 8 MB per richiesta |
| Fatturazione | credito prepagato in base all'uso reale; errori e rifiuti gratuiti |
| Bonus | +5% da $50, +10% da $100 |
| 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 |
| Scadenza | il credito pagato non scade, nessun abbonamento |
| Ricarica | USDT (TRC20) o USDC (Base), qualsiasi importo intero da $10 a $500 |
| Prezzo | $0,25 per 1M token in input · $1,00 per 1M in output |
| Chiavi | una chiave attiva per account; una nuova sostituisce la precedente |
| Accesso | Google oppure e-mail e password |
| Contenuti | contenuti per adulti consentiti; rifiutati i contenuti sessuali con minori |
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
È questa l'API ufficiale di OpenRouter?
No, è un servizio indipendente. Offriamo un unico modello senza censura compatibile con la struttura dell'URL base di OpenRouter. Non serviamo i modelli aggregati di OpenRouter né la logica di routing.
Come posso pagare per l'API?
Accettiamo pagamenti solo in criptovalute: USDT (TRC20) o USDC (Base). Puoi ricaricare qualsiasi importo intero da $10 a $500. Non accettiamo carte di credito né PayPal.
I prompt vengono usati per l'addestramento?
No, i tuoi prompt non vengono usati per l'addestramento. Richiediamo solo un indirizzo email per il tuo account e non memorizziamo né usiamo i tuoi dati per il miglioramento del modello.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, modifica l'URL base. È tutta qui la configurazione.