API Hermes: cambia client in tre righe
Inizia con l'API Hermes in pochi minuti utilizzando SDK OpenAI standard. Questa guida rapida copre configurazione, richieste di base, streaming e gestione degli errori per la tua integrazione LLM senza censura.
- per 1M token di input
- $0.25
- Token di output / 1M
- $1.00
- finestra di contesto del token
- 100,000
- credito di prova gratuito
- $0.50
- richieste al minuto
- 300
Installa l'SDK OpenAI
Poiché il nostro endpoint è compatibile con OpenAI, puoi utilizzare gli SDK ufficiali che già conosci. Questo approccio ti permette di passare da altri fornitori senza riscrivere la logica della tua applicazione. Supportiamo il pacchetto standard openai per gli ambienti Python e Node.js.
Assicurati di utilizzare una versione recente dell'SDK per garantire la compatibilità con le funzionalità di streaming e chiamata di funzioni. La libreria client gestisce automaticamente la serializzazione JSON e il trasporto HTTP, così puoi concentrarti sui parametri del modello piuttosto che sui dettagli di rete.
Configura Base URL e Chiave
L'autenticazione avviene tramite un token Bearer nell'intestazione Authorization. Ottieni la tua chiave iscrivendoti con email e password sul nostro dashboard. Non è necessaria una carta di credito per la prova, e puoi rigenerare la tua chiave in qualsiasi momento per revocare l'accesso.
Imposta il base URL sul nostro endpoint dedicato. Questo assicura che tutte le richieste vengano inviate alla nostra infrastruttura per il modello senza censura invece che al cloud OpenAI predefinito. Puoi trovare la tua chiave API nella pagina 'Ottieni chiave API' subito dopo l'iscrizione.
Invia la tua prima richiesta
Invia una richiesta standard di chat completions per testare la connettività. L'ID del modello è sempre uncensored. Questo modello è ottimizzato per rispondere senza rifiuti di contenuto per l'uso legale adulto, rendendolo ideale per la scrittura creativa, il roleplay o la ricerca senza restrizioni.
- Usa
POST /v1/chat/completionsper la generazione di testo. - La finestra di contesto supporta fino a 100.000 token per prompt più completamento.
- Le richieste vengono addebitate in base al conteggio dei token di input e output.
curl https://api.hermesllmapi.com/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."}]
}'
Abilita lo streaming (SSE)
Per una migliore esperienza utente, abilita lo streaming per ricevere i token man mano che vengono generati. Questo riduce la latenza percepita, soprattutto per le risposte più lunghe. Il server restituisce Server-Sent Events (SSE) che il tuo client può analizzare in tempo reale.
Imposta il parametro stream su true nel corpo della richiesta. L'SDK restituirà i chunk man mano che arrivano. Questo è particolarmente utile per le interfacce chat dove desideri visualizzare il testo in modo incrementale invece di attendere che l'intera risposta sia completa.
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)
Usa la chiamata di funzioni
La nostra API supporta la chiamata di funzioni, consentendo al modello di restituire JSON strutturato per l'esecuzione di strumenti esterni. Definisci le tue funzioni nel parametro tools, e il modello restituirà tool_calls nella risposta se appropriato.
Questa funzione funziona esattamente come documentato nella specifica OpenAI. Puoi analizzare il nome della funzione e gli argomenti, eseguire la logica del tuo backend e restituire i risultati alla conversazione. È completamente compatibile con i flussi di lavoro standard di chiamata di funzioni degli SDK OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.hermesllmapi.com/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);
Verifica i modelli disponibili
Interroga l'endpoint dei modelli per verificare la connettività e vedere le opzioni disponibili. Al momento offriamo un unico modello dedicato: uncensored. Questa semplicità evita la complessità del routing dei modelli o delle infrastrutture generiche, garantendo un comportamento prevedibile.
Puoi anche usare questo endpoint per eseguire il debug dei problemi di autenticazione. Se la richiesta fallisce, verifica la validità della tua chiave API e la connettività di rete. La risposta elencherà i dettagli del modello, incluse le dimensioni della finestra di contesto e i limiti dei token.
from openai import OpenAI
client = OpenAI(base_url="https://api.hermesllmapi.com/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)
Gestisci i limiti di richieste e gli errori
La nostra API impone un limite di 300 richieste al minuto per chiave. Se lo superi, riceverai un errore 429. Supportiamo anche un limite del corpo della richiesta di 8 MB per prompt complessi o finestre di contesto ampie.
Gli errori comuni includono 401 (chiave non valida) e 402 (credito insufficiente). Il credito prepagato non scade mai, quindi puoi ricaricare quando preferisci. I bonus di credito vengono applicati automaticamente per acquisti più grandi: +5% da $50 e +10% da $100.
Specifiche tecniche
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 |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Autenticazione | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.hermesllmapi.com/v1 |
| Output massimo | fino al resto della finestra di 100.000 token; max_tokens opzionale (nessun limite separato) |
| Modalità JSON | response_format: {"type": "json_object"} |
| Parametri | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Function calling | sì — tools, tool_choice; risposte con tool_calls anche in streaming; risultati come role: tool |
| Finestra di contesto | 100.000 token (input + output) |
| Streaming | sì — server-sent events; l'ultimo blocco riporta l'uso dei token |
| Concorrenza | 8 richieste contemporanee per chiave |
| Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite di frequenza | 300 richieste al minuto per chiave |
| Dimensione | fino a 8 MB per richiesta |
| Prezzo | $0,25 per 1M token in input · $1,00 per 1M in output |
| Bonus | +5% da $50, +10% da $100 |
| Ricarica | USDT (TRC20) o USDC (Base), qualsiasi importo intero da $10 a $500 |
| 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 |
| Fatturazione | credito prepagato in base all'uso reale; errori e rifiuti gratuiti |
| Scadenza | il credito pagato non scade, nessun abbonamento |
| 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
L'API Hermes supporta la generazione di immagini o audio?
No, al momento offriamo un'API solo per chat testuali. Non supportiamo embeddings, generazione di immagini, audio o video, né offriamo il fine-tuning. Il nostro obiettivo è fornire un modello testuale senza censura adatto ai client compatibili con OpenAI.
Come gestisce il modello senza censura i contenuti per adulti?
Il modello non rifiuta argomenti legali per adulti, di fantasia o controversi. Tuttavia esiste un limite rigido: le richieste che coinvolgono contenuti sessuali con minori vengono sempre bloccate. Questa è l'unica restrizione severa applicata ai tuoi prompt.
Cosa succede se rimango senza credito?
La tua chiave API rimane attiva, ma le richieste restituiranno un errore 402 che indica fondi insufficienti. Puoi ricaricare il tuo account con criptovalute (USDT o USDC) in qualsiasi momento. Il tuo credito prepagato non scade mai, quindi puoi aggiungere fondi quando sei pronto a continuare.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, cambia il base URL. È tutta qui la configurazione.