Veyllo

Vorschau auf die Veyllo API

Die Veyllo API bietet OpenAI-kompatible Endpoints für Chat, Bild und Transkription. Trag sie in einen beliebigen OpenAI-Client ein und nutze die Formate, die du schon kennst. Ein Key reicht für alles.

POST /v1/chat/completions

Du schickst Nachrichten und bekommst eine Antwort zurück, als Stream oder am Stück. Der Endpoint entspricht den Standard-Chat-Completions von OpenAI, das Modell heißt veyllo-chat.

request
{
  "model": "veyllo-chat",
  "messages": [
    { "role": "user", "content": "Summarize this." }
  ]
}

Bilder über denselben Endpoint

Häng ein Bild an eine beliebige Nachricht, und veyllo-chat liest es. Du brauchst kein separates Modell und musst nichts zusätzlich einrichten.

request
{
  "model": "veyllo-chat",
  "messages": [{ "role": "user", "content": [
    { "type": "text", "text": "What's in this image?" },
    { "type": "image_url",
      "image_url": { "url": "data:image/jpeg;base64,…" } }
  ]}]
}

POST /v1/audio/transcriptions

Du lädst Audio hoch und bekommst Text zurück. Der Endpoint nutzt das Standard-Transkriptionsformat von OpenAI. Abgerechnet wird pro Sekunde, verarbeitet wird in der EU. Das Modell heißt veyllo-transcribe. Gib language (de, en, …) mit, wenn du die beste Genauigkeit willst. Lässt du den Parameter weg, wird die Sprache automatisch erkannt.

request
curl https://api.veyllo.app/v1/audio/transcriptions \
  -H "Authorization: Bearer vaf_live_…" \
  -F file=@meeting.mp3 \
  -F model=veyllo-transcribe \
  -F language=de

{ "text": "Guten Morgen, fangen wir an…" }

Direkt kompatibel

Du nutzt schon das OpenAI SDK? Ändere zwei Zeilen, und dein Code läuft über Veyllo.

python
from openai import OpenAI

client = OpenAI(
    api_key="vaf_live_…",
    base_url="https://api.veyllo.app/v1",
)
client.chat.completions.create(
    model="veyllo-chat",
    messages=[{"role": "user", "content": "Hello!"}],
)
client.audio.transcriptions.create(
    model="veyllo-transcribe",
    file=open("meeting.mp3", "rb"),
)