Streaming
Antworten Stück für Stück als Server-Sent Events empfangen.
Mit "stream": true kommt die Antwort als Server-Sent Events, Stück für Stück, sobald FTI-3 schreibt. Für Chat-Oberflächen ist das der übliche Weg: Der erste Text steht nach einem Bruchteil der Zeit da.
curl -N https://api.flixtake.app/v1/responses \
-H "Authorization: Bearer $FLIXTAKE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fti-3-sofort",
"input": "Beschreib in drei Sätzen eine Morgenstimmung am Set.",
"max_output_tokens": 300,
"stream": true
}'Ereignisse
Jedes Ereignis besteht aus einer Zeile event: und einer Zeile data: mit JSON. Im JSON steht der Name noch einmal in type. In dieser Reihenfolge:
| Ereignis | Inhalt |
|---|---|
response.created | Die Antwort beginnt: response.id und response.model |
output.added | Ein neuer Teil beginnt, mit index und item.type (text, reasoning oder tool_call) |
output.text.delta | Ein Stück Text in delta |
output.reasoning.delta | Ein Stück der Überlegung in delta, wenn reasoning an ist |
output.arguments.delta | Ein Stück der Werkzeug-Argumente als JSON-Text in delta |
output.done | Der Teil ist fertig, item enthält ihn vollständig |
response.completed | Ende: response ist die ganze Antwort wie ohne Strom, mit usage |
error | Fehler mitten im Strom, mit error.code und error.message |
Dazwischen schickt die API alle 15 Sekunden eine Kommentarzeile : ping, damit lange Antworten nicht an einer Zeitüberschreitung unterwegs scheitern. Zeilen, die nicht mit data: beginnen, kannst du überspringen.
Chat-Format im Strom
Bei POST /v1/chat/completions kommen chat.completion.chunk-Ereignisse mit dem Text in choices[0].delta.content. Den Schluss markiert data: [DONE].
curl -N https://api.flixtake.app/v1/chat/completions \
-H "Authorization: Bearer $FLIXTAKE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fti-3-sofort",
"max_tokens": 300,
"stream": true,
"messages": [{"role": "user", "content": "Nenn drei Einstellungsgrößen."}]
}'Abbrechen
Schließt dein Programm die Verbindung, hört FTI-3 auf zu schreiben. Die Tokens bis dahin zählen zum Kontingent.