# GPT 5.5 API Complete API reference for GPT 5.5 LLM models powered by OpenAI. ## Model Variants This API supports four model variants: | Model | ID | Description | |-------|----|-------------| | **GPT 5.5 Text to Text** | `gpt-5.5-text-to-text` | General text reasoning and writing | | **GPT 5.5 Image to Text** | `gpt-5.5-image-to-text` | Image understanding with text instructions | | **GPT 5.5 Web Search** | `gpt-5.5-web-search` | Text LLM workflow with web-search capability | | **GPT 5.5 File Analysis** | `gpt-5.5-file-analysis` | File analysis with text instructions | ## Quick Comparison | Feature | Text to Text | Image to Text | Web Search | File Analysis | |---------|--------------|---------------|------------|---------------| | Text input | Required ✅ | Optional | Required ✅ | Optional | | Image input | Not supported ❌ | Optional | Optional | Optional | | File input | Not supported ❌ | Not supported ❌ | Optional | Optional | | Streaming response | SSE | SSE | SSE | SSE | | `max_tokens` | Optional | Optional | Optional | Optional | ## GPT 5.5 Text to Text ### Endpoint ```http POST /api/v1/chat/completions ``` ### Request Parameters #### Required | Parameter | Type | Description | |-----------|------|-------------| | `model` | string | Must be `"gpt-5.5-text-to-text"` | | `messages` | array | Ordered messages. See LLM API for the message structure. | | `stream` | boolean | `true` for SSE, `false` for a single JSON response. | #### Message Support | Field | Text | File | Image | |-------|------|------|-------| | `messages` | Required ✅ | Not supported ❌ | Not supported ❌ | #### Optional | Parameter | Type | Range | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximum output tokens. | ### Example Request ```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.5-text-to-text', messages: [ { role: 'user', content: 'Write a short launch announcement for a new AI feature.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 5.5 Image to Text ### Endpoint ```http POST /api/v1/chat/completions ``` ### Request Parameters #### Required | Parameter | Type | Description | |-----------|------|-------------| | `model` | string | Must be `"gpt-5.5-image-to-text"` | | `messages` | array | Ordered messages. See LLM API and Message Attachments. | | `stream` | boolean | `true` for SSE, `false` for a single JSON response. | #### Message Support | Field | Text | File | Image | |-------|------|------|-------| | `messages` | Optional | Not supported ❌ | Optional | #### Optional | Parameter | Type | Range | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximum output tokens. | ### Example Request ```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.5-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.5 Web Search ### Endpoint ```http POST /api/v1/chat/completions ``` ### Request Parameters #### Required | Parameter | Type | Description | |-----------|------|-------------| | `model` | string | Must be `"gpt-5.5-web-search"` | | `messages` | array | Ordered messages. See LLM API and Message Attachments. | | `stream` | boolean | `true` for SSE, `false` for a single JSON response. | #### Message Support | Field | Text | File | Image | |-------|------|------|-------| | `messages` | Required ✅ | Optional | Optional | #### Optional | Parameter | Type | Range | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximum output tokens. | ### Example Request ```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.5-web-search', messages: [ { role: 'user', content: 'Find recent product launch trends in AI developer tools.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 5.5 File Analysis ### Endpoint ```http POST /api/v1/chat/completions ``` ### Request Parameters #### Required | Parameter | Type | Description | |-----------|------|-------------| | `model` | string | Must be `"gpt-5.5-file-analysis"` | | `messages` | array | Ordered messages. See LLM API and Message Attachments. | | `stream` | boolean | `true` for SSE, `false` for a single JSON response. | #### Message Support | Field | Text | File | Image | |-------|------|------|-------| | `messages` | Optional | Optional | Optional | #### Optional | Parameter | Type | Range | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | Maximum output tokens. | ### Example Request ```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.5-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 }) }); ``` ## Response Format GPT 5.5 LLM models return OpenAI-compatible completion responses. With `stream: true`, the response is Server-Sent Events; with `stream: false`, the response is a single JSON object. ### Successful Response ```text data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-5.5-image-to-text","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-5.5-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.5-image-to-text","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-5.5-image-to-text","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}} data: [DONE] ``` ### Error Response ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## Best Practices 1. **Keep messages structured:** Use `messages[]` for conversation history instead of flattening context into one prompt. 2. **Attach files and images to messages:** Put `image_url` and `file` parts inside the message that introduced them. 3. **Use SSE parsing:** Append `choices[0].delta.content` for incremental display and treat `data: [DONE]` as successful completion. 4. **Send only supported inputs:** Match text, image, and file parts to the selected model variant. 5. **Store request state locally:** Chunks include a completion `id`, but clients should still route chunks through the active request state.