Providers

OpenAI

OpenAI는 GPT 모델용 개발자 API를 제공하며, Codex는 OpenAI의 Codex 클라이언트를 통해 ChatGPT 플랜 코딩 에이전트로도 사용할 수 있습니다. OpenClaw는 구성의 예측 가능성을 유지하기 위해 이 표면들을 분리합니다.

OpenClaw는 openai/*를 표준 OpenAI 모델 경로로 사용합니다. OpenAI 모델의 임베디드 에이전트 턴은 기본적으로 네이티브 Codex 앱 서버 런타임을 통해 실행됩니다. 직접 OpenAI API 키 인증은 이미지, 임베딩, 음성, 실시간과 같은 비에이전트 OpenAI 표면에서 계속 사용할 수 있습니다.

  • 에이전트 모델 - Codex 런타임을 통한 openai/* 모델입니다. ChatGPT/Codex 구독 사용에는 openai-codex 인증으로 로그인하거나, 의도적으로 API 키 인증을 사용하려면 openai-codex API 키 프로필을 구성하세요.
  • 비에이전트 OpenAI API - OPENAI_API_KEY 또는 OpenAI API 키 온보딩을 통해 사용량 기반 과금으로 직접 OpenAI Platform에 접근합니다.
  • 레거시 구성 - openai-codex/* 모델 참조는 openclaw doctor --fix에 의해 openai/*와 Codex 런타임으로 복구됩니다.

OpenAI는 OpenClaw와 같은 외부 도구 및 워크플로에서 구독 OAuth 사용을 명시적으로 지원합니다.

프로바이더, 모델, 런타임, 채널은 서로 다른 계층입니다. 이 라벨들이 서로 혼동되고 있다면 구성을 변경하기 전에 에이전트 런타임을 읽으세요.

빠른 선택

목표 사용 참고
네이티브 Codex 런타임을 사용하는 ChatGPT/Codex 구독 openai/gpt-5.5 기본 OpenAI 에이전트 설정입니다. openai-codex 인증으로 로그인하세요.
에이전트 모델에 대한 직접 API 키 과금 openai/gpt-5.5openai-codex API 키 프로필 해당 프로필을 우선하려면 auth.order.openai-codex를 사용하세요.
명시적 PI를 통한 직접 API 키 과금 openai/gpt-5.5agentRuntime.id: "pi" 일반 openai API 키 프로필을 선택하세요.
최신 ChatGPT Instant API 별칭 openai/chat-latest 직접 API 키 전용입니다. 기본값이 아닌 실험용 이동 별칭입니다.
명시적 PI를 통한 ChatGPT/Codex 구독 인증 openai/gpt-5.5agentRuntime.id: "pi" 호환성 경로에는 openai-codex 인증 프로필을 선택하세요.
이미지 생성 또는 편집 openai/gpt-image-2 OPENAI_API_KEY 또는 OpenAI Codex OAuth 모두에서 작동합니다.
투명 배경 이미지 openai/gpt-image-1.5 outputFormat=png 또는 webpopenai.background=transparent를 사용하세요.

이름 매핑

이름은 비슷하지만 서로 바꿔 사용할 수 없습니다.

보이는 이름 계층 의미
openai 프로바이더 접두사 표준 OpenAI 모델 경로입니다. 에이전트 턴은 Codex 런타임을 사용합니다.
openai-codex 인증/프로필 접두사 OpenAI Codex OAuth/구독 인증 프로필 프로바이더입니다.
codex plugin Plugin 네이티브 Codex 앱 서버 런타임과 /codex 채팅 제어를 제공하는 번들 OpenClaw plugin입니다.
agentRuntime.id: codex 에이전트 런타임 임베디드 턴에 네이티브 Codex 앱 서버 하네스를 강제합니다.
/codex ... 채팅 명령 세트 대화에서 Codex 앱 서버 스레드를 바인딩/제어합니다.
runtime: "acp", agentId: "codex" ACP 세션 경로 ACP/acpx를 통해 Codex를 실행하는 명시적 폴백 경로입니다.

즉, 구성에는 의도적으로 openai/* 모델 참조와 openai-codex 인증 프로필이 모두 포함될 수 있습니다. openclaw doctor --fix는 레거시 openai-codex/* 모델 참조를 표준 OpenAI 모델 경로로 다시 씁니다.

OpenClaw 기능 적용 범위

OpenAI 기능 OpenClaw 표면 상태
채팅 / Responses openai/<model> 모델 프로바이더
Codex 구독 모델 openai/<model>openai-codex OAuth
레거시 Codex 모델 참조 openai-codex/<model> doctor가 openai/<model>로 복구함
Codex 앱 서버 하네스 런타임 생략 또는 agentRuntime.id: codex가 있는 openai/<model>
서버 측 웹 검색 네이티브 OpenAI Responses 도구 예, 웹 검색이 활성화되어 있고 고정된 프로바이더가 없을 때
이미지 image_generate
동영상 video_generate
텍스트 음성 변환 messages.tts.provider: "openai" / tts
일괄 음성 텍스트 변환 tools.media.audio / 미디어 이해
스트리밍 음성 텍스트 변환 Voice Call streaming.provider: "openai"
실시간 음성 Voice Call realtime.provider: "openai" / Control UI Talk
임베딩 메모리 임베딩 프로바이더

메모리 임베딩

OpenClaw는 memory_search 인덱싱 및 쿼리 임베딩에 OpenAI 또는 OpenAI 호환 임베딩 엔드포인트를 사용할 수 있습니다.

{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
        model: "text-embedding-3-small",
      },
    },
  },
}

비대칭 임베딩 라벨이 필요한 OpenAI 호환 엔드포인트의 경우 memorySearch 아래에 queryInputTypedocumentInputType을 설정하세요. OpenClaw는 이를 프로바이더별 input_type 요청 필드로 전달합니다. 쿼리 임베딩은 queryInputType을 사용하고, 인덱싱된 메모리 청크와 일괄 인덱싱은 documentInputType을 사용합니다. 전체 예시는 메모리 구성 참조를 참조하세요.

시작하기

선호하는 인증 방법을 선택하고 설정 단계를 따르세요.

API key (OpenAI Platform)

적합한 용도: 직접 API 액세스 및 사용량 기반 과금.

  • API 키 가져오기

    OpenAI Platform 대시보드에서 API 키를 만들거나 복사하세요.

  • 온보딩 실행

    openclaw onboard --auth-choice openai-api-key
    

    또는 키를 직접 전달하세요:

    openclaw onboard --openai-api-key "$OPENAI_API_KEY"
    
  • 모델 사용 가능 여부 확인

    openclaw models list --provider openai
    
  • 경로 요약

    모델 참조 런타임 구성 경로 인증
    openai/gpt-5.5 생략 / agentRuntime.id: "codex" Codex app-server 하네스 openai-codex 프로필
    openai/gpt-5.4-mini 생략 / agentRuntime.id: "codex" Codex app-server 하네스 openai-codex 프로필
    openai/gpt-5.5 agentRuntime.id: "pi" PI 임베디드 런타임 openai 프로필 또는 선택한 openai-codex 프로필

    구성 예시

    {
      env: { OPENAI_API_KEY: "sk-..." },
      agents: { defaults: { model: { primary: "openai/gpt-5.5" } } },
    }
    

    OpenAI API에서 ChatGPT의 현재 Instant 모델을 사용해 보려면 모델을 openai/chat-latest로 설정하세요:

    {
      env: { OPENAI_API_KEY: "sk-..." },
      agents: { defaults: { model: { primary: "openai/chat-latest" } } },
    }
    

    chat-latest는 이동하는 별칭입니다. OpenAI는 이를 ChatGPT에서 사용되는 최신 Instant 모델로 문서화하고 있으며 프로덕션 API 사용에는 gpt-5.5를 권장하므로, 해당 별칭 동작을 명시적으로 원하는 경우가 아니라면 openai/gpt-5.5를 안정적인 기본값으로 유지하세요. 현재 이 별칭은 medium 텍스트 상세도만 허용하므로, OpenClaw는 이 모델에 대해 호환되지 않는 OpenAI 텍스트 상세도 재정의를 정규화합니다.

    Codex subscription

    적합한 용도: 별도의 API 키 대신 네이티브 Codex app-server 실행과 함께 ChatGPT/Codex 구독을 사용하는 경우. Codex cloud에는 ChatGPT 로그인이 필요합니다.

  • Codex OAuth 실행

    openclaw onboard --auth-choice openai-codex
    

    또는 OAuth를 직접 실행하세요:

    openclaw models auth login --provider openai-codex
    

    헤드리스 또는 콜백을 사용하기 어려운 설정에서는 localhost 브라우저 콜백 대신 ChatGPT 디바이스 코드 흐름으로 로그인하려면 --device-code를 추가하세요:

    openclaw models auth login --provider openai-codex --device-code
    
  • 표준 OpenAI 모델 경로 사용

    openclaw config set agents.defaults.model.primary openai/gpt-5.5
    

    런타임 구성은 기본 경로에 필요하지 않습니다. OpenAI 에이전트 턴은 네이티브 Codex app-server 런타임을 자동으로 선택하며, 이 경로가 선택되면 OpenClaw가 번들 Codex Plugin을 설치하거나 복구합니다.

  • Codex 인증을 사용할 수 있는지 확인

    openclaw models list --provider openai-codex
    

    Gateway가 실행된 후 채팅에서 /codex status 또는 /codex models를 보내 네이티브 app-server 런타임을 확인합니다.

  • 경로 요약

    모델 참조 런타임 구성 경로 인증
    openai/gpt-5.5 생략됨 / agentRuntime.id: "codex" 네이티브 Codex app-server 하네스 Codex 로그인 또는 선택된 openai-codex 프로필
    openai/gpt-5.5 agentRuntime.id: "pi" 내부 Codex 인증 전송을 사용하는 PI 내장 런타임 선택된 openai-codex 프로필
    openai-codex/gpt-5.5 doctor가 복구함 openai/gpt-5.5로 다시 작성되는 레거시 경로 기존 openai-codex 프로필

    구성 예시

    {
      plugins: { entries: { codex: { enabled: true } } },
      agents: {
        defaults: {
          model: { primary: "openai/gpt-5.5" },
          agentRuntime: { id: "codex" },
        },
      },
    }
    

    Codex OAuth 라우팅 확인 및 복구

    다음 명령을 사용해 기본 에이전트가 어떤 모델, 런타임, 인증 경로를 사용하는지 확인합니다.

    openclaw models status
    openclaw models auth list --provider openai-codex
    openclaw config get agents.defaults.model --json
    openclaw config get agents.defaults.agentRuntime --json
    

    특정 에이전트의 경우 --agent <id>를 추가합니다.

    openclaw models status --agent <id>
    openclaw models auth list --agent <id> --provider openai-codex
    

    이전 구성에 아직 openai-codex/gpt-*가 있거나 명시적 런타임 구성 없이 오래된 OpenAI PI 세션 고정이 남아 있다면 복구합니다.

    openclaw doctor --fix
    openclaw config validate
    

    models auth list --provider openai-codex에 사용할 수 있는 프로필이 표시되지 않으면 다시 로그인합니다.

    openclaw models auth login --provider openai-codex
    openclaw models status --probe --probe-provider openai-codex
    

    openai-codex는 인증/프로필 제공자 ID로 유지됩니다. openai/*는 Codex를 통한 OpenAI 에이전트 턴의 모델 경로입니다.

    상태 표시기

    채팅 /status는 현재 세션에서 활성화된 모델 런타임을 보여줍니다. 번들 Codex app-server 하네스는 OpenAI 에이전트 모델 턴에 대해 Runtime: OpenAI Codex로 표시됩니다. 구성에서 PI를 명시적으로 고정하지 않는 한 오래된 PI 세션 고정은 Codex로 복구됩니다.

    Doctor 경고

    openai-codex/* 경로 또는 오래된 OpenAI PI 고정이 구성이나 세션 상태에 남아 있으면, PI가 명시적으로 구성된 경우를 제외하고 openclaw doctor --fix가 이를 Codex 런타임이 포함된 openai/*로 다시 작성합니다.

    컨텍스트 창 한도

    OpenClaw는 모델 메타데이터와 런타임 컨텍스트 한도를 별개의 값으로 취급합니다.

    Codex OAuth 카탈로그를 통한 openai/gpt-5.5의 경우:

    • 네이티브 contextWindow: 1000000
    • 기본 런타임 contextTokens 한도: 272000

    더 작은 기본 한도는 실제 사용에서 더 나은 지연 시간과 품질 특성을 가집니다. contextTokens로 재정의하세요.

    {
      models: {
        providers: {
          "openai-codex": {
            models: [{ id: "gpt-5.5", contextTokens: 160000 }],
          },
        },
      },
    }
    

    카탈로그 복구

    OpenClaw는 gpt-5.5가 있을 때 업스트림 Codex 카탈로그 메타데이터를 사용합니다. 계정이 인증된 상태에서 라이브 Codex 검색이 gpt-5.5 행을 누락하면, OpenClaw는 해당 OAuth 모델 행을 합성하여 cron, 하위 에이전트, 구성된 기본 모델 실행이 Unknown model로 실패하지 않도록 합니다.

    네이티브 Codex app-server 인증

    네이티브 Codex app-server 하네스는 openai/* 모델 참조와 생략된 런타임 구성 또는 agentRuntime.id: "codex"를 사용하지만, 인증은 여전히 계정 기반입니다. OpenClaw는 다음 순서로 인증을 선택합니다.

    1. 에이전트에 바인딩된 명시적 OpenClaw openai-codex 인증 프로필.
    2. 로컬 Codex CLI ChatGPT 로그인과 같은 app-server의 기존 계정.
    3. 로컬 stdio app-server 실행에 한해, app-server가 계정이 없다고 보고하고 여전히 OpenAI 인증이 필요한 경우 CODEX_API_KEY, 그다음 OPENAI_API_KEY.

    즉, Gateway 프로세스에 직접 OpenAI 모델이나 임베딩용 OPENAI_API_KEY가 있다는 이유만으로 로컬 ChatGPT/Codex 구독 로그인이 대체되지는 않습니다. 환경 API 키 대체는 로컬 stdio 무계정 경로에만 해당하며, WebSocket app-server 연결로 전송되지 않습니다. 구독 방식 Codex 프로필이 선택되면 OpenClaw는 생성된 stdio app-server 자식 프로세스에서 CODEX_API_KEYOPENAI_API_KEY도 제외하고, 선택된 자격 증명을 app-server login RPC를 통해 보냅니다.

    이미지 생성

    번들 openai Plugin은 image_generate 도구를 통해 이미지 생성을 등록합니다. 동일한 openai/gpt-image-2 모델 참조를 통해 OpenAI API 키 이미지 생성과 Codex OAuth 이미지 생성을 모두 지원합니다.

    기능 OpenAI API 키 Codex OAuth
    모델 참조 openai/gpt-image-2 openai/gpt-image-2
    인증 OPENAI_API_KEY OpenAI Codex OAuth 로그인
    전송 OpenAI Images API Codex Responses 백엔드
    요청당 최대 이미지 수 4 4
    편집 모드 활성화됨(최대 5개 참조 이미지) 활성화됨(최대 5개 참조 이미지)
    크기 재정의 2K/4K 크기를 포함해 지원됨 2K/4K 크기를 포함해 지원됨
    종횡비 / 해상도 OpenAI Images API로 전달되지 않음 안전할 때 지원되는 크기로 매핑됨
    {
      agents: {
        defaults: {
          imageGenerationModel: { primary: "openai/gpt-image-2" },
        },
      },
    }
    

    gpt-image-2는 OpenAI 텍스트-이미지 생성과 이미지 편집 모두의 기본값입니다. gpt-image-1.5, gpt-image-1, gpt-image-1-mini는 명시적 모델 재정의로 계속 사용할 수 있습니다. 투명 배경 PNG/WebP 출력에는 openai/gpt-image-1.5를 사용하세요. 현재 gpt-image-2 API는 background: "transparent"를 거부합니다.

    투명 배경 요청의 경우 에이전트는 model: "openai/gpt-image-1.5", outputFormat: "png" 또는 "webp", 그리고 background: "transparent"image_generate를 호출해야 합니다. 이전 openai.background 제공자 옵션도 계속 허용됩니다. OpenClaw는 또한 기본 openai/gpt-image-2 투명 요청을 gpt-image-1.5로 다시 작성하여 공개 OpenAI 및 OpenAI Codex OAuth 경로를 보호합니다. Azure 및 사용자 지정 OpenAI 호환 엔드포인트는 구성된 배포/모델 이름을 유지합니다.

    동일한 설정은 헤드리스 CLI 실행에도 노출됩니다.

    openclaw infer image generate \
      --model openai/gpt-image-1.5 \
      --output-format png \
      --background transparent \
      --prompt "A simple red circle sticker on a transparent background" \
      --json
    

    입력 파일에서 시작할 때는 openclaw infer image edit와 함께 동일한 --output-format--background 플래그를 사용하세요. --openai-background는 OpenAI 전용 별칭으로 계속 사용할 수 있습니다.

    Codex OAuth 설치에서는 동일한 openai/gpt-image-2 참조를 유지하세요. openai-codex OAuth 프로필이 구성되어 있으면 OpenClaw는 저장된 OAuth 액세스 토큰을 해석하고 Codex Responses 백엔드를 통해 이미지 요청을 보냅니다. 해당 요청에 대해 먼저 OPENAI_API_KEY를 시도하거나 API 키로 조용히 대체하지 않습니다. 대신 직접 OpenAI Images API 경로를 원할 때는 API 키, 사용자 지정 기본 URL 또는 Azure 엔드포인트로 models.providers.openai를 명시적으로 구성하세요. 해당 사용자 지정 이미지 엔드포인트가 신뢰할 수 있는 LAN/개인 주소에 있는 경우 browser.ssrfPolicy.dangerouslyAllowPrivateNetwork: true도 설정하세요. OpenClaw는 이 옵트인이 없으면 개인/내부 OpenAI 호환 이미지 엔드포인트를 계속 차단합니다.

    생성:

    /tool image_generate model=openai/gpt-image-2 prompt="A polished launch poster for OpenClaw on macOS" size=3840x2160 count=1
    

    투명 PNG 생성:

    /tool image_generate model=openai/gpt-image-1.5 prompt="A simple red circle sticker on a transparent background" outputFormat=png background=transparent
    

    편집:

    /tool image_generate model=openai/gpt-image-2 prompt="Preserve the object shape, change the material to translucent glass" image=/path/to/reference.png size=1024x1536
    

    동영상 생성

    번들 openai Plugin은 video_generate 도구를 통해 동영상 생성을 등록합니다.

    기능
    기본 모델 openai/sora-2
    모드 텍스트-동영상, 이미지-동영상, 단일 동영상 편집
    참조 입력 이미지 1개 또는 동영상 1개
    크기 재정의 지원됨
    기타 재정의 aspectRatio, resolution, audio, watermark는 도구 경고와 함께 무시됩니다
    {
      agents: {
        defaults: {
          videoGenerationModel: { primary: "openai/sora-2" },
        },
      },
    }
    

    GPT-5 프롬프트 기여

    OpenClaw는 제공자 전반의 GPT-5 계열 실행에 공유 GPT-5 프롬프트 기여를 추가합니다. 이는 모델 ID별로 적용되므로 openai/gpt-5.5, openai-codex/gpt-5.5 같은 레거시 복구 전 참조, openrouter/openai/gpt-5.5, opencode/gpt-5.5 및 기타 호환 GPT-5 참조가 동일한 오버레이를 받습니다. 이전 GPT-4.x 모델에는 적용되지 않습니다.

    번들 네이티브 Codex 하네스는 Codex app-server 개발자 지침을 통해 동일한 GPT-5 동작과 Heartbeat 오버레이를 사용하므로, agentRuntime.id: "codex"를 통해 강제로 처리되는 openai/gpt-5.x 세션은 Codex가 나머지 하네스 프롬프트를 소유하더라도 동일한 후속 처리 및 사전 Heartbeat 지침을 유지합니다.

    GPT-5 기여는 페르소나 지속성, 실행 안전성, 도구 규율, 출력 형태, 완료 확인, 검증에 대한 태그 지정된 동작 계약을 추가합니다. 채널별 응답 및 무음 메시지 동작은 공유 OpenClaw 시스템 프롬프트와 발신 전달 정책에 유지됩니다. GPT-5 지침은 일치하는 모델에 항상 활성화됩니다. 친근한 상호작용 스타일 레이어는 별도이며 구성할 수 있습니다.

    효과
    "friendly" (기본값) 친근한 상호작용 스타일 레이어 활성화
    "on" "friendly"의 별칭
    "off" 친근한 스타일 레이어만 비활성화

    Config

    {
      agents: {
        defaults: {
          promptOverlays: {
            gpt5: { personality: "friendly" },
          },
        },
      },
    }
    

    CLI

    openclaw config set agents.defaults.promptOverlays.gpt5.personality off
    

    음성 및 말하기

    Speech synthesis (TTS)

    번들된 openai Plugin은 messages.tts 표면에 음성 합성을 등록합니다.

    설정 Config 경로 기본값
    모델 messages.tts.providers.openai.model gpt-4o-mini-tts
    음성 messages.tts.providers.openai.voice coral
    속도 messages.tts.providers.openai.speed (설정되지 않음)
    지침 messages.tts.providers.openai.instructions (설정되지 않음, gpt-4o-mini-tts 전용)
    형식 messages.tts.providers.openai.responseFormat 음성 메모에는 opus, 파일에는 mp3
    API 키 messages.tts.providers.openai.apiKey OPENAI_API_KEY로 대체
    Base URL messages.tts.providers.openai.baseUrl https://api.openai.com/v1
    추가 본문 messages.tts.providers.openai.extraBody / extra_body (설정되지 않음)

    사용 가능한 모델: gpt-4o-mini-tts, tts-1, tts-1-hd. 사용 가능한 음성: alloy, ash, ballad, cedar, coral, echo, fable, juniper, marin, onyx, nova, sage, shimmer, verse.

    extraBody는 OpenClaw가 생성한 필드 뒤에 /audio/speech 요청 JSON으로 병합되므로, lang 같은 추가 키가 필요한 OpenAI 호환 엔드포인트에 사용하세요. 프로토타입 키는 무시됩니다.

    {
      messages: {
        tts: {
          providers: {
            openai: { model: "gpt-4o-mini-tts", voice: "coral" },
          },
        },
      },
    }
    
    Speech-to-text

    번들된 openai Plugin은 OpenClaw의 미디어 이해 전사 표면을 통해 배치 음성 텍스트 변환을 등록합니다.

    • 기본 모델: gpt-4o-transcribe
    • 엔드포인트: OpenAI REST /v1/audio/transcriptions
    • 입력 경로: multipart 오디오 파일 업로드
    • Discord 음성 채널 세그먼트와 채널 오디오 첨부 파일을 포함하여, 수신 오디오 전사가 tools.media.audio를 사용하는 OpenClaw의 모든 위치에서 지원됨

    수신 오디오 전사에 OpenAI를 강제로 사용하려면:

    {
      tools: {
        media: {
          audio: {
            models: [
              {
                type: "provider",
                provider: "openai",
                model: "gpt-4o-transcribe",
              },
            ],
          },
        },
      },
    }
    

    공유 오디오 미디어 구성 또는 호출별 전사 요청에서 제공된 경우, 언어 및 프롬프트 힌트가 OpenAI로 전달됩니다.

    Realtime transcription

    번들된 openai Plugin은 Voice Call Plugin의 실시간 전사를 등록합니다.

    설정 Config 경로 기본값
    모델 plugins.entries.voice-call.config.streaming.providers.openai.model gpt-4o-transcribe
    언어 ...openai.language (설정되지 않음)
    프롬프트 ...openai.prompt (설정되지 않음)
    무음 지속 시간 ...openai.silenceDurationMs 800
    VAD 임계값 ...openai.vadThreshold 0.5
    API 키 ...openai.apiKey OPENAI_API_KEY로 대체
    Realtime voice

    번들된 openai Plugin은 Voice Call Plugin의 실시간 음성을 등록합니다.

    설정 Config 경로 기본값
    모델 plugins.entries.voice-call.config.realtime.providers.openai.model gpt-realtime-1.5
    음성 ...openai.voice alloy
    온도 ...openai.temperature 0.8
    VAD 임계값 ...openai.vadThreshold 0.5
    무음 지속 시간 ...openai.silenceDurationMs 500
    API 키 ...openai.apiKey OPENAI_API_KEY로 대체

    Azure OpenAI 엔드포인트

    번들된 openai 공급자는 Base URL을 재정의하여 이미지 생성을 위해 Azure OpenAI 리소스를 대상으로 지정할 수 있습니다. 이미지 생성 경로에서 OpenClaw는 models.providers.openai.baseUrl의 Azure 호스트 이름을 감지하고 자동으로 Azure의 요청 형식으로 전환합니다.

    다음과 같은 경우 Azure OpenAI를 사용하세요.

    • 이미 Azure OpenAI 구독, 할당량 또는 엔터프라이즈 계약이 있는 경우
    • Azure가 제공하는 지역별 데이터 상주 또는 규정 준수 제어가 필요한 경우
    • 기존 Azure 테넌시 내부에 트래픽을 유지하려는 경우

    구성

    번들된 openai 공급자를 통한 Azure 이미지 생성의 경우, models.providers.openai.baseUrl이 Azure 리소스를 가리키도록 하고 apiKey를 Azure OpenAI 키(OpenAI Platform 키가 아님)로 설정하세요.

    {
      models: {
        providers: {
          openai: {
            baseUrl: "https://<your-resource>.openai.azure.com",
            apiKey: "<azure-openai-api-key>",
          },
        },
      },
    }
    

    OpenClaw는 Azure 이미지 생성 경로에 대해 다음 Azure 호스트 접미사를 인식합니다.

    • *.openai.azure.com
    • *.services.ai.azure.com
    • *.cognitiveservices.azure.com

    인식된 Azure 호스트의 이미지 생성 요청에 대해 OpenClaw는 다음을 수행합니다.

    • Authorization: Bearer 대신 api-key 헤더 전송
    • 배포 범위 경로(/openai/deployments/{deployment}/...) 사용
    • 각 요청에 ?api-version=... 추가
    • Azure 이미지 생성 호출에 600초 기본 요청 제한 시간을 사용합니다. 호출별 timeoutMs 값은 여전히 이 기본값을 재정의합니다.

    다른 Base URL(공개 OpenAI, OpenAI 호환 프록시)은 표준 OpenAI 이미지 요청 형식을 유지합니다.

    API 버전

    Azure 이미지 생성 경로에 대해 특정 Azure preview 또는 GA 버전을 고정하려면 AZURE_OPENAI_API_VERSION을 설정하세요.

    export AZURE_OPENAI_API_VERSION="2024-12-01-preview"
    

    변수가 설정되지 않은 경우 기본값은 2024-12-01-preview입니다.

    모델 이름은 배포 이름입니다

    Azure OpenAI는 모델을 배포에 바인딩합니다. 번들된 openai 공급자를 통해 라우팅되는 Azure 이미지 생성 요청의 경우, OpenClaw의 model 필드는 공개 OpenAI 모델 ID가 아니라 Azure 포털에서 구성한 Azure 배포 이름이어야 합니다.

    gpt-image-2를 제공하는 gpt-image-2-prod라는 배포를 생성한 경우:

    /tool image_generate model=openai/gpt-image-2-prod prompt="A clean poster" size=1024x1024 count=1
    

    동일한 배포 이름 규칙은 번들된 openai 공급자를 통해 라우팅되는 이미지 생성 호출에도 적용됩니다.

    지역별 가용성

    Azure 이미지 생성은 현재 일부 지역에서만 사용할 수 있습니다 (예: eastus2, swedencentral, polandcentral, westus3, uaenorth). 배포를 생성하기 전에 Microsoft의 최신 지역 목록을 확인하고, 해당 지역에서 특정 모델이 제공되는지 확인하세요.

    매개변수 차이

    Azure OpenAI와 공개 OpenAI는 항상 동일한 이미지 매개변수를 허용하지는 않습니다. Azure는 공개 OpenAI가 허용하는 옵션(예: gpt-image-2의 특정 background 값)을 거부하거나, 특정 모델 버전에서만 노출할 수 있습니다. 이러한 차이는 OpenClaw가 아니라 Azure와 기반 모델에서 비롯됩니다. Azure 요청이 검증 오류로 실패하면 Azure 포털에서 특정 배포 및 API 버전이 지원하는 매개변수 집합을 확인하세요.

    고급 구성

    Transport (WebSocket vs SSE)

    OpenClaw는 openai/*에 대해 WebSocket 우선, SSE 대체("auto")를 사용합니다.

    "auto" 모드에서 OpenClaw는:

    • SSE로 대체하기 전에 초기 WebSocket 실패를 한 번 재시도합니다
    • 실패 후 WebSocket을 약 60초 동안 저하 상태로 표시하고 냉각 시간 동안 SSE를 사용합니다
    • 재시도 및 재연결을 위해 안정적인 세션 및 턴 식별 헤더를 첨부합니다
    • 전송 변형 간 사용량 카운터(input_tokens / prompt_tokens)를 정규화합니다
    동작
    "auto" (기본값) WebSocket 우선, SSE 대체
    "sse" SSE만 강제
    "websocket" WebSocket만 강제
    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": {
              params: { transport: "auto" },
            },
          },
        },
      },
    }
    

    관련 OpenAI 문서:

    WebSocket 준비

    OpenClaw는 첫 턴 지연 시간을 줄이기 위해 기본적으로 openai/*에 WebSocket 준비를 활성화합니다.

    // Disable warm-up
    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": {
              params: { openaiWsWarmup: false },
            },
          },
        },
      },
    }
    
    빠른 모드

    OpenClaw는 openai/*에 공유 빠른 모드 토글을 제공합니다.

    • 채팅/UI: /fast status|on|off
    • 설정: agents.defaults.models["<provider>/<model>"].params.fastMode

    활성화하면 OpenClaw는 빠른 모드를 OpenAI 우선 처리(service_tier = "priority")에 매핑합니다. 기존 service_tier 값은 유지되며, 빠른 모드는 reasoning 또는 text.verbosity를 다시 쓰지 않습니다.

    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": { params: { fastMode: true } },
          },
        },
      },
    }
    
    우선 처리(service_tier)

    OpenAI의 API는 service_tier를 통해 우선 처리를 제공합니다. OpenClaw에서 모델별로 설정하세요.

    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": { params: { serviceTier: "priority" } },
          },
        },
      },
    }
    

    지원되는 값: auto, default, flex, priority.

    서버 측 Compaction(Responses API)

    직접 OpenAI Responses 모델(api.openai.comopenai/*)의 경우, OpenAI Plugin의 Pi 하니스 스트림 래퍼가 서버 측 Compaction을 자동으로 활성화합니다.

    • store: true를 강제합니다(모델 호환성이 supportsStore: false를 설정하지 않은 경우)
    • context_management: [{ type: "compaction", compact_threshold: ... }]를 삽입합니다
    • 기본 compact_threshold: contextWindow의 70%(사용할 수 없으면 80000)

    이는 기본 제공 Pi 하니스 경로와 임베디드 실행에서 사용되는 OpenAI 제공자 훅에 적용됩니다. 네이티브 Codex 앱 서버 하니스는 Codex를 통해 자체 컨텍스트를 관리하며 agents.defaults.agentRuntime.id로 별도 구성됩니다.

    명시적으로 활성화

    Azure OpenAI Responses 같은 호환 엔드포인트에 유용합니다.

    {
      agents: {
        defaults: {
          models: {
            "azure-openai-responses/gpt-5.5": {
              params: { responsesServerCompaction: true },
            },
          },
        },
      },
    }
    

    사용자 지정 임계값

    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": {
              params: {
                responsesServerCompaction: true,
                responsesCompactThreshold: 120000,
              },
            },
          },
        },
      },
    }
    

    비활성화

    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": {
              params: { responsesServerCompaction: false },
            },
          },
        },
      },
    }
    
    엄격한 에이전트형 GPT 모드

    openai/*의 GPT-5 계열 실행에서 OpenClaw는 더 엄격한 임베디드 실행 계약을 사용할 수 있습니다.

    {
      agents: {
        defaults: {
          embeddedPi: { executionContract: "strict-agentic" },
        },
      },
    }
    

    strict-agentic을 사용하면 OpenClaw는 다음을 수행합니다.

    • 도구 작업을 사용할 수 있을 때 계획만 있는 턴을 더 이상 성공적인 진행으로 간주하지 않습니다
    • 즉시 실행 지시와 함께 턴을 다시 시도합니다
    • 상당한 작업에는 update_plan을 자동으로 활성화합니다
    • 모델이 계속 계획만 하고 실행하지 않으면 명시적인 차단 상태를 표시합니다
    네이티브 경로와 OpenAI 호환 경로

    OpenClaw는 직접 OpenAI, Codex, Azure OpenAI 엔드포인트를 일반 OpenAI 호환 /v1 프록시와 다르게 처리합니다.

    네이티브 경로(openai/*, Azure OpenAI):

    • OpenAI none 노력을 지원하는 모델에만 reasoning: { effort: "none" }을 유지합니다
    • reasoning.effort: "none"을 거부하는 모델 또는 프록시에서는 비활성화된 reasoning을 생략합니다
    • 도구 스키마를 기본적으로 엄격 모드로 설정합니다
    • 검증된 네이티브 호스트에만 숨겨진 출처 표시 헤더를 첨부합니다
    • OpenAI 전용 요청 구성(service_tier, store, reasoning 호환성, 프롬프트 캐시 힌트)을 유지합니다

    프록시/호환 경로:

    • 더 느슨한 호환 동작을 사용합니다
    • 네이티브가 아닌 openai-completions 페이로드에서 Completions store를 제거합니다
    • OpenAI 호환 Completions 프록시를 위한 고급 params.extra_body/params.extraBody 패스스루 JSON을 허용합니다
    • vLLM 같은 OpenAI 호환 Completions 프록시에 params.chat_template_kwargs를 허용합니다
    • 엄격한 도구 스키마나 네이티브 전용 헤더를 강제하지 않습니다

    Azure OpenAI는 네이티브 전송과 호환 동작을 사용하지만 숨겨진 출처 표시 헤더는 받지 않습니다.

    관련 항목