Vai al contenuto principale
L’API Venice offre interfacce HTTP REST e streaming per costruire applicazioni AI con modelli senza restrizioni e inferenza privata. Puoi creare con la generazione di testo, la creazione di immagini, embeddings e altro, il tutto senza policy restrittive sui contenuti. Esempi di integrazione e SDK sono disponibili nella documentazione. La nostra API reference è disponibile anche come spec YAML OpenAPI.

Autenticazione

L’API Venice utilizza API key per l’autenticazione. Crea e gestisci le tue API key nelle tue impostazioni API. Tutte le richieste API richiedono l’autenticazione HTTP Bearer:
Authorization: Bearer VENICE_API_KEY
La tua API key è un segreto. Non condividerla né esporla in alcun codice lato client.

Compatibilità con OpenAI

L’API di Venice implementa la specifica dell’API OpenAI, garantendo la compatibilità con client e strumenti OpenAI esistenti. Questo ti permette di integrarti con Venice usando la familiare interfaccia OpenAI accedendo al contempo alle funzionalità uniche e ai modelli senza restrizioni di Venice.

Setup

Configura il tuo client per usare il base URL di Venice (https://api.venice.ai/api/v1) e fai la tua prima richiesta:
curl https://api.venice.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-uncensored",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Funzionalità specifiche di Venice

System prompt

Venice fornisce system prompt predefiniti progettati per garantire risposte naturali e senza restrizioni del modello. Hai due opzioni per gestire i system prompt:
  1. Comportamento predefinito: i tuoi system prompt vengono aggiunti a quelli di default di Venice
  2. Comportamento personalizzato: disabilita completamente i system prompt di Venice

Disabilitare i system prompt di Venice

Usa l’opzione venice_parameters per rimuovere i system prompt predefiniti di Venice:
curl https://api.venice.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-uncensored",
    "messages": [
      {"role": "system", "content": "Your custom system prompt"},
      {"role": "user", "content": "Why is the sky blue?"}
    ],
    "venice_parameters": {
      "include_venice_system_prompt": false
    }
  }'

Venice Parameters

L’oggetto venice_parameters ti permette di accedere a funzionalità specifiche di Venice non disponibili nell’API OpenAI standard:
ParametroTipoDescrizioneDefault
character_slugstringLo slug del personaggio di un Venice character pubblico (visibile come “Public ID” nella pagina del personaggio pubblicato)-
strip_thinking_responsebooleanRimuove i blocchi <think></think> dalla risposta (per modelli che usano il formato legacy con tag <think>). Consulta Modelli di ragionamento.false
disable_thinkingbooleanSui modelli di ragionamento supportati, disabilita il thinking e rimuove i blocchi <think></think> dalla rispostafalse
enable_web_searchstringAbilita la web search per questa richiesta (off, on, auto - auto la abilita a discrezione del modello)
Si applicano prezzi aggiuntivi in base all’utilizzo, consulta pricing.
off
enable_web_scrapingbooleanAbilita lo scraping web di fino a 5 URL rilevati nel messaggio dell’utente. Il contenuto scrapato arricchisce le risposte e bypassa la web search. Solo gli URL effettivamente scrapati vengono fatturati.
Si applicano prezzi aggiuntivi in base all’utilizzo, consulta pricing.
false
enable_x_searchbooleanAbilita la ricerca nativa di xAI (web + X/Twitter) per i modelli Grok supportati (es. grok-4-20-beta). Fornisce risultati di ricerca di qualità superiore usando l’infrastruttura di ricerca di xAI. Quando abilitato, la web search standard di Venice viene bypassata.
Si applicano prezzi aggiuntivi in base all’utilizzo, consulta pricing.
false
enable_web_citationsbooleanQuando la web search è abilitata, richiede che l’LLM citi le fonti usando il formato [REF]0[/REF]false
include_search_results_in_streambooleanSperimentale: include i risultati di ricerca nello stream come primo chunk emessofalse
return_search_results_as_documentsbooleanEspone i risultati di ricerca in una tool call compatibile con OpenAI chiamata venice_web_search_documents per l’integrazione con LangChainfalse
include_venice_system_promptbooleanIndica se includere i system prompt predefiniti di Venice insieme ai system prompt specificatitrue
Questi parametri possono anche essere specificati come suffissi del modello aggiunti al nome del modello (es. zai-org-glm-5:enable_web_search=auto). Consulta Model Feature Suffixes per i dettagli.

Prompt caching

