Zum Hauptinhalt springen
Die Venice API bietet HTTP-basierte REST- und Streaming-Schnittstellen für die Entwicklung von KI-Anwendungen mit unzensierten Modellen und privater Inferenz. Sie können Texterzeugung, Bildgenerierung, Embeddings und mehr erstellen — alles ohne restriktive Inhaltsrichtlinien. Integrationsbeispiele und SDKs sind in der Dokumentation verfügbar. Unsere API-Referenz ist auch als OpenAPI-YAML-Spezifikation verfügbar.

Authentifizierung

Die Venice API verwendet API-Schlüssel zur Authentifizierung. Erstellen und verwalten Sie Ihre API-Schlüssel in Ihren API-Einstellungen. Alle API-Anfragen erfordern HTTP-Bearer-Authentifizierung:
Authorization: Bearer VENICE_API_KEY
Ihr API-Schlüssel ist ein Geheimnis. Geben Sie ihn nicht weiter und legen Sie ihn nicht in clientseitigem Code offen.

OpenAI-Kompatibilität

Die API von Venice implementiert die OpenAI-API-Spezifikation und stellt damit die Kompatibilität mit bestehenden OpenAI-Clients und -Tools sicher. So können Sie Venice über die gewohnte OpenAI-Schnittstelle einbinden und gleichzeitig auf die einzigartigen Funktionen von Venice und seine unzensierten Modelle zugreifen.

Setup

Konfigurieren Sie Ihren Client so, dass er die Base-URL von Venice (https://api.venice.ai/api/v1) verwendet, und stellen Sie Ihre erste Anfrage:
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!"}]
  }'

Venice-spezifische Funktionen

System-Prompts

Venice stellt Standard-System-Prompts bereit, die unzensierte und natürliche Modellantworten gewährleisten sollen. Sie haben zwei Optionen zum Umgang mit System-Prompts:
  1. Standardverhalten: Ihre System-Prompts werden an die Defaults von Venice angehängt
  2. Benutzerdefiniertes Verhalten: Die System-Prompts von Venice vollständig deaktivieren

Venice-System-Prompts deaktivieren

Verwenden Sie die Option venice_parameters, um die Standard-System-Prompts von Venice zu entfernen:
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-Parameter

Das Objekt venice_parameters ermöglicht den Zugriff auf Venice-spezifische Funktionen, die in der Standard-OpenAI-API nicht verfügbar sind:
ParameterTypBeschreibungStandard
character_slugstringDer Character-Slug eines öffentlichen Venice-Characters (auf der veröffentlichten Character-Seite als “Public ID” auffindbar)-
strip_thinking_responsebooleanEntfernt <think></think>-Blöcke aus der Antwort (Modelle, die das ältere <think>-Tag-Format verwenden). Siehe Reasoning-Modelle.false
disable_thinkingbooleanBei unterstützten Reasoning-Modellen wird das Thinking deaktiviert und die <think></think>-Blöcke werden aus der Antwort entferntfalse
enable_web_searchstringWeb-Search für diese Anfrage aktivieren (off, on, auto — auto aktiviert je nach Ermessen des Modells)
Es fallen zusätzliche nutzungsbasierte Kosten an, siehe Preise.
off
enable_web_scrapingbooleanAktiviert das Web-Scraping von bis zu 5 URLs, die in der Benutzernachricht erkannt werden. Gescrapter Inhalt ergänzt Antworten und umgeht die Web-Search. Nur erfolgreich gescrapte URLs werden berechnet.
Es fallen zusätzliche nutzungsbasierte Kosten an, siehe Preise.
false
enable_x_searchbooleanAktiviert die native Suche von xAI (Web + X/Twitter) für unterstützte Grok-Modelle (z. B. grok-4-20-beta). Liefert qualitativ hochwertigere Suchergebnisse durch Nutzung der xAI-Suchinfrastruktur. Bei Aktivierung wird die Standard-Web-Search von Venice umgangen.
Es fallen zusätzliche nutzungsbasierte Kosten an, siehe Preise.
false
enable_web_citationsbooleanWenn Web-Search aktiviert ist, fordert dies das LLM auf, seine Quellen im Format [REF]0[/REF] zu zitierenfalse
include_search_results_in_streambooleanExperimentell: Suchergebnisse als ersten ausgegebenen Chunk in den Stream aufnehmenfalse
return_search_results_as_documentsbooleanSuchergebnisse als OpenAI-kompatiblen Tool-Call namens venice_web_search_documents für die LangChain-Integration bereitstellenfalse
include_venice_system_promptbooleanOb die Standard-System-Prompts von Venice zusätzlich zu den angegebenen System-Prompts eingebunden werden sollentrue
Diese Parameter können auch als Modell-Suffixe an den Modellnamen angehängt werden (z. B. zai-org-glm-5:enable_web_search=auto). Details siehe Model Feature Suffixes.

