Integrationsanleitung

Richte base_url auf Y-API aus und ändere am restlichen Code nichts. Die Beispiele unten laufen direkt nach dem Kopieren, und alle 47 Modelle folgen demselben Muster.

Schritt 1

Grundkonfiguration

Ersetze diese drei Angaben in jedem OpenAI-kompatiblen SDK. Den api_key findest du auf der Seite „API-Keys" in der Konsole; setze model auf eine beliebige ID aus „Verfügbare Modelle".

base_url
https://api.y-api.bestvirtualgoods.com/v1
api_key
sk-... (in der Konsole erstellen)
model
deepseek/deepseek-v4-flash

Du schreibst einen Agenten oder generierst Client-Code? Die maschinenlesbare OpenAPI-3.1-Spezifikation deckt die drei Endpunkte ab, die es hier gibt, jedes Feld in Request und Response sowie die Fehler, die die SDKs von sich aus wiederholen.

Den Katalog gibt es auch als JSON, und dafür brauchst du keinen Key: jede Modell-ID, der Anbieter dahinter sowie beide Preise — der in Guthaben und der tatsächlich bezahlte. Der Endpunkt GET /v1/models des Gateways verlangt dagegen einen Key; diese Datei ist das Äquivalent ohne Authentifizierung, auf dem Stand des letzten Builds.

Schritt 2

Den ersten Request senden

Alle drei Snippets sind gleichwertig — kopiere das, was du ohnehin nutzt.

cURL
curl https://api.y-api.bestvirtualgoods.com/v1/chat/completions \
  -H "Authorization: Bearer $YAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Hallo!"}]
  }'
Python (openai SDK)
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.y-api.bestvirtualgoods.com/v1",
    api_key=os.environ["YAPI_KEY"],  # Key in der Konsole erstellt
)

response = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hallo!"}],
)
print(response.choices[0].message.content)
Node.js (openai SDK)
import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://api.y-api.bestvirtualgoods.com/v1',
  apiKey: process.env.YAPI_KEY, // Key in der Konsole erstellt
})

const response = await client.chat.completions.create({
  model: 'deepseek/deepseek-v4-flash',
  messages: [{ role: 'user', content: 'Hallo!' }],
})
console.log(response.choices[0].message.content)

Fortgeschritten

Streaming

Füge den Parameter stream hinzu — die Chunks kommen im selben SSE-Format wie bei OpenAI zurück, der Client braucht keine Sonderbehandlung.

stream = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hallo!"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

Fortgeschritten

Modell wechseln

Alle Modelle teilen sich dieselbe base_url und denselben Key — der Wechsel bedeutet nur eine Änderung im model-Feld. Den vollständigen Katalog findest du auf der Modelle-Seite.

# günstig, gut für häufige Aufrufe und Batch-Jobs
client.chat.completions.create(model="deepseek/deepseek-v4-flash", messages=msgs)

# stärker, gut für komplexes Reasoning
client.chat.completions.create(model="deepseek/deepseek-v4-flash", messages=msgs)
Vollständige Modellliste ansehen →

Fehlerbehebung

Fehlerbehandlung

Zwei Fehler treten am häufigsten auf, und beide hinterlassen einen Eintrag im Request-Log der Konsole.

Fehlerbehandlung
401BedeutungDer Key ist ungültig oder wurde widerrufen.Was tunPrüfe auf der Seite „API-Keys“ in der Konsole, ob der Key noch existiert, oder erstelle einen neuen.
403BedeutungDas Kontoguthaben ist aufgebraucht. Kein 429 — und die Meldung kommt auf Chinesisch zurück, weshalb eine Suche auf Deutsch oder Englisch nichts findet.Was tunLade unter https://y-api.bestvirtualgoods.com/app/billing auf — das Guthaben ist sofort wieder verfügbar, Keys bleiben gültig, keine Codeänderungen nötig.

Lies die Ursache nicht am Statuscode ab: Von den 7 Codes, die dieses Gateway zurückgibt, bedeuten 5 etwas anderes als die Zahl sagt, und 2 davon wiederholen die offiziellen SDKs standardmäßig zweimal stillschweigend, bevor dein Programm sie überhaupt sieht. Die Fehlercode-Referenz führt jeden einzelnen auf, samt der Meldung, die er tatsächlich zurückgibt.

Alle Fehlercodes, einzeln gemessen →

Noch keinen Key?

Melde dich mit Google oder GitHub an — dein Konto wird automatisch mit einem Standard-Key angelegt.