ACONAACONAAI Hub
Anmelden Kostenlos starten

API-Dokumentation

Die API ist kompatibel zur OpenAI Chat Completions API. Bestehende Bibliotheken und Werkzeuge funktionieren, wenn Sie Basis-URL und Key austauschen.

Grundlagen

Basis-URL
https://ai.acona.cloud/api/v1
Authentifizierung
Header Authorization: Bearer <API-Key>; Keys erzeugen Sie im Projekt unter „API-Keys“.
Modell
Im Feld model steht der Name aus Ihrem Projekt, z. B. gpt-5.4-mini. Ein Key gilt nur für die Modelle seines Projekts.
Datenschutz
Wir protokollieren nur Metadaten (Zeit, Status, Tokens, Dauer), keine Inhalte von Anfragen oder Antworten.

Chat Completion

POST https://ai.acona.cloud/api/v1/chat/completions

curl

curl https://ai.acona.cloud/api/v1/chat/completions \
  -H "Authorization: Bearer $ACONA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "messages": [
      {"role": "system", "content": "Du bist ein hilfreicher Assistent."},
      {"role": "user", "content": "Was ist ein Sprachmodell?"}
    ]
  }'

Python (Bibliothek openai)

import os
from openai import OpenAI

client = OpenAI(base_url="https://ai.acona.cloud/api/v1", api_key=os.environ["ACONA_API_KEY"])

response = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "Was ist ein Sprachmodell?"}],
)
print(response.choices[0].message.content)

JavaScript / TypeScript

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://ai.acona.cloud/api/v1", apiKey: process.env.ACONA_API_KEY });
const response = await client.chat.completions.create({
  model: "gpt-5.4-mini",
  messages: [{ role: "user", content: "Hallo!" }],
});

Streaming

Mit "stream": true kommt die Antwort Stück für Stück als Server-Sent Events. Den Verbrauch am Ende des Streams erhalten Sie mit "stream_options": {"include_usage": true}.

stream = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "Erzähl eine kurze Geschichte."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Modelle eines Keys abfragen

GET https://ai.acona.cloud/api/v1/models liefert die Modelle, die der Key verwenden darf.

Limits und Fehler

StatusCodeBedeutung
400content_filterDie Anfrage wurde vom Inhaltsfilter abgelehnt.
401invalid_api_keyKey fehlt, ist falsch, widerrufen oder abgelaufen.
403deployment_not_allowedDer Key darf dieses Modell nicht verwenden.
404deployment_not_foundKein bereites Modell mit diesem Namen im Projekt.
429token_limit_reachedDas Monatslimit des Keys ist erreicht.
429rate_limit_exceededZu viele Anfragen pro Minute. Warten Sie die Zeit aus retry-after ab.
502upstream_unavailableDas Modell war kurz nicht erreichbar. Wiederholen Sie die Anfrage.

Jede Antwort enthält den Header x-request-id. Geben Sie ihn bei Rückfragen an ACONA an.