{
  "aboutHtml": "<p>GPT-4o Transcribe는 GPT-4o를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받고 인식한 텍스트를 출력합니다. GPT-4o Mini Transcribe 버전 및 화자 레이블 지정에 특화된 GPT-4o Transcribe Diarize와 구분됩니다. 이 프로필로 발화 내용을 충실하게 글로 기록하고, 검토와 이후 편집을 위해 원본 녹음을 보관하세요.</p><h4>파일 입력과 긴 자료 준비하기</h4><p>OpenAI의 전사 가이드는 최대 25 MB의 업로드를 문서화합니다. 현재 엔드포인트 참조 문서는 FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV, WebM을 입력받으며, 확장자가 있는 파일명과 적절한 콘텐츠 유형 등 형식을 식별하는 파일 메타데이터를 권장합니다. 더 큰 녹음에는 압축하거나 25 MB 이하의 부분으로 순서에 맞게 나누는 방법이 개발사의 긴 입력 지침에 부합합니다. 문장 중간에서 나누지 말고 전체 녹음에서 각 부분의 위치를 유지하세요.</p><p>인터뷰에는 각 입력 파일을 해당 녹음과 그 파일이 다루는 구간에 연결합니다. 기술 발표에는 관련 제품명, 약어, 전문 용어를 맥락으로 준비한 뒤 화자가 실제로 말한 내용과 표기를 대조하세요. 수치가 포함된 녹음 설명은 글로 된 절차로 바꾸기 전에 전사와 원본을 함께 검토합니다. 먼저 필요한 산출물은 발화를 인식한 텍스트이며, 요약 보고서나 번역 문서는 그 텍스트에서 별도 단계로 만들 수 있습니다.</p><h4>녹음에 고유한 프롬프트와 언어 선택</h4><p>개발사 가이드는 프롬프트 지원 대상에 GPT-4o Transcribe를 명시적으로 포함합니다. 프롬프트는 올바른 표기, 이전 구간의 맥락, 문장 부호, 대소문자, 군더더기 말, 표기 체계에 대한 선호를 제공할 수 있습니다. 참조 문서는 프롬프트가 녹음의 언어와 일치해야 한다고 명시합니다. 주제와 어휘에 관한 짧고 관련성 있는 설명은 발화하지 않은 용어를 필수 출력으로 취급하지 않으면서 전사에 유용한 맥락을 제공합니다.</p><p>이 프로필은 ISO 639-1 형식으로 문서화된 단수형 language 언어 힌트를 지원합니다. 실제 입력 언어를 제공하면 인식에 도움이 될 수 있습니다. GPT Transcribe의 새로운 keywords 필드와 복수형 languages 필드는 별도로 명명된 그 모델에 속하므로 GPT-4o Transcribe에도 있다고 가정해서는 안 됩니다. 언어 설정을 전사할 발화에 맞추고, 이후 번역이나 문체 수정 전에 원래 표현을 보존하세요.</p><h4>결과 형식, 확률, 특수 출력</h4><p>현재 엔드포인트 참조 문서는 GPT-4o Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 결과에는 인식한 텍스트가 포함되며, 이 JSON 형식에서 토큰 로그 확률을 선택적으로 요청할 수 있습니다. 확률 데이터는 모델의 토큰 선택을 설명합니다. 어떤 구간을 확인할지 판단하는 데 참고할 수 있지만, 어려운 이름, 숫자, 구절을 전사가 재현하는지는 오디오와 비교해 확인해야 합니다.</p><p>표준 프로필의 JSON 결과는 기본 자막 형식, 상세한 단어 타임스탬프, 화자 배정을 제공하지 않습니다. OpenAI는 이러한 출력이 필요할 때 다른 모델·형식 선택지를 문서화하며, GPT-4o Transcribe Diarize는 별도의 화자 레이블 지정 버전입니다. 자막 작업에는 확인한 전사를 적절한 시간 지정 단계에 사용할 수 있도록 보관하세요. 대화에서는 전사 문단의 주제나 목소리가 바뀌는 것처럼 보인다는 이유만으로 화자 이름을 만들어서는 안 됩니다.</p><h4>완료된 파일의 결과 스트리밍</h4><p>OpenAI의 음성 인식 가이드는 기존 GPT-4o Transcribe 통합이 파일 스트리밍을 지원한다고 설명합니다. 애플리케이션은 먼저 녹음을 제공한 뒤 녹음이 처리되는 동안 전사 텍스트를 받고 완료된 결과를 보관합니다. 이는 완료된 녹음의 전사를 스트리밍하는 것이며, 마이크 오디오가 도착하는 대로 입력받는 것이 아닙니다. 해당 모델 카드에는 전사 및 Realtime 엔드포인트 계열도 명시되어 있습니다. 모델별 세션 동작은 이 프로필에 연결해야 하며 새로운 연속 스트리밍 모델에서 가져와서는 안 됩니다.</p><h4>모델 한도와 최종 산출물 확인</h4><p>현재 GPT-4o Transcribe 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이 토큰 한도는 고정된 오디오 시간이 아니며 파일 전사 준비 규칙을 대체하지 않습니다. 긴 녹음에는 원본 순서와 관련된 앞부분의 맥락을 유지하고, 완료된 텍스트가 의도한 각 구간의 끝까지 도달하는지 확인하세요.</p><p>유용한 최종 전사는 검색 가능한 인터뷰 자료, 기술 문서의 원본, 이후 자막 작업 흐름에 사용할 문구가 될 수 있습니다. 불확실한 어휘, 수량, 문장 부호, 억양, 겹치는 발화를 녹음과 대조하세요. 인식한 텍스트와 이후 수정·요약을 구분하고 주변 작업 흐름의 식별자를 통해 원본과의 연결을 유지합니다. 모델은 글로 된 기록을 제공하며, 세심한 입력 준비와 원본 검토가 그 기록이 다음 용도에 적합한지를 결정합니다.</p>",
  "aboutText": "GPT-4o Transcribe는 GPT-4o를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받고 인식한 텍스트를 출력합니다. GPT-4o Mini Transcribe 버전 및 화자 레이블 지정에 특화된 GPT-4o Transcribe Diarize와 구분됩니다. 이 프로필로 발화 내용을 충실하게 글로 기록하고, 검토와 이후 편집을 위해 원본 녹음을 보관하세요.\n\n### 파일 입력과 긴 자료 준비하기\n\nOpenAI의 전사 가이드는 최대 25 MB의 업로드를 문서화합니다. 현재 엔드포인트 참조 문서는 FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV, WebM을 입력받으며, 확장자가 있는 파일명과 적절한 콘텐츠 유형 등 형식을 식별하는 파일 메타데이터를 권장합니다. 더 큰 녹음에는 압축하거나 25 MB 이하의 부분으로 순서에 맞게 나누는 방법이 개발사의 긴 입력 지침에 부합합니다. 문장 중간에서 나누지 말고 전체 녹음에서 각 부분의 위치를 유지하세요.\n\n인터뷰에는 각 입력 파일을 해당 녹음과 그 파일이 다루는 구간에 연결합니다. 기술 발표에는 관련 제품명, 약어, 전문 용어를 맥락으로 준비한 뒤 화자가 실제로 말한 내용과 표기를 대조하세요. 수치가 포함된 녹음 설명은 글로 된 절차로 바꾸기 전에 전사와 원본을 함께 검토합니다. 먼저 필요한 산출물은 발화를 인식한 텍스트이며, 요약 보고서나 번역 문서는 그 텍스트에서 별도 단계로 만들 수 있습니다.\n\n### 녹음에 고유한 프롬프트와 언어 선택\n\n개발사 가이드는 프롬프트 지원 대상에 GPT-4o Transcribe를 명시적으로 포함합니다. 프롬프트는 올바른 표기, 이전 구간의 맥락, 문장 부호, 대소문자, 군더더기 말, 표기 체계에 대한 선호를 제공할 수 있습니다. 참조 문서는 프롬프트가 녹음의 언어와 일치해야 한다고 명시합니다. 주제와 어휘에 관한 짧고 관련성 있는 설명은 발화하지 않은 용어를 필수 출력으로 취급하지 않으면서 전사에 유용한 맥락을 제공합니다.\n\n이 프로필은 ISO 639-1 형식으로 문서화된 단수형 language 언어 힌트를 지원합니다. 실제 입력 언어를 제공하면 인식에 도움이 될 수 있습니다. GPT Transcribe의 새로운 keywords 필드와 복수형 languages 필드는 별도로 명명된 그 모델에 속하므로 GPT-4o Transcribe에도 있다고 가정해서는 안 됩니다. 언어 설정을 전사할 발화에 맞추고, 이후 번역이나 문체 수정 전에 원래 표현을 보존하세요.\n\n### 결과 형식, 확률, 특수 출력\n\n현재 엔드포인트 참조 문서는 GPT-4o Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 결과에는 인식한 텍스트가 포함되며, 이 JSON 형식에서 토큰 로그 확률을 선택적으로 요청할 수 있습니다. 확률 데이터는 모델의 토큰 선택을 설명합니다. 어떤 구간을 확인할지 판단하는 데 참고할 수 있지만, 어려운 이름, 숫자, 구절을 전사가 재현하는지는 오디오와 비교해 확인해야 합니다.\n\n표준 프로필의 JSON 결과는 기본 자막 형식, 상세한 단어 타임스탬프, 화자 배정을 제공하지 않습니다. OpenAI는 이러한 출력이 필요할 때 다른 모델·형식 선택지를 문서화하며, GPT-4o Transcribe Diarize는 별도의 화자 레이블 지정 버전입니다. 자막 작업에는 확인한 전사를 적절한 시간 지정 단계에 사용할 수 있도록 보관하세요. 대화에서는 전사 문단의 주제나 목소리가 바뀌는 것처럼 보인다는 이유만으로 화자 이름을 만들어서는 안 됩니다.\n\n### 완료된 파일의 결과 스트리밍\n\nOpenAI의 음성 인식 가이드는 기존 GPT-4o Transcribe 통합이 파일 스트리밍을 지원한다고 설명합니다. 애플리케이션은 먼저 녹음을 제공한 뒤 녹음이 처리되는 동안 전사 텍스트를 받고 완료된 결과를 보관합니다. 이는 완료된 녹음의 전사를 스트리밍하는 것이며, 마이크 오디오가 도착하는 대로 입력받는 것이 아닙니다. 해당 모델 카드에는 전사 및 Realtime 엔드포인트 계열도 명시되어 있습니다. 모델별 세션 동작은 이 프로필에 연결해야 하며 새로운 연속 스트리밍 모델에서 가져와서는 안 됩니다.\n\n### 모델 한도와 최종 산출물 확인\n\n현재 GPT-4o Transcribe 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이 토큰 한도는 고정된 오디오 시간이 아니며 파일 전사 준비 규칙을 대체하지 않습니다. 긴 녹음에는 원본 순서와 관련된 앞부분의 맥락을 유지하고, 완료된 텍스트가 의도한 각 구간의 끝까지 도달하는지 확인하세요.\n\n유용한 최종 전사는 검색 가능한 인터뷰 자료, 기술 문서의 원본, 이후 자막 작업 흐름에 사용할 문구가 될 수 있습니다. 불확실한 어휘, 수량, 문장 부호, 억양, 겹치는 발화를 녹음과 대조하세요. 인식한 텍스트와 이후 수정·요약을 구분하고 주변 작업 흐름의 식별자를 통해 원본과의 연결을 유지합니다. 모델은 글로 된 기록을 제공하며, 세심한 입력 준비와 원본 검토가 그 기록이 다음 용도에 적합한지를 결정합니다.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "238155fd3ad06eb196ffc8e2879693aab603aff9b20c2b86097fcd060fe28b1c",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ko",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">O</span><h2 id=\"sheet-title\">OpenAI: GPT-4o Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"닫기\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-4o-transcribe</code><button type=\"button\" id=\"copy-id\">ID 복사</button></div><nav class=\"card-jump-nav\" aria-label=\"모델 카드 섹션\"><button type=\"button\" data-card-jump=\"overview\">시작하기</button><button type=\"button\" data-card-jump=\"methods\">입력 및 메서드</button><button type=\"button\" data-card-jump=\"pricing\">요금</button><button type=\"button\" data-card-jump=\"examples\">예제</button><button type=\"button\" data-card-jump=\"results\">결과</button><button type=\"button\" data-card-jump=\"aliases\">별칭</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API 메서드\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-transcribe\">음성 인식</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">시작하기</h3><p class=\"mdesc-full\">GPT-4o Transcribe는 OpenAI의 GPT-4o 음성 인식 기능으로 오디오를 텍스트로 변환합니다. 맥락을 제공하는 프롬프트, 입력 언어 힌트, JSON 전사, 파일 출력 스트리밍을 지원하며, 불확실한 표현을 검토하기 위한 토큰 로그 확률을 선택적으로 반환할 수 있습니다.</p><dl class=\"card-io\" data-card-io><div><dt>허용 입력</dt><dd>오디오</dd></div><div><dt>결과</dt><dd>텍스트</dd></div></dl><details class=\"card-about\"><summary>모델 소개</summary><p class=\"note-s\" data-model-method-boundary>이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.</p><div class=\"mabout\" id=\"m-about\"><p>GPT-4o Transcribe는 GPT-4o를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받고 인식한 텍스트를 출력합니다. GPT-4o Mini Transcribe 버전 및 화자 레이블 지정에 특화된 GPT-4o Transcribe Diarize와 구분됩니다. 이 프로필로 발화 내용을 충실하게 글로 기록하고, 검토와 이후 편집을 위해 원본 녹음을 보관하세요.</p><h4>파일 입력과 긴 자료 준비하기</h4><p>OpenAI의 전사 가이드는 최대 25 MB의 업로드를 문서화합니다. 현재 엔드포인트 참조 문서는 FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV, WebM을 입력받으며, 확장자가 있는 파일명과 적절한 콘텐츠 유형 등 형식을 식별하는 파일 메타데이터를 권장합니다. 더 큰 녹음에는 압축하거나 25 MB 이하의 부분으로 순서에 맞게 나누는 방법이 개발사의 긴 입력 지침에 부합합니다. 문장 중간에서 나누지 말고 전체 녹음에서 각 부분의 위치를 유지하세요.</p><p>인터뷰에는 각 입력 파일을 해당 녹음과 그 파일이 다루는 구간에 연결합니다. 기술 발표에는 관련 제품명, 약어, 전문 용어를 맥락으로 준비한 뒤 화자가 실제로 말한 내용과 표기를 대조하세요. 수치가 포함된 녹음 설명은 글로 된 절차로 바꾸기 전에 전사와 원본을 함께 검토합니다. 먼저 필요한 산출물은 발화를 인식한 텍스트이며, 요약 보고서나 번역 문서는 그 텍스트에서 별도 단계로 만들 수 있습니다.</p><h4>녹음에 고유한 프롬프트와 언어 선택</h4><p>개발사 가이드는 프롬프트 지원 대상에 GPT-4o Transcribe를 명시적으로 포함합니다. 프롬프트는 올바른 표기, 이전 구간의 맥락, 문장 부호, 대소문자, 군더더기 말, 표기 체계에 대한 선호를 제공할 수 있습니다. 참조 문서는 프롬프트가 녹음의 언어와 일치해야 한다고 명시합니다. 주제와 어휘에 관한 짧고 관련성 있는 설명은 발화하지 않은 용어를 필수 출력으로 취급하지 않으면서 전사에 유용한 맥락을 제공합니다.</p><p>이 프로필은 ISO 639-1 형식으로 문서화된 단수형 language 언어 힌트를 지원합니다. 실제 입력 언어를 제공하면 인식에 도움이 될 수 있습니다. GPT Transcribe의 새로운 keywords 필드와 복수형 languages 필드는 별도로 명명된 그 모델에 속하므로 GPT-4o Transcribe에도 있다고 가정해서는 안 됩니다. 언어 설정을 전사할 발화에 맞추고, 이후 번역이나 문체 수정 전에 원래 표현을 보존하세요.</p><h4>결과 형식, 확률, 특수 출력</h4><p>현재 엔드포인트 참조 문서는 GPT-4o Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 결과에는 인식한 텍스트가 포함되며, 이 JSON 형식에서 토큰 로그 확률을 선택적으로 요청할 수 있습니다. 확률 데이터는 모델의 토큰 선택을 설명합니다. 어떤 구간을 확인할지 판단하는 데 참고할 수 있지만, 어려운 이름, 숫자, 구절을 전사가 재현하는지는 오디오와 비교해 확인해야 합니다.</p><p>표준 프로필의 JSON 결과는 기본 자막 형식, 상세한 단어 타임스탬프, 화자 배정을 제공하지 않습니다. OpenAI는 이러한 출력이 필요할 때 다른 모델·형식 선택지를 문서화하며, GPT-4o Transcribe Diarize는 별도의 화자 레이블 지정 버전입니다. 자막 작업에는 확인한 전사를 적절한 시간 지정 단계에 사용할 수 있도록 보관하세요. 대화에서는 전사 문단의 주제나 목소리가 바뀌는 것처럼 보인다는 이유만으로 화자 이름을 만들어서는 안 됩니다.</p><h4>완료된 파일의 결과 스트리밍</h4><p>OpenAI의 음성 인식 가이드는 기존 GPT-4o Transcribe 통합이 파일 스트리밍을 지원한다고 설명합니다. 애플리케이션은 먼저 녹음을 제공한 뒤 녹음이 처리되는 동안 전사 텍스트를 받고 완료된 결과를 보관합니다. 이는 완료된 녹음의 전사를 스트리밍하는 것이며, 마이크 오디오가 도착하는 대로 입력받는 것이 아닙니다. 해당 모델 카드에는 전사 및 Realtime 엔드포인트 계열도 명시되어 있습니다. 모델별 세션 동작은 이 프로필에 연결해야 하며 새로운 연속 스트리밍 모델에서 가져와서는 안 됩니다.</p><h4>모델 한도와 최종 산출물 확인</h4><p>현재 GPT-4o Transcribe 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이 토큰 한도는 고정된 오디오 시간이 아니며 파일 전사 준비 규칙을 대체하지 않습니다. 긴 녹음에는 원본 순서와 관련된 앞부분의 맥락을 유지하고, 완료된 텍스트가 의도한 각 구간의 끝까지 도달하는지 확인하세요.</p><p>유용한 최종 전사는 검색 가능한 인터뷰 자료, 기술 문서의 원본, 이후 자막 작업 흐름에 사용할 문구가 될 수 있습니다. 불확실한 어휘, 수량, 문장 부호, 억양, 겹치는 발화를 녹음과 대조하세요. 인식한 텍스트와 이후 수정·요약을 구분하고 주변 작업 흐름의 식별자를 통해 원본과의 연결을 유지합니다. 모델은 글로 된 기록을 제공하며, 세심한 입력 준비와 원본 검토가 그 기록이 다음 용도에 적합한지를 결정합니다.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot에서 사용 가능 · 입력 및 메서드</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · 음성 전사</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>입력</dt><dd><code>audio</code></dd></div><div><dt>출력</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>필드</th><th>유형</th><th>요건</th><th>값과 한도</th><th>기본값</th></tr></thead><tbody><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>필수</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>openai/gpt-4o-transcribe</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>object</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>필수</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>메서드 매개변수와 수명 주기</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>매개변수</th><th>명세</th></tr></thead><tbody><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>content_type</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>application/json</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>required</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>model, input_audio</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>material_types</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>audio</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>material_conditions</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>이 예제는 비어 있지 않은 실제 PCM WAV 파일을 읽고, 파일의 전체 바이트를 base64로 인코딩한 다음 input_audio.format을 wav로 전송합니다.</td></tr></tbody></table></div><p>수명 주기: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · 기존 소유 미디어 기록의 정확한 task_id</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">요금</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.</p><dl data-price-conditions><dt>빠른 모드</dt><dd>미지정 <span class=\"note-s\">빠른 모드를 선택한 경우</span></dd><dt>Flex 모드</dt><dd>미지정 <span class=\"note-s\">flex 모드를 선택한 경우</span></dd><dt>최대 추론 수준</dt><dd>미지정 <span class=\"note-s\">최대 추론 수준에 default 조정값을 적용하는 경우</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot 요금</h4><h4>설정별 가격</h4><p class=\"note-s\">각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>설정</th><th>요금표</th><th>과금 단위</th><th>요금</th></tr></thead><tbody><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>기본 토큰 요금</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>기본 요금</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>—</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>입력 · 입력 토큰</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>출력 · 출력 토큰</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 읽기</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 쓰기</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 쓰기, 1시간</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>입력 토큰</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>/ 1K 토큰</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>입력</span> <b>$0.005</b> <span class=\"price-unit\">/ 1K 토큰</span></div></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>출력 토큰</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>/ 1K 토큰</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>출력</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K 토큰</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. <a href=\"/docs/ko/billing/reserve/\">금액 확보와 정산 방식 →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">요청 예제</h3><h4>Ailoot Ultra · 음성 전사</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"코드 예제 형식\"><button class=\"cg-tab\" id=\"model-code-2049-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2049-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · 실제 WAV 파일과 원본 결과 전체</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"코드 복사\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2049-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2049-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;openai/gpt-4o-transcribe&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">결과 수신 및 저장</h3><h4>Ailoot Ultra · 음성 전사</h4><p class=\"note-s\">원본 응답 본문 전체, 상태 및 전달된 헤더입니다. 이 핸들러는 공통 JSON 구조, 텍스트 필드 또는 작업 바깥 구조를 추가하지 않습니다.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>완료된 결과 모두 보관</h5><p class=\"note-s\">반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.</p><p class=\"note-s\">전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>원래 응답을 확인해야 할 경우</h5><p class=\"note-s\">실제 X-Client-Request-ID와 응답 전체를 보존하세요. 원래 소유 자산과 해당 자산의 정확한 서명된 콘텐츠 URL을 조회하세요. 생성 여부가 불확실한 요청을 절대로 다시 제출하지 마세요.</p></div><details class=\"card-about\" data-output-fields><summary>응답 필드</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>필드</th><th>유형</th></tr></thead><tbody><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span></td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>오류와 다음 단계</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>응답</th><th>조건</th><th>다음 단계</th></tr></thead><tbody><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>JSON 본문 또는 명시적인 표준 모델 ID가 유효하지 않습니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>응답을 보존하고 표시된 요청 필드를 수정하세요.</td></tr><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>401 · <code>authentication_error</code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>Ailoot API 키가 유효하지 않습니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>사용 권한이 있는 Ailoot API 키를 사용하세요.</td></tr><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>403 · <code>permission_error</code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>이 키 그룹은 해당 메서드를 허용하지 않습니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>반환된 오류 세부 정보를 보존하세요.</td></tr><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>404 · <code>not_found_error</code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>선택한 메서드에는 허용된 경로가 없습니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>반환된 오류 세부 정보를 보존하세요.</td></tr><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>승인된 요금제에서 필요한 입력 수량 또는 상한을 확보할 수 없습니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>응답을 보존하세요. 승인된 요금제에서 요구하는 입력 표현 형식을 사용하세요.</td></tr><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>503 · <code></code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>필요한 저장소, 경로, 메서드 요금 또는 예약을 사용할 수 없습니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>원본 응답 전체를 보존하세요. 예약 여부가 불확실하다고 해서 다시 제출할 수 있는 것은 아닙니다.</td></tr><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>502 · <code>server_error</code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>원래 결과, 사용량 또는 정산을 확인해야 합니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>실제 요청 ID와 원본 응답을 보존하세요. 기존 소유 기록을 조회하고 생성을 다시 제출하지 마세요.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">별칭</h3><h4>모델 별칭</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fgpt-4o-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-transcribe</code></a></span></p><h4>메서드 경로 별칭</h4><p class=\"note-s\">위에 표시된 메서드 경로를 사용하세요.</p><h4>관련 호출용 ID</h4><p class=\"note-s\"><a href=\"#m=openai%2Fgpt-4o-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4o-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-transcribe",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON 본문 또는 명시적인 표준 모델 ID가 유효하지 않습니다.",
                "http_status": 400,
                "recovery": "응답을 보존하고 표시된 요청 필드를 수정하세요.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API 키가 유효하지 않습니다.",
                "http_status": 401,
                "recovery": "사용 권한이 있는 Ailoot API 키를 사용하세요.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "이 키 그룹은 해당 메서드를 허용하지 않습니다.",
                "http_status": 403,
                "recovery": "반환된 오류 세부 정보를 보존하세요.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "선택한 메서드에는 허용된 경로가 없습니다.",
                "http_status": 404,
                "recovery": "반환된 오류 세부 정보를 보존하세요.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "승인된 요금제에서 필요한 입력 수량 또는 상한을 확보할 수 없습니다.",
                "http_status": 422,
                "recovery": "응답을 보존하세요. 승인된 요금제에서 요구하는 입력 표현 형식을 사용하세요.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "필요한 저장소, 경로, 메서드 요금 또는 예약을 사용할 수 없습니다.",
                "http_status": 503,
                "recovery": "원본 응답 전체를 보존하세요. 예약 여부가 불확실하다고 해서 다시 제출할 수 있는 것은 아닙니다.",
                "type": null
              },
              {
                "code": null,
                "condition": "원래 결과, 사용량 또는 정산을 확인해야 합니다.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "실제 요청 ID와 원본 응답을 보존하세요. 기존 소유 기록을 조회하고 생성을 다시 제출하지 마세요.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "실제 X-Client-Request-ID와 응답 전체를 보존하세요. 원래 소유 자산과 해당 자산의 정확한 서명된 콘텐츠 URL을 조회하세요. 생성 여부가 불확실한 요청을 절대로 다시 제출하지 마세요."
            },
            "outputs": {
              "all_results": "전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "원본 응답 본문 전체, 상태 및 전달된 헤더입니다. 이 핸들러는 공통 JSON 구조, 텍스트 필드 또는 작업 바깥 구조를 추가하지 않습니다."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4o-transcribe"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/gpt-4o-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "이 예제는 비어 있지 않은 실제 PCM WAV 파일을 읽고, 파일의 전체 바이트를 base64로 인코딩한 다음 input_audio.format을 wav로 전송합니다."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "기존 소유 미디어 기록의 정확한 task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-4o-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "음성 전사",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 5e-06,
            "output_token": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.005000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000005",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ]
      }
    }
  ],
  "model_id": "openai/gpt-4o-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "d304787f0f2f7b204348c7e5e0b21379f0ce0d97518bc762b9b92428e2c095d0",
    "input_html_sha256": "dd26f55b8ebbe8da2d24e9777b144267128d356d9a02a5dc9c07b3e471490aa7",
    "private_audit_sha256": "fbc9809e8a2e2f67c8bc35c34c053cbb6476717c0a078dc41de73338ef8f8028",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ko/openai-gpt-4o-transcribe/",
    "description": "GPT-4o Transcribe는 OpenAI의 GPT-4o 음성 인식 기능으로 오디오를 텍스트로 변환합니다. 맥락을 제공하는 프롬프트, 입력 언어 힌트, JSON 전사, 파일 출력 스트리밍을 지원하며, 불확실한 표현을 검토하기 위한 토큰 로그 확률을 선택적으로 반환할 수 있습니다.",
    "locale": "ko",
    "md_url": "https://ailoot.ai/models/ko/openai-gpt-4o-transcribe/index.md",
    "title": "OpenAI: GPT-4o Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/ko/openai-gpt-4o-transcribe/"
  },
  "rawModel": {
    "about": "GPT-4o Transcribe는 GPT-4o를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받고 인식한 텍스트를 출력합니다. GPT-4o Mini Transcribe 버전 및 화자 레이블 지정에 특화된 GPT-4o Transcribe Diarize와 구분됩니다. 이 프로필로 발화 내용을 충실하게 글로 기록하고, 검토와 이후 편집을 위해 원본 녹음을 보관하세요.\n\n### 파일 입력과 긴 자료 준비하기\n\nOpenAI의 전사 가이드는 최대 25 MB의 업로드를 문서화합니다. 현재 엔드포인트 참조 문서는 FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV, WebM을 입력받으며, 확장자가 있는 파일명과 적절한 콘텐츠 유형 등 형식을 식별하는 파일 메타데이터를 권장합니다. 더 큰 녹음에는 압축하거나 25 MB 이하의 부분으로 순서에 맞게 나누는 방법이 개발사의 긴 입력 지침에 부합합니다. 문장 중간에서 나누지 말고 전체 녹음에서 각 부분의 위치를 유지하세요.\n\n인터뷰에는 각 입력 파일을 해당 녹음과 그 파일이 다루는 구간에 연결합니다. 기술 발표에는 관련 제품명, 약어, 전문 용어를 맥락으로 준비한 뒤 화자가 실제로 말한 내용과 표기를 대조하세요. 수치가 포함된 녹음 설명은 글로 된 절차로 바꾸기 전에 전사와 원본을 함께 검토합니다. 먼저 필요한 산출물은 발화를 인식한 텍스트이며, 요약 보고서나 번역 문서는 그 텍스트에서 별도 단계로 만들 수 있습니다.\n\n### 녹음에 고유한 프롬프트와 언어 선택\n\n개발사 가이드는 프롬프트 지원 대상에 GPT-4o Transcribe를 명시적으로 포함합니다. 프롬프트는 올바른 표기, 이전 구간의 맥락, 문장 부호, 대소문자, 군더더기 말, 표기 체계에 대한 선호를 제공할 수 있습니다. 참조 문서는 프롬프트가 녹음의 언어와 일치해야 한다고 명시합니다. 주제와 어휘에 관한 짧고 관련성 있는 설명은 발화하지 않은 용어를 필수 출력으로 취급하지 않으면서 전사에 유용한 맥락을 제공합니다.\n\n이 프로필은 ISO 639-1 형식으로 문서화된 단수형 language 언어 힌트를 지원합니다. 실제 입력 언어를 제공하면 인식에 도움이 될 수 있습니다. GPT Transcribe의 새로운 keywords 필드와 복수형 languages 필드는 별도로 명명된 그 모델에 속하므로 GPT-4o Transcribe에도 있다고 가정해서는 안 됩니다. 언어 설정을 전사할 발화에 맞추고, 이후 번역이나 문체 수정 전에 원래 표현을 보존하세요.\n\n### 결과 형식, 확률, 특수 출력\n\n현재 엔드포인트 참조 문서는 GPT-4o Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 결과에는 인식한 텍스트가 포함되며, 이 JSON 형식에서 토큰 로그 확률을 선택적으로 요청할 수 있습니다. 확률 데이터는 모델의 토큰 선택을 설명합니다. 어떤 구간을 확인할지 판단하는 데 참고할 수 있지만, 어려운 이름, 숫자, 구절을 전사가 재현하는지는 오디오와 비교해 확인해야 합니다.\n\n표준 프로필의 JSON 결과는 기본 자막 형식, 상세한 단어 타임스탬프, 화자 배정을 제공하지 않습니다. OpenAI는 이러한 출력이 필요할 때 다른 모델·형식 선택지를 문서화하며, GPT-4o Transcribe Diarize는 별도의 화자 레이블 지정 버전입니다. 자막 작업에는 확인한 전사를 적절한 시간 지정 단계에 사용할 수 있도록 보관하세요. 대화에서는 전사 문단의 주제나 목소리가 바뀌는 것처럼 보인다는 이유만으로 화자 이름을 만들어서는 안 됩니다.\n\n### 완료된 파일의 결과 스트리밍\n\nOpenAI의 음성 인식 가이드는 기존 GPT-4o Transcribe 통합이 파일 스트리밍을 지원한다고 설명합니다. 애플리케이션은 먼저 녹음을 제공한 뒤 녹음이 처리되는 동안 전사 텍스트를 받고 완료된 결과를 보관합니다. 이는 완료된 녹음의 전사를 스트리밍하는 것이며, 마이크 오디오가 도착하는 대로 입력받는 것이 아닙니다. 해당 모델 카드에는 전사 및 Realtime 엔드포인트 계열도 명시되어 있습니다. 모델별 세션 동작은 이 프로필에 연결해야 하며 새로운 연속 스트리밍 모델에서 가져와서는 안 됩니다.\n\n### 모델 한도와 최종 산출물 확인\n\n현재 GPT-4o Transcribe 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이 토큰 한도는 고정된 오디오 시간이 아니며 파일 전사 준비 규칙을 대체하지 않습니다. 긴 녹음에는 원본 순서와 관련된 앞부분의 맥락을 유지하고, 완료된 텍스트가 의도한 각 구간의 끝까지 도달하는지 확인하세요.\n\n유용한 최종 전사는 검색 가능한 인터뷰 자료, 기술 문서의 원본, 이후 자막 작업 흐름에 사용할 문구가 될 수 있습니다. 불확실한 어휘, 수량, 문장 부호, 억양, 겹치는 발화를 녹음과 대조하세요. 인식한 텍스트와 이후 수정·요약을 구분하고 주변 작업 흐름의 식별자를 통해 원본과의 연결을 유지합니다. 모델은 글로 된 기록을 제공하며, 세심한 입력 준비와 원본 검토가 그 기록이 다음 용도에 적합한지를 결정합니다.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 128000,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.005000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000005",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "구성의 전체 요금 정보는 상세 정보에서 확인할 수 있습니다."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "openai/gpt-4o-transcribe",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON 본문 또는 명시적인 표준 모델 ID가 유효하지 않습니다.",
                "http_status": 400,
                "recovery": "응답을 보존하고 표시된 요청 필드를 수정하세요.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API 키가 유효하지 않습니다.",
                "http_status": 401,
                "recovery": "사용 권한이 있는 Ailoot API 키를 사용하세요.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "이 키 그룹은 해당 메서드를 허용하지 않습니다.",
                "http_status": 403,
                "recovery": "반환된 오류 세부 정보를 보존하세요.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "선택한 메서드에는 허용된 경로가 없습니다.",
                "http_status": 404,
                "recovery": "반환된 오류 세부 정보를 보존하세요.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "승인된 요금제에서 필요한 입력 수량 또는 상한을 확보할 수 없습니다.",
                "http_status": 422,
                "recovery": "응답을 보존하세요. 승인된 요금제에서 요구하는 입력 표현 형식을 사용하세요.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "필요한 저장소, 경로, 메서드 요금 또는 예약을 사용할 수 없습니다.",
                "http_status": 503,
                "recovery": "원본 응답 전체를 보존하세요. 예약 여부가 불확실하다고 해서 다시 제출할 수 있는 것은 아닙니다.",
                "type": null
              },
              {
                "code": null,
                "condition": "원래 결과, 사용량 또는 정산을 확인해야 합니다.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "실제 요청 ID와 원본 응답을 보존하세요. 기존 소유 기록을 조회하고 생성을 다시 제출하지 마세요.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "실제 X-Client-Request-ID와 응답 전체를 보존하세요. 원래 소유 자산과 해당 자산의 정확한 서명된 콘텐츠 URL을 조회하세요. 생성 여부가 불확실한 요청을 절대로 다시 제출하지 마세요."
            },
            "outputs": {
              "all_results": "전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "원본 응답 본문 전체, 상태 및 전달된 헤더입니다. 이 핸들러는 공통 JSON 구조, 텍스트 필드 또는 작업 바깥 구조를 추가하지 않습니다."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4o-transcribe"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/gpt-4o-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "이 예제는 비어 있지 않은 실제 PCM WAV 파일을 읽고, 파일의 전체 바이트를 base64로 인코딩한 다음 input_audio.format을 wav로 전송합니다."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "기존 소유 미디어 기록의 정확한 task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-4o-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "음성 전사",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 5e-06,
            "output_token": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.005000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000005",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.005000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000005",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/gpt-4o-transcribe",
        "request_model_id": "openai/gpt-4o-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT-4o Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.02,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.02,
      "varies": true
    },
    "short": "GPT-4o Transcribe는 OpenAI의 GPT-4o 음성 인식 기능으로 오디오를 텍스트로 변환합니다. 맥락을 제공하는 프롬프트, 입력 언어 힌트, JSON 전사, 파일 출력 스트리밍을 지원하며, 불확실한 표현을 검토하기 위한 토큰 로그 확률을 선택적으로 반환할 수 있습니다."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "GPT-4o Transcribe는 OpenAI의 GPT-4o 음성 인식 기능으로 오디오를 텍스트로 변환합니다. 맥락을 제공하는 프롬프트, 입력 언어 힌트, JSON 전사, 파일 출력 스트리밍을 지원하며, 불확실한 표현을 검토하기 위한 토큰 로그 확률을 선택적으로 반환할 수 있습니다.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "a688ff28bcc7da32e782ef8da56218d4349567f4735c6ca450fc8be98779ae23",
    "renderer_sha256": "6825a317438b70ab0939441dcebefece462384e77f7e96cce899605c4b208caa"
  },
  "sourceRevision": "c0dd1eff40c171e8c7ee30f3c9f4e9a851ec5639e1bfe7aea9f5c0e0fb4216f4"
}
