GPT Image 2.5 is live — OpenAI's newest image model, targeted edits that leave the rest of the frame alone
GPT-6 Luna API temperature 설정: 400이 나는 이유와 보내야 할 요청
2026/10/07

GPT-6 Luna API temperature 설정: 400이 나는 이유와 보내야 할 요청

GPT-6 Luna API에서 temperature를 설정하려고 하시나요? GPT-6 Luna와 Sol이 temperature와 top_p에 400을 반환하는 이유, 정확한 모델 ID, 수정된 요청을 정리합니다.

GPT-6 Luna API에서 temperature를 설정하면 더 차분한 답변이 아니라 대개 HTTP 400이 돌아옵니다. OpenAI의 GPT-6 마이그레이션 가이드는 reasoning effort가 none이 아닌 경우 temperature, top_p, top_logprobs를 제거하고, Chat Completions에서는 logprobs도 빼라고 안내합니다[1]. GPT-6 Luna의 기본 effort는 medium이므로[2], effort는 그대로 두고 temperature: 0.2만 추가한 요청은 이 규칙에 정면으로 걸립니다.

이 글에서는 규칙의 내용, 개발자들이 Amazon Bedrock·Azure·OpenAI 클라이언트에서 실제로 받은 오류 문자열, 정확한 모델 ID, 그리고 reAPI Chat Completions 엔드포인트용 수정 전후 요청을 다룹니다. GPT-6 Sol에도 같은 규칙이 적용됩니다.

핵심 요약

  • temperature와 top_p를 제거하세요. OpenAI 가이드는 reasoning effort가 none이 아니면 이 둘과 top_logprobs를 제거하라고 합니다[1]. Luna의 기본 effort는 medium입니다[2].
  • reAPI에서는 규칙이 더 단순합니다. gpt-6-luna와 gpt-6-sol 모두에서 temperature, top_p, frequency_penalty, presence_penalty는 400을 반환합니다. 어떤 요청에도 넣지 마세요[3][4].
  • temperature: 1도 실패할 수 있습니다. Langflow 버그 리포트에 따르면 Amazon Bedrock의 Converse API는 1을 포함해 어떤 값이든 이 필드를 거부합니다[5].
  • 대신 쓸 수 있는 조절 수단은 reasoning_effort입니다. 값은 none, low, medium, high, xhigh, max 중 하나입니다[2]. auto 값은 없습니다.
  • 모델 ID는 gpt-6-luna(그리고 gpt-6-sol)이며, 표기 그대로 써야 합니다[2][3].
  • Microsoft Q&A 상위 검색 결과는 다른 버그입니다. temperature가 아니라 Azure AI Foundry에서 reasoning.effort가 거부되는 문제입니다[6].

GPT-6 Luna가 temperature를 거부하는 이유

GPT-6 Luna는 추론 모델입니다. OpenAI 모델 페이지에는 "Reasoning token support"와 여섯 단계의 effort가 나와 있고, 기본값은 medium입니다[2]. OpenAI GPT-6 가이드의 "Update API and model parameters" 체크리스트는 샘플링 파라미터를 별도 항목으로 따로 다룹니다[1].

Unsupported parameters: When reasoning effort is not none, remove temperature, top_p, and top_logprobs. For Chat Completions, also remove logprobs.

조건을 잘 읽어야 합니다. 가이드는 제거 여부를 모델 이름이 아니라 reasoning effort에 연결합니다. 같은 가이드에 따르면 GPT-6 Sol과 GPT-6 Luna는 none을 지원하지만 GPT-6 Astra와 GPT-6.1 Sol은 지원하지 않습니다[1]. 실제로는 대부분의 요청이 기본값 medium으로 실행되므로, temperature를 담은 요청 대부분이 실패합니다.

reAPI 문서는 더 엄격한 결과를 기록하고 있습니다. 2026-09-24에 엔드포인트에서 측정한 gpt-6-luna 파라미터 표는 temperature, top_p, frequency_penalty, presence_penalty를 "Not supported by this model — sending any of them returns 400. Leave them out of the request."로 표시합니다[3]. gpt-6-sol 페이지에도 같은 행이 있습니다[4]. 문서에는 none effort에 대한 예외가 적혀 있지 않으니, 예외를 전제로 코드를 짜지 말고 필드를 제거하세요.

개발자들이 실제로 마주치는 400 메시지

이 문제의 검색 결과에는 서로 다른 오류가 여러 개 섞여 있습니다. 아래는 공개적으로 올라온 문자열과 각각의 출처, 그리고 해결 방법입니다.

