curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-6.1-sol",
"input": "양자 얽힘을 한 문장으로 설명하세요."
}
'import requests
url = "https://direct.evolink.ai/v1/responses"
payload = {
"model": "gpt-6.1-sol",
"input": "양자 얽힘을 한 문장으로 설명하세요."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'gpt-6.1-sol', input: '양자 얽힘을 한 문장으로 설명하세요.'})
};
fetch('https://direct.evolink.ai/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-6.1-sol',
'input' => '양자 얽힘을 한 문장으로 설명하세요.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/responses"
payload := strings.NewReader("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"양자 얽힘을 한 문장으로 설명하세요.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"양자 얽힘을 한 문장으로 설명하세요.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"양자 얽힘을 한 문장으로 설명하세요.\"\n}"
response = http.request(request)
puts response.read_body{
"id": "resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5",
"object": "response",
"status": "completed",
"model": "gpt-6.1-sol",
"created_at": 1786705221,
"output": [
{
"id": "<string>",
"type": "web_search_call",
"status": "completed",
"content": [
{}
],
"encrypted_content": "<string>",
"result": "<string>"
}
],
"incomplete_details": {},
"usage": {
"input_tokens": 18,
"output_tokens": 42,
"total_tokens": 60,
"input_tokens_details": {
"cached_tokens": 0,
"cache_write_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 16
}
},
"tool_usage": {
"image_gen": {
"input_tokens": 74,
"input_tokens_details": {},
"output_tokens": 196,
"output_tokens_details": {},
"total_tokens": 270
}
},
"metadata": {}
}{
"error": {
"code": 400,
"message": "Invalid value: '__bogus__'. Supported values are: 'auto' and 'disabled'.",
"type": "invalid_request_error",
"param": "truncation"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/credits"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}GPT 전체 모델 인터페이스 - Responses 전체 매개변수
- GPT 시리즈 텍스트 모델용 OpenAI 호환 Responses API이며, 구체적인 모델은
model로 선택합니다(지정 가능한 값 전체는model매개변수의 대조표 참고) - 전 시리즈가 추론 모델이며 추론 깊이는
reasoning.effort로 제어합니다. 추론 token은 출력 token으로 청구됩니다 - Prompt 캐시가 자동으로 적용됩니다: 캐시에 적중한 입력 token은 더 저렴한 캐시 요금으로 청구됩니다
- 동기 모드와 스트리밍(SSE) 모드를 지원합니다
- 서버 측 도구:
web_search(웹 검색),code_interpreter(코드 실행),file_search(문서 검색) - 내장 이미지 생성 도구:
image_generation(gpt-6-astra/gpt-6.1-sol/gpt-6-sol/gpt-6-luna만 지원), 대화에서 직접 이미지를 생성하거나 편집할 수 있습니다 - 일반
function도구(클라이언트 측 함수 호출)도 함께 지원합니다 - 여러 턴의 대화는
previous_response_id로 연결할 수 있습니다 - 참고 일부 매개변수는 모델별로 지원 범위가 다르므로 아래 각 매개변수 설명을 확인하세요
curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-6.1-sol",
"input": "양자 얽힘을 한 문장으로 설명하세요."
}
'import requests
url = "https://direct.evolink.ai/v1/responses"
payload = {
"model": "gpt-6.1-sol",
"input": "양자 얽힘을 한 문장으로 설명하세요."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'gpt-6.1-sol', input: '양자 얽힘을 한 문장으로 설명하세요.'})
};
fetch('https://direct.evolink.ai/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-6.1-sol',
'input' => '양자 얽힘을 한 문장으로 설명하세요.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/responses"
payload := strings.NewReader("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"양자 얽힘을 한 문장으로 설명하세요.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"양자 얽힘을 한 문장으로 설명하세요.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-6.1-sol\",\n \"input\": \"양자 얽힘을 한 문장으로 설명하세요.\"\n}"
response = http.request(request)
puts response.read_body{
"id": "resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5",
"object": "response",
"status": "completed",
"model": "gpt-6.1-sol",
"created_at": 1786705221,
"output": [
{
"id": "<string>",
"type": "web_search_call",
"status": "completed",
"content": [
{}
],
"encrypted_content": "<string>",
"result": "<string>"
}
],
"incomplete_details": {},
"usage": {
"input_tokens": 18,
"output_tokens": 42,
"total_tokens": 60,
"input_tokens_details": {
"cached_tokens": 0,
"cache_write_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 16
}
},
"tool_usage": {
"image_gen": {
"input_tokens": 74,
"input_tokens_details": {},
"output_tokens": 196,
"output_tokens_details": {},
"total_tokens": 270
}
},
"metadata": {}
}{
"error": {
"code": 400,
"message": "Invalid value: '__bogus__'. Supported values are: 'auto' and 'disabled'.",
"type": "invalid_request_error",
"param": "truncation"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/credits"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}https://direct.evolink.ai이며, 텍스트 모델 지원이 더 우수하고 장시간 연결을 지원합니다. https://api.evolink.ai는 멀티모달 서비스의 주력 엔드포인트이며, 텍스트 모델에 대해서는 대체 주소로 사용됩니다.web_search, code_interpreter, file_search, mcp)는 서버에서 실행되므로 클라이언트가 결과를 되돌려 보낼 필요가 없으며, 이 API에서만 제공됩니다. Chat Completions 엔드포인트는 일반 function 도구 호출만 지원합니다.background: true를 사용하는 백그라운드 비동기 모드는 지원하지 않으며, 응답 ID로 조회·취소·삭제하는 엔드포인트도 제공하지 않습니다. 오래 걸리는 생성이 필요한 경우 stream: true로 연결을 유지하세요.내장 이미지 생성 도구 image_generation은 현재 gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna만 지원하며 다른 모델에서는 사용할 수 없습니다. 이미지만 별도로 생성하려면 이미지 시리즈 모델 API도 사용할 수 있습니다.gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna로 직접 이미지 생성: tools에 {"type": "image_generation"}을 선언하면 모델이 대화 중 필요에 따라 이미지를 생성합니다.- 이미지 모델 선택: 도구의
model필드에gpt-image-2(기본값),gpt-image-2.5-sunburst,gpt-image-2.5-flare를 지정할 수 있습니다.quality,size,partial_images등의 매개변수는 이미지 모델의 공식 매개변수와 동일합니다(xhigh/max는 2.5 시리즈만 지원) - 이미지 가져오기: 이미지는
output에서type이image_generation_call인 항목의result필드에 base64로 반환됩니다. URL이 아니므로 직접 저장하세요 - 이미지 편집:
input에input_image(공개 URL 또는data:image/png;base64,...)를 포함하고 텍스트로 원하는 변경 사항을 설명하세요 - 멀티턴 이미지 편집: 이전 턴의
id를previous_response_id로 전달하고 원하는 변경 사항을 설명하세요 - 스트리밍:
partial_images(0~3)를 설정하면 생성 중response.image_generation_call.partial_image미리보기 이벤트를 받을 수 있습니다 - 이미지 수 제한:
max_tool_calls를 생략하면 요청 한 번에 최대 4장을 생성할 수 있습니다. 더 많이 필요하면 명시적으로 설정하세요 - 과금: 텍스트와 이미지 생성은 각각 token 기준으로 별도 청구됩니다. 이미지 생성의 token 사용량은 응답의
tool_usage.image_gen에서 확인할 수 있습니다
{
"model": "gpt-6.1-sol",
"input": "창가에 앉아 있는 주황색 고양이를 수채화 스타일로 그려 주세요",
"tools": [{"type": "image_generation", "model": "gpt-image-2", "quality": "low", "size": "1024x1024"}]
}
id를 다음 턴의 previous_response_id로 전달하면 컨텍스트를 이어갈 수 있습니다. 응답에는 보존 기한이 있으며, 만료되면 해당 ID는 더 이상 유효하지 않고 요청은 새 대화로 처리됩니다. 컨텍스트 정확성이 특히 중요한 경우에는 전체 input 히스토리를 직접 관리하는 것을 권장합니다.인증
##모든 API는 Bearer Token 인증이 필요합니다##
API Key 받기:
API Key 관리 페이지를 방문하여 API Key를 받으세요
요청 헤더에 추가:
Authorization: Bearer YOUR_API_KEY
본문
호출할 모델:
| 모델 ID | 컨텍스트 윈도우 | 포지셔닝 |
|---|---|---|
gpt-6.1-sol | 1,050,000 | Sol 신버전, 더 낮은 비용으로 Astra에 가까운 성능 (권장) |
gpt-6-astra | 1,050,000 | 고난도 엔드투엔드 작업을 위한 플래그십 추론, 내장 이미지 생성 도구 image_generation 지원 |
gpt-6-sol | 1,050,000 | 복잡한 코딩과 에이전트 워크플로 |
gpt-6-luna | 1,050,000 | 대량 분류·정보 추출과 비용 효율 |
gpt-5.6-sol | 1,050,000 | GPT-5.6 제품군, 최첨단 추론 |
gpt-5.6-terra | 1,050,000 | GPT-5.6 제품군, 균형 잡힌 프로덕션 |
gpt-5.6-luna | 1,050,000 | GPT-5.6 제품군, 높은 처리량과 비용 관리 |
gpt-5.5 | 400,000 | 범용 추론 모델 |
gpt-5.4 | 128,000 | 범용 추론 모델 |
gpt-5.2 | 400,000 | 범용 추론 모델 |
gpt-5.1 | 400,000 | 범용 추론 모델 |
gpt-6.1-sol, gpt-6-astra, gpt-6-sol, gpt-6-luna, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4, gpt-5.2, gpt-5.1 "gpt-6.1-sol"
모델 입력: 단순 문자열 또는 입력 항목 배열입니다.
입력 항목의 content는 input_text(텍스트)와 input_image(이미지) 두 가지 블록을 지원합니다:
"input": [
{
"role": "user",
"content": [
{ "type": "input_text", "text": "이 이미지에는 무엇이 있나요?" },
{
"type": "input_image",
"image_url": "https://example.com/photo.png",
"detail": "auto"
}
]
}
]
이미지
image_url에 이미지의 공개 URL을 전달합니다image_url은 반드시 문자열이어야 하며,{ "url": "..." }로 작성하면400이 반환됩니다detail은image_url과 같은 레벨에 둡니다(그 안에 중첩하지 않습니다):auto(기본값) /low/high/original- 이미지는 정상적으로 다운로드할 수 있어야 하며, 그렇지 않으면
400이 반환됩니다
도구 결과
- 배열에는 이전 턴의
function_call_output등 도구 결과 항목을 되돌려 담을 수도 있습니다
참고 이 API의 블록 유형은 Chat Completions API와 다릅니다(Chat은 text / image_url 사용). 두 가지를 섞어 쓸 수 없으며, 잘못 지정하면 400이 반환됩니다.
"Search for AI news from the past week and summarize it in three sentences."
시스템 수준 지시로, input 맨 앞에 시스템 메시지를 하나 삽입하는 것과 동일합니다. previous_response_id로 대화를 이어갈 때 이 매개변수는 이전 턴에서 상속되지 않으므로 매 턴마다 전달해야 합니다.
"You are a concise assistant. Answer in no more than three sentences."
스트리밍으로 응답을 반환할지 여부 (SSE 이벤트, response.completed로 종료). 기본값 false.
false
생성할 최대 token 수(추론 token 포함)입니다. 상한에 도달하면 status는 incomplete가 됩니다.
GPT-6 Astra / Sol / Luna와 GPT-6.1 Sol의 최대 출력은 추론 token을 포함하여 128,000 tokens입니다.
2048
추론 제어입니다.
effort(추론 깊이)의 지정 가능한 값은 모델에 따라 다릅니다:
| 모델 | 지정 가능한 값 |
|---|---|
gpt-6-astra / gpt-6.1-sol | low, medium, high, xhigh, max |
gpt-6-sol / gpt-6-luna | none, low, medium, high, xhigh, max |
gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-luna | none, low, medium, high, xhigh, max |
gpt-5.5 / gpt-5.4 / gpt-5.2 | none, low, medium, high, xhigh |
gpt-5.1 | none, low, medium, high |
summary(추론 요약): auto / concise / detailed.
GPT-6 Sol / Luna와 GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
mode(추론 모드): standard / pro, gpt-6-astra / gpt-6-sol / gpt-6-luna와 gpt-5.6 제품군이 지원합니다.
GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
context(추론 컨텍스트 범위): auto / current_turn / all_turns, gpt-6-astra와 gpt-5.6 제품군이 지원합니다.
GPT-6 Sol / Luna와 GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
추론 token은 출력 token으로 청구되며 usage.output_tokens_details.reasoning_tokens에 집계됩니다.
GPT-6 Sol / Luna 지원: model에 gpt-6-sol 또는 gpt-6-luna를 지정하세요. 두 모델 모두 컨텍스트 1,050,000 tokens, 추론을 포함한 최대 출력 128,000 tokens를 지원합니다. reasoning.effort는 none, low, medium(기본값), high, xhigh, max를 지원하며 Astra와 6.1 Sol은 none을 지원하지 않습니다. 추론과 도구를 함께 사용하려면 이 API를 이용하세요.
Show child attributes
Show child attributes
출력 텍스트 제어:
format:{"type": "text"}(기본값),{"type": "json_object"}, 또는 구조화된 결과를 출력하는{"type": "json_schema", "name": "...", "schema": {...}, "strict": true}verbosity:low/medium/high, 답변의 상세 정도를 제어합니다
text.verbosity — GPT-6 Sol / Luna와 GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
Show child attributes
Show child attributes
도구 선언입니다. 서버 측 도구는 서버에서 실행되므로 클라이언트가 결과를 되돌려 보낼 필요가 없습니다:
| 도구 유형 | 기능 |
|---|---|
web_search | 웹을 검색하고 페이지를 탐색합니다(별칭 web_search_preview) |
code_interpreter | 샌드박스에서 코드를 실행하며 "container": {"type": "auto"}가 필요합니다 |
file_search | 이미 생성된 벡터 스토어를 검색하며 vector_store_ids가 필요합니다 |
mcp | 원격 MCP 서비스에 연결하며 server_label과 server_url이 필요합니다 |
image_generation | 대화에서 이미지를 생성하거나 편집하고 base64로 반환합니다(gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna만 지원) |
일반 function 도구(클라이언트 측 함수 호출)도 함께 지원합니다.
참고 내장 이미지 생성 도구 image_generation은 현재 gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna만 지원하며 다른 모델에서는 사용할 수 없습니다. 이미지만 별도로 생성하려면 이미지 시리즈 모델 API도 사용할 수 있습니다.
Show child attributes
Show child attributes
[{ "type": "web_search" }]
도구 선택을 제어합니다: "auto"(기본값) / "none" / "required", 또는 특정 도구를 지정하는 객체(예: {"type": "web_search"}).
none, auto, required 이번 응답에서 허용되는 도구 호출 총 횟수의 상한입니다(모든 내장 도구의 호출 횟수 합계).
참고 gpt-6-astra / gpt-6.1-sol / gpt-6-sol / gpt-6-luna에서 image_generation을 사용하고 이 매개변수를 생략하면 요청 한 번에 최대 4장의 이미지를 생성할 수 있습니다. 더 많이 필요하면 명시적으로 설정하세요.
5
모델이 한 턴 안에서 여러 도구를 병렬로 호출할 수 있는지 여부입니다. 기본값은 true입니다.
GPT-6 Sol / Luna와 GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
아래 기존 모델 규칙에는 GPT-6 Sol / Luna와 GPT-6.1 Sol이 포함되지 않습니다:
참고 gpt-6-astra, gpt-5.6 제품군, gpt-5.5는 false로 설정할 수 있습니다. gpt-5.4 / gpt-5.2 / gpt-5.1에서는 이 매개변수가 적용되지 않으며 항상 true로 동작합니다.
true
이전 응답의 id로, 여러 턴의 대화를 연결하는 데 사용하며 히스토리 메시지를 다시 올릴 필요가 없습니다.
참고 store: true(기본값)와 함께 사용해야 합니다. 응답에는 보존 기한이 있으며, 만료되면 해당 ID는 더 이상 유효하지 않습니다. 이 경우 요청은 새 대화로 처리되어 컨텍스트를 상속하지 않습니다. 컨텍스트 정확성이 특히 중요한 경우에는 전체 input 히스토리를 직접 관리하는 것을 권장합니다.
"resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5"
이번 응답을 서버 측에 보존할지 여부이며, 보존된 응답만 previous_response_id로 참조할 수 있습니다. 기본값은 true입니다.
GPT-6 Sol / Luna와 GPT-6.1 Sol: store: false로 보관을 끄는 동작은 사용 가능한 채널에서 아직 검증되지 않았습니다. 필드가 수락되었다는 사실만으로 응답이 보관되지 않았다고 판단할 수 없습니다.
아래 기존 모델 규칙에는 GPT-6 Sol / Luna와 GPT-6.1 Sol이 포함되지 않습니다:
참고 gpt-6-astra, gpt-5.6 제품군, gpt-5.5는 false로 설정할 수 있습니다. gpt-5.4 / gpt-5.2 / gpt-5.1에서는 이 매개변수가 적용되지 않으며 항상 true로 동작합니다. 응답을 저장하지 않으려면 저장 비활성화를 지원하는 모델을 선택하세요.
true
응답에 추가로 반환하도록 요청할 내용이며, 지정 가능한 값은 다음과 같습니다:
reasoning.encrypted_contentmessage.output_text.logprobsweb_search_call.resultsweb_search_call.action.sourcesfile_search_call.resultscode_interpreter_call.outputsmessage.input_image.image_urlcomputer_call_output.output.image_url
참고 gpt-6-astra와 gpt-6.1-sol은 message.output_text.logprobs를 지원하지 않습니다.
GPT-6: Astra와 6.1 Sol은 출력 logprobs를 지원하지 않습니다. Sol / Luna는 추론 수준 none일 때만 사용하세요. 다른 수준에서는 logprobs, top_logprobs 및 Responses include의 message.output_text.logprobs를 제거하세요.
["reasoning.encrypted_content"]
샘플링 온도이며 값의 범위는 0 ~ 2입니다. 값이 낮을수록 출력이 결정적이 됩니다.
GPT-6: gpt-6-astra와 gpt-6.1-sol에서는 이 매개변수를 생략하세요. gpt-6-sol / gpt-6-luna에서는 추론 수준이 none일 때만 조정할 수 있습니다. 다른 수준에서는 생략하세요. 추론 수준을 생략하면 none이 아닌 medium이 적용됩니다.
기존 모델: gpt-5.4 / gpt-5.2 / gpt-5.1은 temperature: 0을 기본값 1로 처리합니다. 더 결정적인 출력에는 0.01 같은 양수를 사용하세요.
0 <= x <= 21
뉴클리어스 샘플링 매개변수이며 값의 범위는 0 ~ 1입니다. temperature와 함께 조정하지 않는 것을 권장합니다.
GPT-6: gpt-6-astra와 gpt-6.1-sol에서는 이 매개변수를 생략하세요. gpt-6-sol / gpt-6-luna에서는 추론 수준이 none일 때만 조정할 수 있습니다. 다른 수준에서는 생략하세요. 추론 수준을 생략하면 none이 아닌 medium이 적용됩니다.
0 <= x <= 11
각 위치에서 반환되는 후보 token 수이며 값의 범위는 0 ~ 20입니다. include: ["message.output_text.logprobs"]와 함께 사용해야 합니다.
GPT-6: Astra와 6.1 Sol은 출력 logprobs를 지원하지 않습니다. Sol / Luna는 추론 수준 none일 때만 사용하세요. 다른 수준에서는 logprobs, top_logprobs 및 Responses include의 message.output_text.logprobs를 제거하세요.
아래 기존 모델 규칙에는 GPT-6 Sol / Luna와 GPT-6.1 Sol이 포함되지 않습니다:
참고 gpt-5.6 제품군과 gpt-5.5만 지원하며, 나머지 모델은 이 매개변수를 지원하지 않습니다.
0 <= x <= 202
빈도 페널티이며 값의 범위는 -2 ~ 2입니다. 내용이 반복될 확률을 낮춥니다.
GPT-6 Sol / Luna와 GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
아래 기존 모델 규칙에는 GPT-6 Sol / Luna와 GPT-6.1 Sol이 포함되지 않습니다:
참고 gpt-5.6 제품군에서는 조정할 수 있으며, 나머지 기존 모델은 이 매개변수를 지원하지 않습니다. GPT-6 Astra에서는 조정할 수 없고 기본값 0만 허용하며, 다른 값을 전달하면 400이 반환됩니다.
-2 <= x <= 20
존재 페널티이며 값의 범위는 -2 ~ 2입니다. 모델이 새로운 주제를 다루도록 유도합니다.
GPT-6 Sol / Luna와 GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
아래 기존 모델 규칙에는 GPT-6 Sol / Luna와 GPT-6.1 Sol이 포함되지 않습니다:
참고 gpt-5.6 제품군에서는 조정할 수 있으며, 나머지 기존 모델은 이 매개변수를 지원하지 않습니다. GPT-6 Astra에서는 조정할 수 없고 기본값 0만 허용하며, 다른 값을 전달하면 400이 반환됩니다.
-2 <= x <= 20
컨텍스트가 윈도우를 초과했을 때의 처리 방식: disabled(기본값, 바로 오류 반환) 또는 auto(중간 내용을 자동으로 잘라냄).
auto, disabled "auto"
긴 대화의 자동 압축 설정입니다. 예: [{"type": "compaction", "compact_threshold": 100000}]. 컨텍스트가 임계값을 초과하면 히스토리가 자동으로 압축됩니다.
참고 gpt-6-astra / gpt-6-sol / gpt-6-luna와 gpt-5.6 제품군만 지원하며, 나머지 모델은 이 매개변수를 지원하지 않습니다.
GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
캐시 그룹 키입니다. GPT-6 / GPT-5.6는 캐시 라우팅을 자동 처리하므로 라우팅 최적화에 이 값이 필요하지 않습니다. 고객이나 사용자별 재사용과 과금을 구분할 때 별도 키를 사용할 수 있습니다. 접두사를 재사용할 요청은 동일한 키를 유지하세요. 이전 모델에서는 안정적인 키가 캐시 라우팅에 도움이 됩니다.
"app-agent-v1"
이전 모델의 캐시 보관 설정입니다. GPT-6 / GPT-5.6는 prompt_cache_options.ttl: "30m"을 사용하고 새 필드에 24h를 넣지 마세요.
in_memory, 24h "in_memory"
이미 생성된 Prompt 템플릿을 참조하며, 형식은 {"id": "pmpt_xxx", "version": "1", "variables": {...}}입니다.
Show child attributes
Show child attributes
사용자 정의 키-값 쌍으로, 응답에 그대로 반환되어 비즈니스 측에서 태깅하기에 편리합니다. 키와 값은 모두 문자열입니다.
{ "trace_id": "abc-123" }
최종 사용자의 안정적인 식별자로, 오남용 추적에 사용합니다.
GPT-6 Sol / Luna와 GPT-6.1 Sol: 이 매개변수의 지원 범위는 아직 확인되지 않았으므로 기본 요청에서는 생략하세요.
아래 기존 모델 규칙에는 GPT-6 Sol / Luna와 GPT-6.1 Sol이 포함되지 않습니다:
참고 gpt-6-astra와 gpt-5.6 제품군만 지원하며, 나머지 모델은 이 매개변수를 지원하지 않습니다.
"user-1024"
최종 사용자 식별자로, 호출 출처를 구분하는 데 사용합니다.
"user-1024"
GPT-6 / GPT-5.6의 프롬프트 캐시 설정입니다. 기본값은 암시적 경계입니다. mode: "explicit"은 명시한 경계만 사용하며 경계가 없으면 캐시하지 않습니다.
Show child attributes
Show child attributes
{ "ttl": "30m", "mode": "implicit" }
응답
응답 생성 성공 (JSON 객체, 또는 stream=true인 경우 response.completed로 끝나는 SSE 이벤트 스트림)
이번 응답의 고유 ID로, 다음 턴의 previous_response_id로 사용할 수 있습니다
"resp_0f5c2b2c20c39e8a006a7ef545443081979e478b10927984b5"
응답 유형
response "response"
응답 상태: completed는 정상 종료, incomplete는 max_output_tokens 도달 등의 이유로 완료되지 않은 상태, failed는 생성 실패
completed, incomplete, failed "completed"
실제 사용된 모델 이름
"gpt-6.1-sol"
생성 타임스탬프
1786705221
생성 순서대로 정렬된 출력 항목: reasoning 항목(추론 요약 / 암호화된 추론 내용), 도구 호출 항목(예: web_search_call, code_interpreter_call, image_generation_call), 그리고 마지막으로 output_text 내용을 담은 message 항목.
Show child attributes
Show child attributes
status가 incomplete일 때 그 이유를 설명합니다
내장 도구 사용량입니다. image_generation을 사용할 때 image_gen은 이미지 생성에 소비된 token을 나타내며, usage와 별도로 집계되고 token 기준으로 별도 청구됩니다
Show child attributes
Show child attributes
요청에 전달한 사용자 정의 키-값 쌍으로, 그대로 반환됩니다