Passer au contenu principal
L’API Venice propose des interfaces REST HTTP et streaming pour créer des applications d’IA avec des modèles non censurés et une inférence privée. Vous pouvez créer avec de la génération de texte, de la création d’image, des embeddings et plus encore, le tout sans politiques de contenu restrictives. Des exemples d’intégration et des SDK sont disponibles dans la documentation. Notre référence API est également disponible sous forme de spec OpenAPI YAML.

Authentification

L’API Venice utilise des clés API pour l’authentification. Créez et gérez vos clés API dans vos paramètres API. Toutes les requêtes API nécessitent une authentification HTTP Bearer :
Authorization: Bearer VENICE_API_KEY
Votre clé API est un secret. Ne la partagez pas et ne l’exposez pas dans du code côté client.

Compatibilité OpenAI

L’API de Venice implémente la spécification API d’OpenAI, garantissant la compatibilité avec les clients et outils OpenAI existants. Cela vous permet d’intégrer Venice en utilisant l’interface OpenAI familière tout en accédant aux fonctionnalités uniques de Venice et à ses modèles non censurés.

Configuration

Configurez votre client pour utiliser l’URL de base de Venice (https://api.venice.ai/api/v1) et effectuez votre première requête :
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!"}]
  }'

Fonctionnalités spécifiques à Venice

Prompts système

Venice fournit des prompts système par défaut conçus pour garantir des réponses de modèle non censurées et naturelles. Vous avez deux options pour gérer les prompts système :
  1. Comportement par défaut : Vos prompts système sont ajoutés aux valeurs par défaut de Venice
  2. Comportement personnalisé : Désactiver entièrement les prompts système de Venice

Désactiver les prompts système de Venice

Utilisez l’option venice_parameters pour supprimer les prompts système par défaut de 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
    }
  }'

Paramètres Venice

L’objet venice_parameters vous permet d’accéder aux fonctionnalités spécifiques à Venice qui ne sont pas disponibles dans l’API OpenAI standard :
ParamètreTypeDescriptionPar défaut
character_slugstringLe slug d’un personnage Venice public (visible comme « Public ID » sur la page du personnage publié)-
strip_thinking_responsebooleanRetire les blocs <think></think> de la réponse (modèles utilisant l’ancien format de balise <think>). Voir Modèles de raisonnement.false
disable_thinkingbooleanSur les modèles de raisonnement pris en charge, désactive la réflexion et retire les blocs <think></think> de la réponsefalse
enable_web_searchstringActive la recherche web pour cette requête (off, on, auto - auto active selon la discrétion du modèle)
Une tarification supplémentaire à l’usage s’applique, voir tarification.
off
enable_web_scrapingbooleanActive le scraping web de jusqu’à 5 URL détectées dans le message utilisateur. Le contenu scrapé enrichit les réponses et contourne la recherche web. Seules les URL scrapées avec succès sont facturées.
Une tarification supplémentaire à l’usage s’applique, voir tarification.
false
enable_x_searchbooleanActive la recherche native de xAI (web + X/Twitter) pour les modèles Grok pris en charge (par ex. grok-4-20-beta). Fournit des résultats de recherche de meilleure qualité en utilisant l’infrastructure de recherche de xAI. Lorsque cette option est activée, la recherche web standard de Venice est contournée.
Une tarification supplémentaire à l’usage s’applique, voir tarification.
false
enable_web_citationsbooleanLorsque la recherche web est activée, demande au LLM de citer ses sources au format [REF]0[/REF]false
include_search_results_in_streambooleanExpérimental : Inclut les résultats de recherche dans le stream en tant que premier chunk émisfalse
return_search_results_as_documentsbooleanExpose les résultats de recherche dans un appel d’outil compatible OpenAI nommé venice_web_search_documents pour l’intégration LangChainfalse
include_venice_system_promptbooleanIndique s’il faut inclure les prompts système par défaut de Venice avec les prompts système spécifiéstrue
Ces paramètres peuvent également être spécifiés en tant que suffixes de modèle ajoutés au nom du modèle (par ex. zai-org-glm-5:enable_web_search=auto). Voir Suffixes de fonctionnalité de modèle pour plus de détails.

Mise en cache des prompts

Venice prend en charge la mise en cache des prompts sur certains modèles afin de réduire la latence et les coûts pour le contenu répété. Pour les modèles pris en charge, Venice met automatiquement en cache les prompts système — aucune modification de code requise. Vous pouvez également marquer manuellement le contenu pour la mise en cache en utilisant la propriété cache_control sur le contenu du message.
ParamètreTypeDescription
prompt_cache_keystringIndice de routage optionnel pour améliorer les taux de hit du cache. Lorsqu’il est fourni, Venice route les requêtes vers la même infrastructure backend, augmentant la probabilité de hits du cache sur les conversations multi-tour.
Voir Mise en cache des prompts pour les détails sur le fonctionnement du cache, la facturation et les bonnes pratiques.