보고된 오류 문구발생 위치해결
"Only the default (1) value is supported."Bedrock의 OpenAI 호환 엔드포인트, Langflow가 temperature 0.1을 보낸 경우[5]temperature 제거
"This model doesn't support the temperature field. Remove temperature and try again."Bedrock Converse, Langflow(기본값 0.7)와 Phoenix(기본값 1)에서 발생[5][7]temperature를 제거한 뒤, Converse가 같은 방식으로 거부하는 top_p도 제거[5]
"Unsupported parameter: 'reasoning.effort' is not supported with this model."Azure AI Foundry 에이전트와 Foundry 프로젝트 엔드포인트[6][8]temperature 문제가 아님. FAQ의 Azure 답변 참고
"Function tools with reasoning_effort are not supported for gpt-6-luna in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'."OpenAI Chat Completions, 도구를 보내는 Ruby 클라이언트에서 발생[9]OpenAI 모델 페이지에 따라 Responses API를 쓰거나 effort를 none으로 설정[2]
"Invalid parameter: 'text.format' of type 'json_schema' is not supported with model version gpt-6-luna-2026-09-22"Foundry Agent 정의[10]Azure에서 보고됨. temperature 문제가 아님

이 중 두 리포트는 아무도 지정하지 않은 필드가 요청에 실려 간 사례입니다. Phoenix의 AWS 플레이그라운드는 기본 설정에서 가져온 temperature: 1로 모든 실행을 시작하며, 슬라이더 값을 비울 수 없습니다[7]. Langflow의 Bedrock 컴포넌트는 기본으로 Temperature 0.7, Top P 0.9를 보냅니다[5]. 그러니 내 코드에서 temperature를 한 번도 쓰지 않았는데 오류가 난다면 프레임워크의 기본값을 확인하세요.

reAPI에서 GPT-6 Luna API temperature 설정: 수정 전과 후

reAPI는 POST https://reapi.ai/api/v1/chat/completions로 GPT-6 Luna를 제공하며, reAPI 키를 bearer 토큰으로 사용합니다[3]. 다음 요청은 이전 채팅 모델에서 쓰던 습관이 그대로 남아 있어 거부됩니다.

# Rejected: temperature and top_p return 400 on gpt-6-luna
curl https://reapi.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "messages": [
      { "role": "user", "content": "Classify this ticket as billing, bug or account access: I was charged twice." }
    ],
    "temperature": 0.2,
    "top_p": 0.9
  }'

수정한 버전은 두 필드를 빼고, 모델이 실제로 반영하는 설정을 지정합니다. reAPI에서 reasoning_effort는 여섯 단계를 모두 받고, max_completion_tokens는 128,000까지 적용됩니다[3].

# Accepted: no sampling fields, explicit effort and output cap
curl https://reapi.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "messages": [
      { "role": "user", "content": "Classify this ticket as billing, bug or account access: I was charged twice." }
    ],
    "reasoning_effort": "low",
    "max_completion_tokens": 1000
  }'

추론 토큰은 max_completion_tokens에 포함되고 출력으로 과금되므로, 눈에 보이는 답변 길이만 기준으로 상한을 잡으면 어려운 프롬프트에서 응답이 잘릴 수 있습니다[3]. 현재 토큰당 요금은 GPT-6 Luna 모델 페이지에서 확인할 수 있습니다.

두 GPT-6 모델에 대해 문서화된 reAPI의 나머지 파라미터는 다음과 같습니다[3][4].

필드gpt-6-luna와 gpt-6-sol에서의 결과
temperature, top_p, frequency_penalty, presence_penalty400, 빼야 함
seed, stop, logprobs, verbosity받아들여지지만(200) 효과 없음
n1만 가능. 더 큰 값은 400 반환
reasoning_effortnone, low, medium, high, xhigh, max. 생략 시 medium
response_format적용됨. strict를 쓴 json_schema 포함
tools, tool_choicenone뿐 아니라 medium effort에서도 tool_calls 반환

tools 행은 OpenAI 자체 Chat Completions 규칙과 다릅니다. OpenAI는 reasoning_effort: "none"에서만 함수 호출을 허용합니다[2]. reAPI 엔드포인트에서는 2026-09-24 측정 당시 medium에서도 도구가 tool_calls를 반환했습니다[3].

temperature 대신 쓸 수 있는 것

temperature는 샘플링의 무작위성을 조절했습니다. GPT-6 Luna에는 이를 직접 대체하는 수단이 없으므로, temperature로 원래 얻으려던 목적에 맞는 설정을 고르세요.

일관되고 파싱 가능한 출력이 필요했다면. JSON 스키마와 strict: true를 지정한 response_format을 쓰세요. reAPI는 두 GPT-6 모델 모두에 이를 적용하며[3], strict 스키마는 답변의 형태를 고정합니다. 많은 temperature: 0 설정이 얻으려던 것이 바로 이것입니다.

