{
  "openapi": "3.1.0",
  "info": {
    "title": "GPT-5.2 빠른 시작",
    "description": "5분 만에 GPT-5.2 채팅 인터페이스 시작하기",
    "license": {
      "name": "MIT"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://direct.evolink.ai",
      "description": "프로덕션 (권장)"
    },
    {
      "url": "https://api.evolink.ai",
      "description": "대체 URL"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/v1/chat/completions": {
      "post": {
        "summary": "GPT-5.2 빠른 채팅",
        "description": "- OpenAI SDK 형식을 사용하여 GPT-5.2 모델 호출\n- 동기 처리 모드, 실시간 응답\n- 최소 매개변수, 빠른 시작\n- 더 많은 기능이 필요하신가요? [전체 API 레퍼런스](./gpt-5.2-reference)를 확인하세요",
        "operationId": "createChatCompletionQuickGPT52",
        "tags": [
          "채팅 완성"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatCompletionQuickRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "채팅 완료 성공",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatCompletionResponse"
                }
              }
            }
          },
          "400": {
            "description": "잘못된 요청 매개변수",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 400,
                    "message": "잘못된 요청 매개변수",
                    "type": "invalid_request_error"
                  }
                }
              }
            }
          },
          "401": {
            "description": "인증되지 않음, 유효하지 않거나 만료된 토큰",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 401,
                    "message": "Invalid or expired token",
                    "type": "authentication_error"
                  }
                }
              }
            }
          },
          "402": {
            "description": "할당량 부족, 충전 필요",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 402,
                    "message": "할당량 부족",
                    "type": "insufficient_quota_error",
                    "fallback_suggestion": "https://evolink.ai/dashboard/billing"
                  }
                }
              }
            }
          },
          "403": {
            "description": "접근 거부",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 403,
                    "message": "Access denied for this model",
                    "type": "permission_error",
                    "param": "model"
                  }
                }
              }
            }
          },
          "404": {
            "description": "리소스를 찾을 수 없음",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 404,
                    "message": "Specified model not found",
                    "type": "not_found_error",
                    "param": "model",
                    "fallback_suggestion": "gpt-5.2"
                  }
                }
              }
            }
          },
          "429": {
            "description": "랜덤 시드, 범위 `[0, 2147483647]`, 동일한 시드 값을 사용하면 생성 결과를 일관되게 유지할 수 있습니다",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 429,
                    "message": "랜덤 시드, 범위 `[0, 2147483647]`, 동일한 시드 값을 사용하면 생성 결과를 일관되게 유지할 수 있습니다",
                    "type": "rate_limit_error",
                    "fallback_suggestion": "retry after 60 seconds"
                  }
                }
              }
            }
          },
          "500": {
            "description": "내부 서버 오류",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 500,
                    "message": "내부 서버 오류",
                    "type": "internal_server_error",
                    "fallback_suggestion": "try again later"
                  }
                }
              }
            }
          },
          "502": {
            "description": "업스트림 서비스 오류",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 502,
                    "message": "Upstream AI service unavailable",
                    "type": "upstream_error",
                    "fallback_suggestion": "try different model"
                  }
                }
              }
            }
          },
          "503": {
            "description": "서비스 일시적으로 사용 불가",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "error": {
                    "code": 503,
                    "message": "서비스 일시적으로 사용 불가",
                    "type": "service_unavailable_error",
                    "fallback_suggestion": "retry after 30 seconds"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ChatCompletionQuickRequest": {
        "type": "object",
        "required": [
          "model",
          "messages"
        ],
        "properties": {
          "model": {
            "type": "string",
            "description": "채팅 완료를 위한 모델 이름",
            "enum": [
              "gpt-5.2"
            ],
            "default": "gpt-5.2",
            "example": "gpt-5.2"
          },
          "messages": {
            "type": "array",
            "description": "대화를 위한 메시지 목록",
            "items": {
              "$ref": "#/components/schemas/MessageSimple"
            },
            "minItems": 1,
            "example": [
              {
                "role": "user",
                "content": "Hello, introduce the new features of GPT-5.2"
              }
            ]
          }
        }
      },
      "MessageSimple": {
        "type": "object",
        "required": [
          "role",
          "content"
        ],
        "properties": {
          "role": {
            "type": "string",
            "description": "메시지 역할",
            "enum": [
              "user"
            ]
          },
          "content": {
            "type": "string",
            "description": "메시지 내용 (일반 텍스트)"
          }
        }
      },
      "ChatCompletionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "채팅 완성의 고유 식별자",
            "example": "chatcmpl-20251010015944503180122WJNB8Eid"
          },
          "model": {
            "type": "string",
            "description": "완료에 사용된 모델",
            "example": "gpt-5.2"
          },
          "object": {
            "type": "string",
            "enum": [
              "chat.completion"
            ],
            "description": "응답 유형",
            "example": "chat.completion"
          },
          "created": {
            "type": "integer",
            "description": "완료가 생성된 Unix 타임스탬프",
            "example": 1760032810
          },
          "choices": {
            "type": "array",
            "description": "완료 선택 목록",
            "items": {
              "$ref": "#/components/schemas/Choice"
            }
          },
          "usage": {
            "$ref": "#/components/schemas/Usage"
          }
        }
      },
      "Choice": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "description": "이 선택의 인덱스",
            "example": 0
          },
          "message": {
            "$ref": "#/components/schemas/AssistantMessage"
          },
          "finish_reason": {
            "type": "string",
            "description": "완료가 종료된 이유",
            "enum": [
              "stop",
              "length",
              "content_filter"
            ],
            "example": "stop"
          }
        }
      },
      "AssistantMessage": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "description": "메시지 발신자의 역할",
            "enum": [
              "assistant"
            ],
            "example": "assistant"
          },
          "content": {
            "type": "string",
            "description": "AI의 응답 내용",
            "example": "Hello! I'm happy to introduce GPT-5.2 to you.\n\nGPT-5.2 is the next-generation large language model with enhanced reasoning and understanding capabilities..."
          }
        }
      },
      "Usage": {
        "type": "object",
        "description": "토큰 사용 통계",
        "properties": {
          "prompt_tokens": {
            "type": "integer",
            "description": "입력의 토큰 수",
            "example": 13
          },
          "completion_tokens": {
            "type": "integer",
            "description": "출력의 토큰 수",
            "example": 1891
          },
          "total_tokens": {
            "type": "integer",
            "description": "사용된 총 토큰 수",
            "example": 1904
          },
          "prompt_tokens_details": {
            "type": "object",
            "description": "입력 토큰 상세 정보",
            "properties": {
              "cached_tokens": {
                "type": "integer",
                "description": "캐시된 토큰 수",
                "example": 0
              },
              "text_tokens": {
                "type": "integer",
                "description": "텍스트 토큰 수",
                "example": 13
              },
              "audio_tokens": {
                "type": "integer",
                "description": "오디오 토큰 수",
                "example": 0
              },
              "image_tokens": {
                "type": "integer",
                "description": "이미지 토큰 수",
                "example": 0
              }
            }
          },
          "completion_tokens_details": {
            "type": "object",
            "description": "출력 토큰 상세 정보",
            "properties": {
              "text_tokens": {
                "type": "integer",
                "description": "텍스트 토큰 수",
                "example": 0
              },
              "audio_tokens": {
                "type": "integer",
                "description": "오디오 토큰 수",
                "example": 0
              },
              "reasoning_tokens": {
                "type": "integer",
                "description": "추론 토큰 수",
                "example": 1480
              }
            }
          },
          "input_tokens": {
            "type": "integer",
            "description": "입력 토큰 수 (호환성 필드)",
            "example": 0
          },
          "output_tokens": {
            "type": "integer",
            "description": "출력 토큰 수 (호환성 필드)",
            "example": 0
          },
          "input_tokens_details": {
            "type": "object",
            "nullable": true,
            "description": "입력 토큰 상세 정보 (호환성 필드)",
            "example": null
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "integer",
                "description": "HTTP 상태 오류 코드"
              },
              "message": {
                "type": "string",
                "description": "오류 메시지"
              },
              "type": {
                "type": "string",
                "description": "오류 유형"
              },
              "param": {
                "type": "string",
                "description": "관련 매개변수 이름"
              },
              "fallback_suggestion": {
                "type": "string",
                "description": "오류 처리를 위한 제안"
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "## 모든 API는 Bearer Token 인증이 필요합니다 ##\n\n**API Key 받기:**\n\n[API Key 관리 페이지](https://evolink.ai/dashboard/keys)를 방문하여 API Key를 받으세요\n\n**요청 헤더에 추가:**\n```\nAuthorization: Bearer YOUR_API_KEY\n```"
      }
    }
  },
  "tags": [
    {
      "name": "채팅 완성",
      "description": "AI 채팅 완료 관련 엔드포인트"
    }
  ]
}