Référence des en-têtes de réponse

Toutes les réponses de l’API Venice incluent des en-têtes HTTP qui fournissent des métadonnées sur la requête, les limites de débit, les informations sur le modèle et le solde du compte. En plus des codes d’erreur renvoyés par les réponses API, vous pouvez inspecter ces en-têtes pour obtenir l’ID unique d’une requête API particulière, surveiller les limites de débit et suivre le solde de votre compte. Venice recommande de journaliser les ID de requête (en-tête CF-RAY) dans les déploiements en production pour un dépannage plus efficace avec notre équipe de support, si le besoin se présente. Le tableau ci-dessous fournit une référence complète de tous les en-têtes que vous pouvez rencontrer :
En-têteTypeObjetQuand renvoyé
En-têtes HTTP standard
Content-TypestringType MIME du corps de la réponse (application/json, text/csv, image/png, etc.)Toujours
Content-EncodingstringEncodage utilisé pour compresser le corps de la réponse (gzip, br)Lorsque le client envoie l’en-tête Accept-Encoding
Content-DispositionstringComment le contenu doit être affiché (par ex. attachment; filename=export.csv)Lors du téléchargement de fichiers ou d’exports
DatestringHorodatage au format RFC 7231 lorsque la réponse a été généréeToujours
Identification de la requête
CF-RAYstringIdentifiant unique pour cette requête API, utilisé pour le dépannage et les demandes de supportToujours
x-venice-versionstringVersion/révision actuelle du service API Venice (par ex. 20250828.222653)Toujours
x-venice-timestampstringHorodatage serveur lorsque la requête a été traitée (format ISO 8601)Lorsque le suivi d’horodatage est activé
x-venice-host-namestringNom d’hôte du serveur qui a traité la requêteRéponses d’erreur et scénarios de débogage
Informations sur le modèle
x-venice-model-idstringIdentifiant unique du modèle IA utilisé pour la requête (par ex. venice-01-lite)Endpoints d’inférence utilisant des modèles IA
x-venice-model-namestringNom convivial/d’affichage du modèle IA utilisé (par ex. Venice Lite)Endpoints d’inférence utilisant des modèles IA
x-venice-model-routerstringRouteur/service backend qui a géré l’inférence du modèleEndpoints d’inférence lorsque les informations de routage sont disponibles
x-venice-model-deprecation-warningstringMessage d’avertissement pour les modèles programmés pour dépréciationLors de l’utilisation d’un modèle déprécié
x-venice-model-deprecation-datestringDate à laquelle le modèle sera déprécié (date ISO 8601)Lors de l’utilisation d’un modèle déprécié
Informations sur les limites de débit
x-ratelimit-limit-requestsnumberNombre maximum de requêtes autorisées dans la fenêtre temporelle actuelleToutes les requêtes authentifiées
x-ratelimit-remaining-requestsnumberNombre de requêtes restantes dans la fenêtre temporelle actuelleToutes les requêtes authentifiées
x-ratelimit-reset-requestsnumberHorodatage Unix lorsque la limite de débit de requêtes se réinitialiseToutes les requêtes authentifiées
x-ratelimit-limit-tokensnumberNombre maximum de tokens (prompt + completion) autorisés dans la fenêtre temporelleToutes les requêtes authentifiées
x-ratelimit-remaining-tokensnumberNombre de tokens restants dans la fenêtre temporelle actuelleToutes les requêtes authentifiées
x-ratelimit-reset-tokensnumberDurée en secondes avant la réinitialisation de la limite de tokensToutes les requêtes authentifiées
x-ratelimit-typestringType de limite de débit appliqué (user, api_key, global)Lorsque la limite de débit est appliquée
En-têtes de pagination
x-pagination-limitnumberNombre d’éléments par pageEndpoints paginés
x-pagination-pagenumberNuméro de page actuel (à partir de 1)Endpoints paginés
x-pagination-totalnumberNombre total d’éléments sur toutes les pagesEndpoints paginés
x-pagination-total-pagesnumberNombre total de pagesEndpoints paginés
Informations sur le solde du compte
x-venice-balance-diemstringVotre solde de tokens DIEM avant le traitement de la requêteToutes les requêtes authentifiées
x-venice-balance-usdstringVotre solde de crédit USD avant le traitement de la requêteToutes les requêtes authentifiées
En-têtes de sécurité de contenu
x-venice-is-blurredstringIndique si l’image générée a été floutée en raison des politiques de contenu (true/false)Génération d’image avec Safe Venice activé
x-venice-is-content-violationstringIndique si le contenu viole les politiques de contenu de Venice (true/false)Endpoints de génération de contenu
x-venice-is-adult-model-content-violationstringIndique si le contenu viole les politiques de contenu des modèles pour adultes (true/false)Endpoints de génération d’image
x-venice-contains-minorstringIndique si l’image contient des mineurs (true/false)Endpoints d’analyse d’image avec détection d’âge
Informations client
x-venice-middleface-versionstringVersion du client middleface VeniceRequêtes des clients middleface Venice
x-venice-mobile-versionstringVersion du client de l’application mobile VeniceRequêtes des applications mobiles
x-venice-request-timestamp-msnumberHorodatage de la requête fourni par le client en millisecondesLorsque le client fournit un horodatage dans la requête
x-venice-control-instancestringIdentifiant d’instance de contrôle pour le débogageEndpoints de génération d’image pour le débogage
En-têtes d’authentification
x-auth-refreshedstringIndique que le token d’authentification a été rafraîchi pendant la requête (true/false)Lorsque les tokens d’authentification sont auto-rafraîchis
x-retry-countnumberNombre de tentatives de relance pour la requêteLorsque des relances de requête se produisent