더 빠르거나 저렴한 답변이 필요했다면. reasoning_effort를 낮추세요. OpenAI 추론 가이드는 분류나 빠른 검색처럼 지연 시간이 중요한 작업에는 none을, 도구 사용·고객 지원 워크플로·초안 작성에는 low를 제시합니다[11]. 추론 토큰이 줄면 과금되는 출력 토큰도 줄어듭니다[3].

다양한 답변이 필요했다면. reAPI에서는 seed도 n도 도움이 되지 않습니다. seed는 받아들여지지만 효과가 없고, n은 1로 제한됩니다[3]. 요청을 따로 여러 번 보내거나, 한 프롬프트에서 대안을 여러 개 요청하세요.

다른 스타일이 필요했다면. system 또는 developer 메시지에 그렇게 적으세요. 샘플링 설정은 원래부터 어조를 다루기에는 거친 도구였고, 이제 남은 수단은 지시문뿐입니다.

Python에서 필드 걸러내기

공용 헬퍼나 설정이 샘플링 기본값을 끼워 넣는다면, 호출하는 곳을 하나하나 고치기보다 호출 직전에 제거하세요. 아래 코드는 reAPI의 Python 예제와 마찬가지로 공식 OpenAI SDK를 reAPI에 연결해 사용합니다[3].

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://reapi.ai/api/v1")

REJECTED = {"temperature", "top_p", "frequency_penalty", "presence_penalty"}

def gpt6_params(params: dict) -> dict:
    """Drop fields that gpt-6-luna and gpt-6-sol answer with 400."""
    return {k: v for k, v in params.items() if k not in REJECTED}

params = {"temperature": 0.2, "top_p": 0.9, "max_completion_tokens": 1000}

resp = client.chat.completions.create(
    model="gpt-6-luna",
    messages=[{"role": "user", "content": "Summarize this refund policy in two sentences."}],
    reasoning_effort="low",
    **gpt6_params(params),
)
print(resp.choices[0].message.content)

필드가 어디서 오는지 알 수 없다면, 테스트하는 동안 최종 직렬화된 요청 본문의 키를 로그로 남기세요. 앞에서 본 Phoenix와 Langflow 리포트는 둘 다 호출하는 쪽이 직접 쓰지 않은 기본값이 원인이었습니다[5][7].

자주 묻는 질문

GPT-6 Luna API temperature 설정 GitHub

이 문제를 다룬 GitHub 이슈는 대부분 temperature를 기본으로 보내는 도구의 버그입니다. Langflow의 Bedrock 컴포넌트는 temperature와 top_p로 0.7과 0.9를 보내고[5], Phoenix의 AWS 플레이그라운드는 실행할 때마다 temperature: 1을 보냅니다[7]. 두 리포트 모두 해당 필드를 제거하면 요청이 성공한다고 밝힙니다. 내 코드에서도 해법은 같습니다. GPT-6 Luna에는 temperature나 top_p를 보내지 마세요.

GPT-6 Luna API temperature 설정 Python

설정할 수 없습니다. client.chat.completions.create(...)에서 temperature와 top_p를 빼고 대신 reasoning_effort를 넘기세요. reAPI에서는 두 필드 모두 400을 반환합니다[3]. 공용 설정에서 이 필드가 들어온다면 위의 Python 헬퍼로 걸러낼 수 있습니다.

GPT-6 Luna API temperature 설정 예제

위의 수정된 cURL 요청이 바로 그 예제입니다. model은 gpt-6-luna, messages 배열, reasoning_effort: "low", max_completion_tokens: 1000을 쓰고, temperature나 top_p는 없습니다. reAPI GPT-6 Luna 문서의 필드 규칙을 따른 요청입니다[3].

GPT-6 Luna API 모델 이름

API 모델 ID는 gpt-6-luna입니다. OpenAI는 이 문자열을 모델 ID이자 유일한 스냅샷으로 표기하며, "Use gpt-6-luna in your API requests."라고 안내합니다[2]. reAPI도 같은 문자열을 사용하며, gpt-5.6-luna나 gpt-6-sol과는 다른 모델로 취급합니다[3]. Azure 오류 메시지에는 gpt-6-luna-2026-09-22라는 모델 버전도 등장합니다[10].

GPT-6 Luna API reasoning auto 설정

auto reasoning effort는 없습니다. OpenAI는 GPT-6 Luna에 대해 none, low, medium, high, xhigh, max를 제시하며, 기본값은 medium입니다[2]. 모델 기본값을 쓰려면 reasoning_effort를 아예 생략하세요. OpenAI 추론 가이드에도 auto가 나오기는 하지만, 추론 요약과 reasoning.context 필드라는 다른 설정에서 쓰입니다[11].

Azure의 GPT-6 Luna

