AI 초보자 QnA
질문
OpenAI Python SDK에서 요청 한 건에만 HTTP 헤더를 추가할 수 있나요?
답변
공식 Python SDK에서는 해당 메서드 호출의
extra_headers
에 헤더 이름과 값의 딕셔너리를 전달합니다. 질문 문장이나 요청 JSON 본문에 헤더를 적는 방식과 다릅니다.
이 글은 이미 동작하는 HTTP 요청에 필요한 헤더를 한 건만 추가하는 방법입니다. 모델 옵션을 새로 만들거나 서버의 권한 제한을 푸는 기능은 아닙니다. 먼저 받을 서버가 어떤 이름과 값을 요구하는지 확인하세요.
짧게 답하면
헤더 요구사항 확인 → 기존 설정 대조 → 호출에 extra_headers 추가 → 실제 전송과 응답 점검 순서로 진행하세요. 공용 클라이언트의 설정을 바꾸기 전에 요청 한 건의 옵션부터 구분합니다.
extra_headers
현재 호출에 추가할 HTTP 헤더입니다. 입력 문장이나 출력 형식이 아닙니다.
extra_body
요청 본문에 항목을 추가하는 별도 옵션입니다. 헤더를 넣는 위치와 구별합니다.
기본 헤더
클라이언트에 이미 지정된 값입니다. 같은 이름의 요청별 설정이 있는지도 함께 봅니다.
처음 쓰는 사람 기준으로 설명하면
예를 들어 승인된 회사 중계 서버가 시험 요청을 구별할 표식을 요구한다고 해 보세요. 어떤 헤더를 쓸지는 그 서버의 계약을 따릅니다. 이름을 임의로 만들어 넣는 것만으로 서버에 새 기능이 생기지는 않습니다.
OpenAI Python 문서의 Undocumented request params는
extra_query
·
extra_body
·
extra_headers
를 별도 요청 옵션으로 안내합니다. 헤더가 필요하다면 세 이름 중 extra_headers를 선택하세요. 모델에게 헤더를 보내 달라고 요청하는 것으로 대신하지 않습니다.
현재 공식 SDK의 HTTP 헤더 구성 구현은 기본 헤더와 요청별 헤더를 합칩니다. 같은 이름은 대소문자를 구분하지 않고 뒤의 값이 우선합니다. 추가 설정이 인증·조직·프로젝트의 기존 값을 바꿀 수 있으므로 이름이 겹치지 않는지 먼저 읽으세요.
한 줄 정리: 요청별 헤더의 전달 위치와 서버가 그 헤더를 실제로 해석하는지는 서로 다른 확인 항목입니다.
바로 따라 해보기
1단계. 사용할 이름과 전송 대상을 확인합니다.
공식 openai Python 패키지와 실행 버전을 확인하세요. 받을 서버의 공식 안내나 승인된 연결 문서에서 필요한 헤더 이름·값을 확인합니다. 개인정보 없는 시험 입력을 고르고 현재 기본·요청별 헤더 설정을 남깁니다.
2단계. 기존 호출의 인수에 추가합니다.
이미 쓰는
client.responses.create
에서 model·input은 유지하고
extra_headers={"X-Example-Label": "trial"}
을 인수로 넣습니다. 이 이름과 값은 위치를 보여 주는 가상 예시이며 OpenAI 기능을 켜는 공식 헤더가 아닙니다. 실제로는 확인한 값으로 바꾸세요.
3단계. 전송과 처리 결과를 따로 봅니다.
승인된 시험 환경에서 필요한 헤더 한 항목만 확인하세요. 수신 서버의 안전한 진단 기록과 대조하고 상태 코드·응답 상태·답변 내용도 봅니다. 다음 호출에서 같은 인수를 생략했을 때 기존 기본 설정이 유지되는지도 확인합니다. 이 표기는 전체 실행 예제가 아닌 인수 배치 안내입니다.
주의할 점
추가 헤더로
Authorization
·
OpenAI-Project
같은 기존 값을 덮어쓰지 않도록 주의하세요. 인증은 승인된 SDK 설정으로 관리합니다. 헤더가 전송됐다는 사실만으로 서버가 그 값을 사용했거나 요청이 성공했다고 기록하지 않습니다.
헤더를 input 문장이나 extra_body 안에 넣고 전송됐다고 생각합니다. 실제 메서드의 extra_headers 인수인지 확인하세요.
추가 헤더로 인증·권한·결제 문제까지 해결하려 합니다. 이름이 맞아도 서버의 지원과 키 권한은 별도로 확인해야 합니다.
헤더 전체를 출력해 API 키나 고객 정보를 노출합니다. 필요한 비민감 항목만 기록하고 상세 로그를 공개하지 마세요.
웹사이트와 앱 중 무엇부터 쓰면 좋을까요?
옵션 구분은 공식 웹 문서에서
Python API library의 추가 요청 옵션과 API Overview의 인증·헤더 설명을 함께 읽으세요. 같은 이름의 옵션을 다른 언어 SDK나 WebSocket 연결에 그대로 옮기지 않습니다.
실제 확인은 API 개발 환경에서
ChatGPT 웹·모바일 앱 메뉴가 아니라 요청을 보내는 프로그램에서 점검하세요. Production best practices의 권고처럼 시험·운영 프로젝트를 분리합니다. 이 글은 문서 기반 안내이며 실제 API 헤더 전송을 재현한 결과는 아닙니다.
확인한 공식 자료
OpenAI Python API library — extra_headers·extra_body·extra_query가 서로 다른 추가 요청 옵션임을 확인했습니다.
OpenAI API Overview — 인증·조직·프로젝트 헤더의 역할과 서버 환경 변수·키 관리 서비스의 보관 원칙을 확인했습니다.
OpenAI Production best practices — 시험·운영 프로젝트 분리와 안전한 키 보관 권고를 확인했습니다.
OpenAI 공식 Python SDK 헤더 구성 구현 — 기본·요청별 헤더의 병합과 이름의 대소문자를 구별하지 않는 우선순위를 확인했습니다.