Venice supporta il prompt caching su modelli selezionati per ridurre latenza e costi per contenuti ripetuti. Per i modelli supportati, Venice memorizza automaticamente in cache i system prompt — non sono necessarie modifiche al codice. Puoi anche contrassegnare manualmente il contenuto per il caching usando la proprietà cache_control sul contenuto del messaggio.
ParametroTipoDescrizione
prompt_cache_keystringSuggerimento di routing opzionale per migliorare i tassi di cache hit. Quando fornito, Venice instrada le richieste alla stessa infrastruttura backend, aumentando la probabilità di cache hit nelle conversazioni multi-turn.
Consulta Prompt caching per i dettagli su come funziona il caching, la fatturazione e le best practice.

Riferimento degli header di risposta

Tutte le risposte dell’API Venice includono header HTTP che forniscono metadati sulla richiesta, rate limit, informazioni sul modello e saldo dell’account. Oltre ai codici di errore restituiti dalle risposte API, puoi ispezionare questi header per ottenere l’ID univoco di una particolare richiesta API, monitorare il rate limiting e tracciare il saldo del tuo account. Venice consiglia di registrare gli ID delle richieste (header CF-RAY) nei deployment in produzione per un troubleshooting più efficiente con il nostro team di supporto, in caso di necessità. La tabella seguente fornisce un riferimento completo di tutti gli header che puoi incontrare:
HeaderTipoScopoQuando viene restituito
Header HTTP standard
Content-TypestringTipo MIME del corpo della risposta (application/json, text/csv, image/png, ecc.)Sempre
Content-EncodingstringEncoding usato per comprimere il corpo della risposta (gzip, br)Quando il client invia l’header Accept-Encoding
Content-DispositionstringCome deve essere visualizzato il contenuto (es. attachment; filename=export.csv)Quando si scaricano file o export
DatestringTimestamp RFC 7231 formattato quando la risposta è stata generataSempre
Identificazione della richiesta
CF-RAYstringIdentificatore univoco per questa richiesta API, usato per troubleshooting e richieste di supportoSempre
x-venice-versionstringVersione/revisione corrente del servizio API Venice (es. 20250828.222653)Sempre
x-venice-timestampstringTimestamp del server quando la richiesta è stata elaborata (formato ISO 8601)Quando il tracking del timestamp è abilitato
x-venice-host-namestringHostname del server che ha elaborato la richiestaRisposte di errore e scenari di debug
Informazioni sul modello
x-venice-model-idstringIdentificatore univoco del modello AI usato per la richiesta (es. venice-01-lite)Endpoint di inferenza che usano modelli AI
x-venice-model-namestringNome amichevole/di visualizzazione del modello AI usato (es. Venice Lite)Endpoint di inferenza che usano modelli AI
x-venice-model-routerstringServizio router/backend che ha gestito l’inferenza del modelloEndpoint di inferenza quando le info di routing sono disponibili
x-venice-model-deprecation-warningstringMessaggio di avviso per i modelli programmati per la deprecazioneQuando si usa un modello deprecato
x-venice-model-deprecation-datestringData in cui il modello sarà deprecato (data ISO 8601)Quando si usa un modello deprecato
Informazioni sui rate limit
x-ratelimit-limit-requestsnumberNumero massimo di richieste consentite nella finestra temporale correnteTutte le richieste autenticate
x-ratelimit-remaining-requestsnumberNumero di richieste rimanenti nella finestra temporale correnteTutte le richieste autenticate
x-ratelimit-reset-requestsnumberTimestamp Unix quando il rate limit delle richieste si resettaTutte le richieste autenticate
x-ratelimit-limit-tokensnumberNumero massimo di token (prompt + completion) consentiti nella finestra temporaleTutte le richieste autenticate
x-ratelimit-remaining-tokensnumberNumero di token rimanenti nella finestra temporale correnteTutte le richieste autenticate
x-ratelimit-reset-tokensnumberDurata in secondi fino al reset del rate limit dei tokenTutte le richieste autenticate
x-ratelimit-typestringTipo di rate limit applicato (user, api_key, global)Quando il rate limiting è applicato
Header di paginazione
x-pagination-limitnumberNumero di elementi per paginaEndpoint paginati
x-pagination-pagenumberNumero di pagina corrente (base 1)Endpoint paginati
x-pagination-totalnumberNumero totale di elementi su tutte le pagineEndpoint paginati
x-pagination-total-pagesnumberNumero totale di pagineEndpoint paginati
Informazioni sul saldo account
x-venice-balance-diemstringIl tuo saldo del token DIEM prima che la richiesta venisse elaborataTutte le richieste autenticate
x-venice-balance-usdstringIl tuo saldo di credito in USD prima che la richiesta venisse elaborataTutte le richieste autenticate
Header di content safety
x-venice-is-blurredstringIndica se l’immagine generata è stata sfocata per le content policy (true/false)Generazione di immagini con Safe Venice abilitato
x-venice-is-content-violationstringIndica se il contenuto viola le content policy di Venice (true/false)Endpoint di generazione di contenuti
x-venice-is-adult-model-content-violationstringIndica se il contenuto viola le content policy dei modelli per adulti (true/false)Endpoint di generazione di immagini
x-venice-contains-minorstringIndica se l’immagine contiene minori (true/false)Endpoint di analisi immagini con rilevamento dell’età
Informazioni sul client
x-venice-middleface-versionstringVersione del client middleface di VeniceRichieste da client middleface di Venice
x-venice-mobile-versionstringVersione del client app mobile di VeniceRichieste da applicazioni mobile
x-venice-request-timestamp-msnumberTimestamp di richiesta fornito dal client in millisecondiQuando il client fornisce un timestamp nella richiesta
x-venice-control-instancestringIdentificatore dell’istanza di controllo per il debuggingEndpoint di generazione immagini per il debugging
Header di autenticazione
x-auth-refreshedstringIndica che il token di autenticazione è stato aggiornato durante la richiesta (true/false)Quando i token di autenticazione vengono aggiornati automaticamente
x-retry-countnumberNumero di tentativi di retry per la richiestaQuando si verificano retry della richiesta