Azure에서 가장 많이 언급되는 문제는 temperature가 아닙니다. 2026년 9월 29일 Microsoft Q&A 게시물은 Foundry 에이전트가 "Unsupported parameter: 'reasoning.effort' is not supported with this model" 오류로 실패한다고 보고합니다[6]. 한 GitHub 이슈는 이를 Foundry 프로젝트 엔드포인트에서 재현했는데, 일반 호출은 500을, effort를 넣으면 400을 반환한 반면 리소스 엔드포인트에서는 reasoning effort와 함께 정상 동작했습니다. 보고자의 우회 방법은 리소스 엔드포인트를 호출하는 것이며, 2026년 10월 7일 확인 시점에도 이슈는 열려 있었습니다[8].

GPT-6 Sol은 어떤 effort를 써야 하나

GPT-6 Sol은 Luna와 같은 여섯 가지 값을 받으며 기본값은 medium입니다[4][12]. OpenAI의 일반 가이드는 지연 시간이 중요한 작업에는 none, 도구 사용과 초안 작성에는 low, 대부분의 워크로드에는 medium, 어려운 디버깅과 계획 수립에는 high를 권하고, xhigh는 평가 결과가 추가 지연과 비용을 정당화할 때만 쓰라고 합니다[11]. reAPI에서 Sol도 Luna와 마찬가지로 temperature와 top_p를 거부합니다[4].

한 번에 통과하는 GPT-6 Luna 요청 보내기

깔끔한 GPT-6 Luna 요청은 model이 gpt-6-luna이고, messages 배열이 있으며, 의도적으로 고른 reasoning_effort와 추론분까지 감안한 출력 상한을 갖습니다. temperature, top_p, penalty 필드는 없습니다. GPT-6 Luna API에서 temperature를 설정하려고 이 글을 찾았다면, 답은 설정을 그만두는 것입니다. 비용과 지연 시간은 effort로, 출력 형태는 strict JSON 스키마로 조절하고, 프레임워크가 기본으로 무엇을 추가하는지 확인하세요. GPT-6 Sol에도 같은 요청 형태가 그대로 통합니다. 파라미터는 GPT-6 Luna 문서와 GPT-6 Sol 문서에, 현재 요금은 GPT-6 Luna와 GPT-6 Sol 모델 페이지에 있습니다.

참고 자료

  1. OpenAI. Using GPT-6. 2026년 10월 확인, 출처: developers.openai.com/api/docs/guides/latest-model
  2. OpenAI. GPT-6 Luna model page. 2026년 10월 확인, 출처: developers.openai.com/api/docs/models/gpt-6-luna
  3. reAPI. gpt-6-luna API documentation. 2026년 10월 확인, 출처: reapi.ai/docs/gpt-6-luna
  4. reAPI. gpt-6-sol API documentation. 2026년 10월 확인, 출처: reapi.ai/docs/gpt-6-sol
  5. Langflow on GitHub. Amazon Bedrock Converse: OpenAI GPT-6 Sol/Luna/Astra calls fail with 400 because Temperature and Top P are sent by default (#15349). 2026년 10월 확인, 출처: github.com/langflow-ai/langflow/issues/15349
  6. Microsoft Q&A. GPT-6-Luna agents fail with Unsupported parameter: 'reasoning.effort' error. 2026년 10월 확인, 출처: learn.microsoft.com/en-us/answers/questions/6018360
  7. Arize Phoenix on GitHub. Playground can't run OpenAI GPT-6 Sol/Luna/Astra on AWS Bedrock: default temperature=1 is always sent and rejected with 400 (#16430). 2026년 10월 확인, 출처: github.com/Arize-ai/phoenix/issues/16430
  8. Azure SDK for Python on GitHub. azure-ai-projects: gpt-6-luna returns 500 on project endpoint, works on resource endpoint (#49169). 2026년 10월 확인, 출처: github.com/Azure/azure-sdk-for-python/issues/49169
  9. redmine_ai_helper on GitHub. Chat fails with gpt-6 models (gpt-6-luna, gpt-6-sol): "Function tools with reasoning_effort are not supported" (#480). 2026년 10월 확인, 출처: github.com/haru/redmine_ai_helper/issues/480
  10. Microsoft Agent Framework on GitHub. Invalid parameter: 'text.format' of type 'json_schema' is not supported with model version gpt-6-luna-2026-09-22 (#8718). 2026년 10월 확인, 출처: github.com/microsoft/agent-framework/issues/8718
  11. OpenAI. Reasoning models. 2026년 10월 확인, 출처: developers.openai.com/api/docs/guides/reasoning
  12. OpenAI. GPT-6 Sol model page. 2026년 10월 확인, 출처: developers.openai.com/api/docs/models/gpt-6-sol

더 읽어보기