Notes importantes

  • Casse des noms d’en-tête : Les en-têtes HTTP sont insensibles à la casse, mais Venice utilise des minuscules avec des tirets pour la cohérence
  • Valeurs string : Les valeurs booléennes dans les en-têtes sont renvoyées sous forme de chaînes ("true" ou "false")
  • Valeurs numériques : Les grands nombres et valeurs de solde peuvent être renvoyés sous forme de chaînes pour éviter une perte de précision
  • En-têtes optionnels : Tous les en-têtes ne sont pas renvoyés dans chaque réponse ; leur présence dépend de l’endpoint et du contexte de la requête
  • Compression : Utilisez Accept-Encoding: gzip, br dans les requêtes pour recevoir des réponses compressées lorsque cela est pris en charge

Exemple : Accéder aux en-têtes de réponse

// Après avoir effectué une requête API, accédez aux en-têtes depuis l'objet de réponse
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');

// Vérifiez les avertissements de dépréciation de modèle
const deprecationWarning = response.headers.get('x-venice-model-deprecation-warning');
if (deprecationWarning) {
  console.warn(`Model Deprecation: ${deprecationWarning}`);
}

Bonnes pratiques

  1. Limites de débit : Surveillez les en-têtes x-ratelimit-remaining-requests et x-ratelimit-remaining-tokens et implémentez un backoff exponentiel
  2. Surveillance du solde : Suivez les en-têtes x-venice-balance-usd et x-venice-balance-diem pour éviter les interruptions de service
  3. Prompts système : Testez avec et sans les prompts système de Venice pour trouver celui qui convient le mieux à votre cas d’usage
  4. Clés API : Gardez vos clés API en sécurité et faites-les tourner régulièrement
  5. Journalisation des requêtes : Journalisez les valeurs d’en-tête CF-RAY pour le dépannage avec le support
  6. Dépréciation de modèle : Vérifiez les en-têtes x-venice-model-deprecation-warning lors de l’utilisation des modèles

Différences avec l’API d’OpenAI

Bien que Venice maintienne une grande compatibilité avec la spécification API d’OpenAI, il existe certaines différences clés :
  1. venice_parameters : Des configurations supplémentaires comme enable_web_search, character_slug et strip_thinking_response pour des fonctionnalités étendues
  2. Prompts système : Venice ajoute vos prompts système aux valeurs par défaut qui optimisent les réponses non censurées (désactivez avec include_venice_system_prompt: false)
  3. Écosystème de modèles : Venice propose sa propre gamme de modèles, y compris des modèles non censurés et de raisonnement — utilisez les ID de modèle Venice plutôt que les mappages OpenAI
  4. En-têtes de réponse : En-têtes uniques pour le suivi du solde (x-venice-balance-usd, x-venice-balance-diem), les avertissements de dépréciation de modèle et les indicateurs de sécurité de contenu
  5. Politiques de contenu : Politiques plus permissives avec des modèles non censurés dédiés et un filtrage de contenu optionnel

Stabilité de l’API

Venice maintient la compatibilité ascendante pour les endpoints et paramètres v1. Pour la politique de cycle de vie des modèles, les avis de dépréciation et les conseils de migration, voir Dépréciations.

Spécification OpenAPI et données brutes

Pour un accès programmatique à la documentation et aux données de l’API Venice — y compris pour une utilisation avec RAG (Retrieval-Augmented Generation) — les ressources suivantes sont disponibles :
Les champs de requête non listés dans cette documentation peuvent être transmis mais ne sont ni validés ni garantis fonctionner.