Note importanti

  • Maiuscole/minuscole nei nomi degli header: gli header HTTP sono case-insensitive, ma Venice usa minuscole con trattini per coerenza
  • Valori stringa: i valori booleani negli header vengono restituiti come stringhe ("true" o "false")
  • Valori numerici: numeri grandi e valori di saldo possono essere restituiti come stringhe per prevenire perdita di precisione
  • Header opzionali: non tutti gli header vengono restituiti in ogni risposta; la presenza dipende dall’endpoint e dal contesto della richiesta
  • Compressione: usa Accept-Encoding: gzip, br nelle richieste per ricevere risposte compresse dove supportato

Esempio: accedere agli header di risposta

// Dopo aver fatto una richiesta API, accedi agli header dall'oggetto response
const requestId = response.headers.get('CF-RAY');
const remainingRequests = response.headers.get('x-ratelimit-remaining-requests');
const remainingTokens = response.headers.get('x-ratelimit-remaining-tokens');
const usdBalance = response.headers.get('x-venice-balance-usd');

// Controlla gli avvisi di deprecazione del modello
const deprecationWarning = response.headers.get('x-venice-model-deprecation-warning');
if (deprecationWarning) {
  console.warn(`Model Deprecation: ${deprecationWarning}`);
}

Best practice

  1. Rate limiting: monitora gli header x-ratelimit-remaining-requests e x-ratelimit-remaining-tokens e implementa un backoff esponenziale
  2. Monitoraggio del saldo: traccia gli header x-venice-balance-usd e x-venice-balance-diem per evitare interruzioni del servizio
  3. System prompt: testa con e senza i system prompt di Venice per trovare la soluzione migliore per il tuo caso d’uso
  4. API key: mantieni le tue API key al sicuro e ruotale regolarmente
  5. Logging delle richieste: registra i valori dell’header CF-RAY per il troubleshooting con il supporto
  6. Deprecazione dei modelli: controlla gli header x-venice-model-deprecation-warning quando usi i modelli

Differenze rispetto all’API di OpenAI

Sebbene Venice mantenga un’elevata compatibilità con la specifica dell’API OpenAI, ci sono alcune differenze chiave:
  1. venice_parameters: configurazioni aggiuntive come enable_web_search, character_slug e strip_thinking_response per funzionalità estese
  2. System prompt: Venice aggiunge i tuoi system prompt ai default che ottimizzano per risposte senza restrizioni (disabilita con include_venice_system_prompt: false)
  3. Ecosistema dei modelli: Venice offre la propria lineup di modelli inclusi modelli senza restrizioni e di ragionamento - usa gli ID dei modelli Venice anziché le mappature OpenAI
  4. Header di risposta: header unici per il tracking del saldo (x-venice-balance-usd, x-venice-balance-diem), avvisi di deprecazione dei modelli e flag di sicurezza del contenuto
  5. Content policy: policy più permissive con modelli dedicati senza restrizioni e filtraggio dei contenuti opzionale

Stabilità dell’API

Venice mantiene la retrocompatibilità per gli endpoint e i parametri v1. Per la policy del ciclo di vita dei modelli, gli avvisi di deprecazione e le indicazioni di migrazione, consulta Deprecations.

Specifica OpenAPI e dati raw

Per accesso programmatico ai doc e ai dati dell’API Venice — incluso l’uso con RAG (Retrieval-Augmented Generation) — sono disponibili le seguenti risorse:
I campi della richiesta non elencati in questa documentazione possono essere passati attraverso ma non sono validati né garantiti per funzionare.