# GPT 5.5 API OpenAI 기반 GPT 5.5 LLM의 완전한 API 참조 문서입니다. ## 모델 변형 이 API는 네 가지 모델 변형을 지원합니다: | 모델 | ID | 설명 | |-------|----|-------------| | **GPT 5.5 Text to Text** | `gpt-5.5-text-to-text` | 일반 텍스트 LLM 및 추론 | | **GPT 5.5 Image to Text** | `gpt-5.5-image-to-text` | 텍스트 지시를 통한 이미지 이해 | | **GPT 5.5 Web Search** | `gpt-5.5-web-search` | 웹 검색 기능이 있는 텍스트 LLM | | **GPT 5.5 File Analysis** | `gpt-5.5-file-analysis` | 텍스트 지시를 통한 파일 분석 | ## 빠른 비교 | 기능 | Text to Text | Image to Text | Web Search | File Analysis | |---------|--------------|---------------|------------|---------------| | 텍스트 입력 | 필수 ✅ | 선택 사항 | 필수 ✅ | 선택 사항 | | 이미지 입력 | 지원되지 않음 ❌ | 선택 사항 | 선택 사항 | 선택 사항 | | 파일 입력 | 지원되지 않음 ❌ | 지원되지 않음 ❌ | 선택 사항 | 선택 사항 | | 스트리밍 응답 | SSE | SSE | SSE | SSE | | `max_tokens` | 선택 사항 | 선택 사항 | 선택 사항 | 선택 사항 | ## GPT 5.5 Text to Text ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 파라미터 #### 필수 | 파라미터 | 타입 | 설명 | |-----------|------|-------------| | `model` | string | 반드시 `"gpt-5.5-text-to-text"`이어야 합니다 | | `messages` | array | 순서가 있는 메시지입니다. 메시지 구조는 LLM API를 참조하세요. | | `stream` | boolean | `true`이면 SSE, `false`이면 단일 JSON 응답입니다. | #### 메시지 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 필수 ✅ | 지원되지 않음 ❌ | 지원되지 않음 ❌ | #### 선택 사항 | 파라미터 | 타입 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수. | ### 요청 예시 ```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 ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 파라미터 #### 필수 | 파라미터 | 타입 | 설명 | |-----------|------|-------------| | `model` | string | 반드시 `"gpt-5.5-image-to-text"`이어야 합니다 | | `messages` | array | 순서가 있는 메시지입니다. LLM API와 메시지 첨부를 참조하세요. | | `stream` | boolean | `true`이면 SSE, `false`이면 단일 JSON 응답입니다. | #### 메시지 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 선택 사항 | 지원되지 않음 ❌ | 선택 사항 | #### 선택 사항 | 파라미터 | 타입 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수. | ### 요청 예시 ```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 ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 파라미터 #### 필수 | 파라미터 | 타입 | 설명 | |-----------|------|-------------| | `model` | string | 반드시 `"gpt-5.5-web-search"`이어야 합니다 | | `messages` | array | 순서가 있는 메시지입니다. LLM API와 메시지 첨부를 참조하세요. | | `stream` | boolean | `true`이면 SSE, `false`이면 단일 JSON 응답입니다. | #### 메시지 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 필수 ✅ | 선택 사항 | 선택 사항 | #### 선택 사항 | 파라미터 | 타입 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수. | ### 요청 예시 ```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 ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 파라미터 #### 필수 | 파라미터 | 타입 | 설명 | |-----------|------|-------------| | `model` | string | 반드시 `"gpt-5.5-file-analysis"`이어야 합니다 | | `messages` | array | 순서가 있는 메시지입니다. LLM API와 메시지 첨부를 참조하세요. | | `stream` | boolean | `true`이면 SSE, `false`이면 단일 JSON 응답입니다. | #### 메시지 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 선택 사항 | 선택 사항 | 선택 사항 | #### 선택 사항 | 파라미터 | 타입 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수. | ### 요청 예시 ```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 }) }); ``` ## 응답 형식 GPT 5.5 LLM 모델은 OpenAI 호환 completion 응답을 반환합니다. `stream: true`이면 응답은 Server-Sent Events이고, `stream: false`이면 단일 JSON 객체입니다. ### 성공 응답 ```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] ``` ### 오류 응답 ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## 모범 사례 1. **메시지를 구조화하세요:** 컨텍스트를 하나의 프롬프트로 합치지 말고 대화 기록에는 `messages[]`를 사용하세요. 2. **파일과 이미지를 메시지에 첨부하세요:** `image_url` 및 `file` 파트를 이를 도입한 메시지 안에 넣으세요. 3. **SSE 파싱을 사용하세요:** 점진적 표시에는 `choices[0].delta.content`를, 최종 콘텐츠에는 `data: [DONE]`를 사용하세요. 4. **지원되는 입력만 전송하세요:** 텍스트, 이미지, 파일 파트를 선택한 모델 변형에 맞추세요. 5. **요청 상태를 로컬에 저장하세요:** chunk에는 completion `id`가 포함되지만, 클라이언트는 여전히 활성 요청 상태를 통해 chunk를 라우팅해야 합니다.