AI Inference
Ein OpenAI-kompatibles Gateway, Abrechnung nach Verbrauch.
Öffne AI Inferenceim aktuellen Projekt. Das ist eine andere API als die HTTP-API der Plattform. Plattform-Keys
(nodion_…) verwalten Ressourcen. Inference-Keys
(nodion_ai_…) rufen Modelle auf.
Tabs
- Keys: einen Key anlegen. Er wird einmal gezeigt. Optionales Ablaufdatum und ein tägliches Spend-Limit. Ein Key nutzt das Prepaid-Wallet oder ist an einen Coding-Plan gebunden; ein Plan-Key nutzt das Wallet auch für Modelle außerhalb des Plans und nach einem vollen Fenster, wenn der Plan das erlaubt. Projekt-Admins verwalten alle Keys; andere Members legen nur Keys für den ihnen zugewiesenen Plan an und sehen nur diese.
- Playground: Chat ausprobieren (und andere Modi, wenn Modelle existieren). Playground-Traffic wird wie jeder andere Request metered und läuft auf dem Prepaid-Wallet. Nur Projekt-Owner und Admins.
- Models: Katalog und Readiness.
- Usage und Requests.
- Billing: ein Prepaid-Wallet, getrennt von der monatlichen Plattform-Rechnung. Aufladen mit Karte oder PayPal.
- Coding Plans: optionales Prepaid Go / Pro / Max für 2× Chat und Tool-Usage, ein Plan pro Entwickler. Der Projekt-Owner kauft Pläne und weist jeden einem Projekt-Member zu; an einen Plan gebundene Keys nutzen ihn. AI Coding Plans auf der Website; verwalten unter AI Inference → Coding Plans.
- Settings: Provider erlauben oder ausschließen, optionale Region-Allowlist und Policy-Toggles wie Zero Data Retention. Zero Data Retention ist für Nodion-gehostete Modelle immer an; der Projekt-Toggle gilt für geroutete Provider.
Die API aufrufen
bashcurl https://api.nodion.ai/v1/chat/completions \
-H "Authorization: Bearer $NODION_AI_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "<model>", "messages": [{"role": "user", "content": "Hello"}]}' Jeder Endpoint, inklusive Embeddings, Rerank, System One und OCR, mit Limits und Fehlercodes, steht in der AI-API-Referenz.
Token-bezahlte Modelle listen mit
GET https://api.nodion.ai/v1/models
oder im Tab Models (inklusive OCR, Sprache zu Text und Text zu Sprache).
Preise stehen dort, nicht im Plattform-Preisbuch. AI-Spend kommt aus dem Wallet oder einem Coding-Plan, nicht aus der Plattform-Rechnung.
Speech- und OCR-Modelle stehen nicht auf /v1/models — den Dashboard-Katalog oder die öffentliche Liste /v2/public/ai/models nutzen.
Modelle mit Markierung Preview können kurzfristig aus dem Katalog fallen. Es gibt kein Deprecation-Datum; sie bleiben aufrufbar, bis sie verschwinden.
Sprache zu Text
POST /v1/audio/transcriptions ist OpenAI-förmiges Multipart.
Der ganze Request-Body muss unter 25 MiB bleiben (Datei plus Form-Felder).
Dateien selbst sind auf 20 MiB begrenzt. Duration wird pro Sekunde berechnet.
bashcurl https://api.nodion.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $NODION_AI_KEY" \
-F model="mistral/voxtral-mini-transcribe" \
-F file="@speech.wav" Text zu Sprache
POST /v1/audio/speech gibt Audio-Bytes zurück. Input wird pro UTF-8-Zeichen (Unicode-Codepoint) berechnet.
bashcurl https://api.nodion.ai/v1/audio/speech \
-H "Authorization: Bearer $NODION_AI_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "mistral/voxtral-mini-tts", "input": "Hello from Nodion", "voice": "en-US"}' \
--output speech.mp3 Stimmklonen
Modelle mit supports_voice_cloning akzeptieren eine projekt-geklonte Voice-ID in
voice auf POST /v1/audio/speech. Ein Sample anlegen mit
POST /v1/audio/voices (Multipart name, consent=true
und eine 3–30 Sekunden file). Zehn Voices pro Projekt. Zehn Create-Versuche pro Stunde.
Samples bleiben verschlüsselt gespeichert, bis die Voice oder das Projekt gelöscht wird; eine kurze Referenz geht bei jeder Synthese an Mistral.
Du musst bestätigen, dass das Sample deine eigene Stimme ist oder die Person dem Klonen zugestimmt hat.
bashcurl https://api.nodion.ai/v1/audio/voices \
-H "Authorization: Bearer $NODION_AI_KEY" \
-F name="Studio" \
-F consent="true" \
-F file="@clip.wav"
curl https://api.nodion.ai/v1/audio/speech \
-H "Authorization: Bearer $NODION_AI_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "mistral/voxtral-mini-tts", "input": "Hello from Nodion", "voice": "<voice-id>"}' \
--output cloned.mp3 Realtime-Transkription
Realtime-Modelle nutzen wss://api.nodion.ai/v1/audio/transcriptions/realtime?model=…
mit demselben Bearer-Key. Das Wire-Format sind Mistrals JSON-Frames
(session.update, input_audio.append mit Base64-PCM), nicht OpenAIs Agent-Realtime-API.
Bildgenerierung
Bildmodelle nutzen die OpenAI Images API:
POST https://api.nodion.ai/v1/images/generations.
Die Antwort ist nur b64_json — url und Remote-
Image-Fetches werden abgelehnt. n ist reserviert und wird pro
zurückgegebenem Bild abgerechnet. Bildmodelle stehen im Tab Models, nicht auf
GET /v1/models.
bashcurl https://api.nodion.ai/v1/images/generations \
-H "Authorization: Bearer $NODION_AI_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "<image-model>", "prompt": "a red cube", "n": 1, "size": "1024x1024"}' Tools
Websuche, News, Fetch, Bilder, Videos, Places, Maps, Shopping und Reverse-Image-Suche werden pro Call berechnet: aus demselben Wallet oder aus dem inkludierten Usage, wenn der Key an einen Coding-Plan gebunden ist. Sie stehen im AI-Inference-Katalog und werden mit einem Inference-Key aufgerufen:
bashcurl https://api.nodion.ai/v1/tools/web_news \
-H "Authorization: Bearer $NODION_AI_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "EU cloud regulation", "limit": 5}' POST /v1/tools/web_search nimmt denselben
query-Body, optional mit Fetch-Hydration der Hits.
POST /v1/tools/web_images, web_videos,
web_places, web_maps und
web_shopping nutzen dieselbe query-Form.
web_maps akzeptiert zusätzlich optionales ll
(@lat,lng,zoomz).
POST /v1/tools/web_lens nimmt eine Bild-url.
POST /v1/tools/web_fetch nimmt eine
url und gibt standardmäßig Markdown zurück. Optionale
location, language und freshness
(day, week, month, year)
filtern Suche, News, Bilder und Videos.
Seitenladungen (web_fetch und die Fetch-Hydration von
web_search) laufen als NodionBot und achten
robots.txt, Content-Signal: ai-input=no und
tdm-reservation. Bei web_fetch werden nur die
Request-Header Accept und Accept-Language
weitergereicht; andere Header werden verworfen und in warnings genannt,
und URLs mit Credentials werden abgelehnt.
Ein abgelehntes web_fetch antwortet 403 mit
blocked_by_robots, blocked_by_content_signal,
blocked_by_tdm_reservation oder blocked_domain, oder
503 mit robots_unavailable (die robots.txt der Site ließ sich nicht
lesen) oder fetch_unavailable; abgelehnte Calls werden nicht berechnet,
und ein 503 kannst du später retryen. Bei der Hydration von web_search
bleibt ein abgelehnter Hit bei 200: er steht in
warnings mit seinem Code und wird nicht berechnet, die Suche
selbst schon.
Privacy
Die AI Inference DPA gilt für Prompts und Outputs nur auf
Nodion-gehosteten Modellen (Katalog serving: hosted).
Geroutete Provider, AI Tools (Websuche, News, Fetch) und Voice Cloning liegen außerhalb
dieser DPA. Voice-Samples bleiben verschlüsselt, bis du die Voice oder das Projekt löschst; eine kurze
Referenz geht bei jeder Synthese an Mistral.
Agenten, die die Cloud verwalten
Damit Cursor oder Claude Apps und Datenbanken anlegen, MCPmit einem persönlichen Plattform-Key nutzen, nicht einem Inference-Key.