Prompt Caching

Venice unterstützt Prompt Caching auf ausgewählten Modellen, um Latenz und Kosten für wiederholten Inhalt zu reduzieren. Für unterstützte Modelle cached Venice System-Prompts automatisch — es sind keine Code-Änderungen erforderlich. Sie können Inhalte auch manuell zum Caching markieren, indem Sie die Eigenschaft cache_control am Nachrichteninhalt verwenden.
ParameterTypBeschreibung
prompt_cache_keystringOptionaler Routing-Hinweis, um Cache-Hit-Raten zu verbessern. Wenn angegeben, leitet Venice Anfragen an dieselbe Backend-Infrastruktur weiter und erhöht so die Wahrscheinlichkeit von Cache-Treffern bei mehrstufigen Konversationen.
Siehe Prompt Caching für Details zur Funktionsweise des Caching, zur Abrechnung und zu Best Practices.

Response-Header-Referenz

Alle Antworten der Venice API enthalten HTTP-Header, die Metadaten zur Anfrage, Rate-Limits, Modellinformationen und Kontoguthaben bereitstellen. Zusätzlich zu Fehlercodes aus API-Antworten können Sie diese Header prüfen, um die eindeutige ID einer bestimmten API-Anfrage zu erhalten, Rate-Limits zu überwachen und Ihr Kontoguthaben zu verfolgen. Venice empfiehlt, Request-IDs (CF-RAY-Header) in Produktivumgebungen zu protokollieren, um die Problemanalyse mit unserem Support-Team bei Bedarf effizienter zu gestalten. Die folgende Tabelle bietet eine umfassende Referenz aller Header, denen Sie begegnen können:
HeaderTypZweckWann zurückgegeben
Standard-HTTP-Header
Content-TypestringMIME-Typ des Response-Body (application/json, text/csv, image/png etc.)Immer
Content-EncodingstringVerwendete Kodierung zur Komprimierung des Response-Body (gzip, br)Wenn der Client den Header Accept-Encoding sendet
Content-DispositionstringWie der Inhalt angezeigt werden soll (z. B. attachment; filename=export.csv)Beim Herunterladen von Dateien oder Exporten
DatestringZeitstempel im RFC-7231-Format, wann die Antwort generiert wurdeImmer
Request-Identifikation
CF-RAYstringEindeutiger Identifier für diese API-Anfrage, verwendet für Troubleshooting und Support-AnfragenImmer
x-venice-versionstringAktuelle Version/Revision des Venice-API-Dienstes (z. B. 20250828.222653)Immer
x-venice-timestampstringServer-Zeitstempel, wann die Anfrage verarbeitet wurde (ISO-8601-Format)Wenn Timestamp-Tracking aktiviert ist
x-venice-host-namestringHostname des Servers, der die Anfrage verarbeitet hatFehlerantworten und Debugging-Szenarien
Modellinformationen
x-venice-model-idstringEindeutiger Identifier des für die Anfrage verwendeten KI-Modells (z. B. venice-01-lite)Inferenz-Endpoints, die KI-Modelle verwenden
x-venice-model-namestringAnzeigename des verwendeten KI-Modells (z. B. Venice Lite)Inferenz-Endpoints, die KI-Modelle verwenden
x-venice-model-routerstringRouter/Backend-Dienst, der die Modell-Inferenz abgewickelt hatInferenz-Endpoints, wenn Routing-Info verfügbar ist
x-venice-model-deprecation-warningstringWarnmeldung für Modelle, die zur Deprecation vorgesehen sindBei Verwendung eines deprecated Modells
x-venice-model-deprecation-datestringDatum, an dem das Modell deprecated wird (ISO-8601-Datum)Bei Verwendung eines deprecated Modells
Rate-Limit-Informationen
x-ratelimit-limit-requestsnumberMaximale Anzahl von Anfragen im aktuellen ZeitfensterAlle authentifizierten Anfragen
x-ratelimit-remaining-requestsnumberAnzahl der im aktuellen Zeitfenster verbleibenden AnfragenAlle authentifizierten Anfragen
x-ratelimit-reset-requestsnumberUnix-Zeitstempel, wann das Request-Rate-Limit zurückgesetzt wirdAlle authentifizierten Anfragen
x-ratelimit-limit-tokensnumberMaximale Anzahl von Tokens (Prompt + Completion), die im Zeitfenster erlaubt sindAlle authentifizierten Anfragen
x-ratelimit-remaining-tokensnumberAnzahl der im aktuellen Zeitfenster verbleibenden TokensAlle authentifizierten Anfragen
x-ratelimit-reset-tokensnumberDauer in Sekunden bis zum Zurücksetzen des Token-Rate-LimitsAlle authentifizierten Anfragen
x-ratelimit-typestringArt des angewendeten Rate-Limits (user, api_key, global)Wenn Rate-Limiting durchgesetzt wird
Paginierungs-Header
x-pagination-limitnumberAnzahl der Elemente pro SeitePaginierte Endpoints
x-pagination-pagenumberAktuelle Seitenzahl (1-basiert)Paginierte Endpoints
x-pagination-totalnumberGesamtanzahl der Elemente über alle SeitenPaginierte Endpoints
x-pagination-total-pagesnumberGesamtanzahl der SeitenPaginierte Endpoints
Kontoguthaben-Informationen
x-venice-balance-diemstringIhr DIEM-Token-Guthaben vor der Verarbeitung der AnfrageAlle authentifizierten Anfragen
x-venice-balance-usdstringIhr USD-Credit-Guthaben vor der Verarbeitung der AnfrageAlle authentifizierten Anfragen
Content-Safety-Header
x-venice-is-blurredstringGibt an, ob das generierte Bild aufgrund von Inhaltsrichtlinien unscharf gemacht wurde (true/false)Bildgenerierung mit aktiviertem Safe Venice
x-venice-is-content-violationstringGibt an, ob der Inhalt gegen die Inhaltsrichtlinien von Venice verstößt (true/false)Endpoints für Inhaltsgenerierung
x-venice-is-adult-model-content-violationstringGibt an, ob der Inhalt gegen die Inhaltsrichtlinien für Adult-Modelle verstößt (true/false)Endpoints für Bildgenerierung
x-venice-contains-minorstringGibt an, ob das Bild Minderjährige enthält (true/false)Endpoints für Bildanalyse mit Altersbestimmung
Client-Informationen
x-venice-middleface-versionstringVersion des Venice-Middleface-ClientsAnfragen von Venice-Middleface-Clients
x-venice-mobile-versionstringVersion der Venice-Mobile-AppAnfragen aus mobilen Anwendungen
x-venice-request-timestamp-msnumberVom Client bereitgestellter Request-Zeitstempel in MillisekundenWenn der Client einen Zeitstempel in der Anfrage angibt
x-venice-control-instancestringControl-Instance-Identifier zum DebuggingEndpoints für Bildgenerierung zum Debugging
Authentifizierungs-Header
x-auth-refreshedstringGibt an, ob der Authentifizierungs-Token während der Anfrage aktualisiert wurde (true/false)Wenn Authentifizierungs-Tokens automatisch aktualisiert werden
x-retry-countnumberAnzahl der Wiederholungsversuche für die AnfrageWenn Wiederholungen der Anfrage auftreten

