# GPT 5.4 API Vollständige API-Referenz für GPT 5.4-große Sprachmodelle-Modelle von OpenAI. ## Modellvarianten Diese API unterstützt vier Modellvarianten: | Modell | ID | Beschreibung | |-------|----|-------------| | **GPT 5.4 Text to Text** | `gpt-5.4-text-to-text` | Allgemeiner Text-Reasoning und Reasoning | | **GPT 5.4 Image to Text** | `gpt-5.4-image-to-text` | Bildverständnis mit Textanweisungen | | **GPT 5.4 Web Search** | `gpt-5.4-web-search` | Text-Reasoning mit Websuchfunktion | | **GPT 5.4 File Analysis** | `gpt-5.4-file-analysis` | Dateianalyse mit Textanweisungen | ## Schnellvergleich | Funktion | Text to Text | Image to Text | Web Search | File Analysis | |---------|--------------|---------------|------------|---------------| | Texteingabe | Erforderlich ✅ | Optional | Erforderlich ✅ | Optional | | Bildeingabe | Nicht unterstützt ❌ | Optional | Optional | Optional | | Dateieingabe | Nicht unterstützt ❌ | Nicht unterstützt ❌ | Optional | Optional | | Streaming-Antwort | SSE | SSE | SSE | SSE | | `max_tokens` | Optional | Optional | Optional | Optional | ## GPT 5.4 Text to Text ### Endpoint ```http POST /api/v1/chat/completions ``` ### Anfrageparameter #### Erforderlich | Parameter | Typ | Beschreibung | |-----------|------|-------------| | `model` | string | Muss `"gpt-5.4-text-to-text"` sein | | `messages` | array | Geordnete Nachrichten. Siehe große Sprachmodelle API für die Nachrichtenstruktur. | | `stream` | boolean | `true` für SSE, `false` für eine einzelne JSON-Antwort. | #### Nachrichtenunterstützung | Feld | Text | Datei | Bild | |-------|------|------|-------| | `messages` | Erforderlich ✅ | Nicht unterstützt ❌ | Nicht unterstützt ❌ | #### Optional | Parameter | Typ | Bereich | Beschreibung | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximale Ausgabetokens. | ### Beispielanfrage ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-5.4-text-to-text', messages: [ { role: 'user', content: 'Write a short launch announcement for a new AI feature.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 5.4 Image to Text ### Endpoint ```http POST /api/v1/chat/completions ``` ### Anfrageparameter #### Erforderlich | Parameter | Typ | Beschreibung | |-----------|------|-------------| | `model` | string | Muss `"gpt-5.4-image-to-text"` sein | | `messages` | array | Geordnete Nachrichten. Siehe große Sprachmodelle API und große Sprachmodelle Attachments. | | `stream` | boolean | `true` für SSE, `false` für eine einzelne JSON-Antwort. | #### Nachrichtenunterstützung | Feld | Text | Datei | Bild | |-------|------|------|-------| | `messages` | Optional | Nicht unterstützt ❌ | Optional | #### Optional | Parameter | Typ | Bereich | Beschreibung | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximale Ausgabetokens. | ### Beispielanfrage ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-5.4-image-to-text', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe the image and extract any visible text.' }, { type: 'image_url', image_url: { url: 'https://example.com/sample-image.jpg' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 5.4 Web Search ### Endpoint ```http POST /api/v1/chat/completions ``` ### Anfrageparameter #### Erforderlich | Parameter | Typ | Beschreibung | |-----------|------|-------------| | `model` | string | Muss `"gpt-5.4-web-search"` sein | | `messages` | array | Geordnete Nachrichten. Siehe große Sprachmodelle API und große Sprachmodelle Attachments. | | `stream` | boolean | `true` für SSE, `false` für eine einzelne JSON-Antwort. | #### Nachrichtenunterstützung | Feld | Text | Datei | Bild | |-------|------|------|-------| | `messages` | Erforderlich ✅ | Optional | Optional | #### Optional | Parameter | Typ | Bereich | Beschreibung | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximale Ausgabetokens. | ### Beispielanfrage ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-5.4-web-search', messages: [ { role: 'user', content: 'Find recent product launch trends in AI developer tools.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 5.4 File Analysis ### Endpoint ```http POST /api/v1/chat/completions ``` ### Anfrageparameter #### Erforderlich | Parameter | Typ | Beschreibung | |-----------|------|-------------| | `model` | string | Muss `"gpt-5.4-file-analysis"` sein | | `messages` | array | Geordnete Nachrichten. Siehe große Sprachmodelle API und große Sprachmodelle Attachments. | | `stream` | boolean | `true` für SSE, `false` für eine einzelne JSON-Antwort. | #### Nachrichtenunterstützung | Feld | Text | Datei | Bild | |-------|------|------|-------| | `messages` | Optional | Optional | Optional | #### Optional | Parameter | Typ | Bereich | Beschreibung | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximale Ausgabetokens. | ### Beispielanfrage ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-5.4-file-analysis', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document and list the key action items.' }, { type: 'file', file: { filename: 'demo.pdf', file_data: 'https://example.com/demo.pdf' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## Antwortformat GPT 5.4 LLM-Modelle geben OpenAI-kompatible Completion-Antworten zurück. Mit `stream: true` ist die Antwort Server-Sent Events; mit `stream: false` ist die Antwort ein einzelnes JSON-Objekt. ### Erfolgreiche Antwort ```text data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-5.4-image-to-text","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-5.4-image-to-text","choices":[{"index":0,"delta":{"content":"The image shows"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-5.4-image-to-text","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-5.4-image-to-text","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}} data: [DONE] ``` ### Fehlerantwort ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## Bewährte Praktiken 1. **Nachrichten strukturiert halten:** Verwenden Sie `messages[]` für den Gesprächsverlauf, statt Kontext in einem einzigen Prompt zusammenzuführen. 2. **Dateien und Bilder an Nachrichten anhängen:** Platzieren Sie `image_url`- und `file`-Teile in der Nachricht, die sie einführt. 3. **SSE-Parsing verwenden:** Nutzen Sie `choices[0].delta.content` für die schrittweise Anzeige und `data: [DONE]` für den finalen Inhalt. 4. **Nur unterstützte Eingaben senden:** Stimmen Sie Text-, Bild- und Dateiteile auf die ausgewählte Modellvariante ab. 5. **Anfragestatus lokal speichern:** Chunks enthalten eine Completion-`id`; Clients sollten sie dennoch über den aktiven Request-State zuordnen.