Wichtige Hinweise

  • Header-Namens-Schreibweise: HTTP-Header sind case-insensitive, aber Venice verwendet aus Konsistenzgründen Kleinschreibung mit Bindestrichen
  • String-Werte: Boolesche Werte in Headern werden als Strings zurückgegeben ("true" oder "false")
  • Numerische Werte: Große Zahlen und Guthabenwerte können als Strings zurückgegeben werden, um Genauigkeitsverlust zu vermeiden
  • Optionale Header: Nicht alle Header werden in jeder Antwort zurückgegeben; die Verfügbarkeit hängt vom Endpoint und Request-Kontext ab
  • Komprimierung: Verwenden Sie Accept-Encoding: gzip, br in Anfragen, um dort, wo unterstützt, komprimierte Antworten zu erhalten

Beispiel: Auf Response-Header zugreifen

// After making an API request, access headers from the response object
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');

// Check for model deprecation warnings
const deprecationWarning = response.headers.get('x-venice-model-deprecation-warning');
if (deprecationWarning) {
  console.warn(`Model Deprecation: ${deprecationWarning}`);
}

Best Practices

  1. Rate-Limiting: Überwachen Sie die Header x-ratelimit-remaining-requests und x-ratelimit-remaining-tokens und implementieren Sie exponentielles Backoff
  2. Guthaben-Überwachung: Verfolgen Sie die Header x-venice-balance-usd und x-venice-balance-diem, um Dienstunterbrechungen zu vermeiden
  3. System-Prompts: Testen Sie mit und ohne Venice-System-Prompts, um die beste Anpassung an Ihren Use Case zu finden
  4. API-Schlüssel: Halten Sie Ihre API-Schlüssel sicher und rotieren Sie sie regelmäßig
  5. Request-Logging: Protokollieren Sie die Werte des CF-RAY-Headers zur Problemanalyse mit dem Support
  6. Modell-Deprecation: Prüfen Sie bei der Modellnutzung auf x-venice-model-deprecation-warning-Header

Unterschiede zur OpenAI-API

Während Venice eine hohe Kompatibilität mit der OpenAI-API-Spezifikation aufrechterhält, gibt es einige wesentliche Unterschiede:
  1. venice_parameters: Zusätzliche Konfigurationen wie enable_web_search, character_slug und strip_thinking_response für erweiterte Funktionalität
  2. System-Prompts: Venice hängt Ihre System-Prompts an Defaults an, die auf unzensierte Antworten optimiert sind (deaktivieren mit include_venice_system_prompt: false)
  3. Modell-Ökosystem: Venice bietet eine eigene Modell-Auswahl inklusive unzensierter und Reasoning-Modelle — verwenden Sie Venice-Modell-IDs statt OpenAI-Mappings
  4. Response-Header: Einzigartige Header für Guthaben-Tracking (x-venice-balance-usd, x-venice-balance-diem), Modell-Deprecation-Warnungen und Content-Safety-Flags
  5. Inhaltsrichtlinien: Großzügigere Richtlinien mit dedizierten unzensierten Modellen und optionaler Inhaltsfilterung

API-Stabilität

Venice gewährleistet Abwärtskompatibilität für v1-Endpoints und -Parameter. Für die Modell-Lifecycle-Policy, Deprecation-Hinweise und Migrations-Anleitung siehe Deprecations.

OpenAPI-Spezifikation & Rohdaten

Für den programmatischen Zugriff auf die Venice-API-Dokumentation und -Daten — einschließlich der Nutzung mit RAG (Retrieval-Augmented Generation) — stehen die folgenden Ressourcen zur Verfügung:
Request-Felder, die in dieser Dokumentation nicht aufgeführt sind, können durchgereicht werden, sind aber nicht validiert und ihr Verhalten ist nicht garantiert.