{
  "aboutHtml": "<p>GPT-4o Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받아 인식한 텍스트를 출력합니다. GPT-4o를 사용하는 GPT-4o Transcribe 및 별도의 키워드·다국어 힌트 필드를 갖춘 새로운 GPT Transcribe 프로필과 구분되는 모델입니다. 여기서 유용한 산출물은 검색, 검토, 이후 콘텐츠 처리 단계를 위해 준비한 녹음의 원래 발화 전사입니다.</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 Mini Transcribe 통합은 자유 형식 프롬프트를 지원합니다. OpenAI는 이름, 약어, 녹음별 어휘, 문장 부호, 대소문자, 군더더기 말, 선호하는 표기 체계를 위한 프롬프트를 설명합니다. 엔드포인트 참조 문서는 프롬프트가 오디오 언어와 일치해야 하며 앞선 오디오 구간의 맥락을 포함할 수 있다고 명시합니다. 전사 프롬프트를 제한 없는 채팅 지시처럼 동작하게 요청하지 말고 관련 표기나 주제에 관한 짧은 설명을 포함하세요.</p><p>이 모델의 기존 언어 힌트는 단수형 language 필드를 사용합니다. 개발사 참조 문서는 en 같은 ISO 639-1 입력 언어 코드를 명시합니다. 별도의 keywords 필드와 복수형 languages 필드는 GPT Transcribe용으로 문서화되어 있으며 이 Mini 프로필에는 포함되지 않습니다. 여러 녹음에는 의도한 발화 언어 설정을 각 입력과 함께 보관하고, 결과를 번역하라는 요청으로 해석하지 마세요.</p><h4>JSON 결과와 선택적인 토큰 확률</h4><p>현재 엔드포인트 참조 문서는 GPT-4o Mini Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 인식한 표현은 text 필드에 표시됩니다. 요청하면 JSON 응답에 토큰 로그 확률을 포함할 수 있습니다. 이 값은 모델의 토큰 확률을 나타내고 더 자세히 검토할 자료를 찾는 데 도움이 되지만, 이름·숫자·문장이 소리와 일치한다는 사실을 입증하지 않습니다. 의심스러운 단어를 고칠지는 녹음을 사용해 판단하세요.</p><p>일반 Mini 전사 프로필은 이 JSON 규격을 통해 기본 SRT, VTT, 상세한 단어 타임스탬프, 화자 레이블 출력을 제공하지 않습니다. OpenAI는 이러한 기능을 위한 전문 모델과 형식을 문서화합니다. 의도한 산출물이 자막 트랙이라면 텍스트 전용 결과에 자막 경계가 이미 있다고 가정하지 말고, 검토한 전사를 별도의 시간 지정 작업 흐름에 사용할 수 있도록 보관하세요.</p><h4>파일 출력 스트리밍과 문서화된 모드</h4><p>개발사의 음성 인식 가이드는 기존 GPT-4o Mini Transcribe 통합이 파일 스트리밍을 지원한다고 명시적으로 설명합니다. 완료된 녹음을 처리하는 동안 부분 전사 텍스트가 나온 뒤 최종 결과가 생성될 수 있습니다. 완료된 산출물로 최종 전사를 보관하세요. 부분 텍스트가 나타난다고 파일 작업 흐름이 실시간 마이크 오디오를 계속 입력받는 것은 아닙니다. 모델 카드는 전사 및 Realtime 엔드포인트 계열을 별도로 명시합니다. 이러한 개발사 인터페이스가 다른 전사 모델의 모든 세션 필드를 여기에 적용할 수 있다는 의미는 아닙니다.</p><h4>컨텍스트, 출력 한도, 유용한 점검</h4><p>OpenAI의 현재 모델 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이는 모델 사양 수치이며 오디오 녹음에 보편적으로 적용되는 분 단위 시간이 아닙니다. 파일 크기 규칙과 토큰 한도는 서로 다른 제약을 설명합니다. 긴 자료에는 문서화된 파일 작업 흐름에 맞춰 녹음을 준비하고, 관련 맥락을 부분 사이에 전달하며, 최종 텍스트에 원본의 끝부분이 포함되어 있는지 확인하세요.</p><p>유용한 Mini Transcribe 결과는 표현과 녹음의 관계를 보존하고 선택적인 확률 데이터와 편집상 수정을 구분합니다. 원본 오디오를 확인할 수 있는 상태로 낯선 어휘, 억양, 배경 소음, 언어 변화, 겹치는 발화를 검토하세요. 읽기 쉽게 텍스트를 수정할 때는 편집본과 인식된 전사를 구별해, 이후 사용자가 어떤 표현이 녹음에서 나왔고 어떤 표현이 준비 과정에서 바뀌었는지 알 수 있게 합니다.</p>",
  "aboutText": "GPT-4o Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받아 인식한 텍스트를 출력합니다. GPT-4o를 사용하는 GPT-4o Transcribe 및 별도의 키워드·다국어 힌트 필드를 갖춘 새로운 GPT Transcribe 프로필과 구분되는 모델입니다. 여기서 유용한 산출물은 검색, 검토, 이후 콘텐츠 처리 단계를 위해 준비한 녹음의 원래 발화 전사입니다.\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 Mini Transcribe 통합은 자유 형식 프롬프트를 지원합니다. OpenAI는 이름, 약어, 녹음별 어휘, 문장 부호, 대소문자, 군더더기 말, 선호하는 표기 체계를 위한 프롬프트를 설명합니다. 엔드포인트 참조 문서는 프롬프트가 오디오 언어와 일치해야 하며 앞선 오디오 구간의 맥락을 포함할 수 있다고 명시합니다. 전사 프롬프트를 제한 없는 채팅 지시처럼 동작하게 요청하지 말고 관련 표기나 주제에 관한 짧은 설명을 포함하세요.\n\n이 모델의 기존 언어 힌트는 단수형 language 필드를 사용합니다. 개발사 참조 문서는 en 같은 ISO 639-1 입력 언어 코드를 명시합니다. 별도의 keywords 필드와 복수형 languages 필드는 GPT Transcribe용으로 문서화되어 있으며 이 Mini 프로필에는 포함되지 않습니다. 여러 녹음에는 의도한 발화 언어 설정을 각 입력과 함께 보관하고, 결과를 번역하라는 요청으로 해석하지 마세요.\n\n### JSON 결과와 선택적인 토큰 확률\n\n현재 엔드포인트 참조 문서는 GPT-4o Mini Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 인식한 표현은 text 필드에 표시됩니다. 요청하면 JSON 응답에 토큰 로그 확률을 포함할 수 있습니다. 이 값은 모델의 토큰 확률을 나타내고 더 자세히 검토할 자료를 찾는 데 도움이 되지만, 이름·숫자·문장이 소리와 일치한다는 사실을 입증하지 않습니다. 의심스러운 단어를 고칠지는 녹음을 사용해 판단하세요.\n\n일반 Mini 전사 프로필은 이 JSON 규격을 통해 기본 SRT, VTT, 상세한 단어 타임스탬프, 화자 레이블 출력을 제공하지 않습니다. OpenAI는 이러한 기능을 위한 전문 모델과 형식을 문서화합니다. 의도한 산출물이 자막 트랙이라면 텍스트 전용 결과에 자막 경계가 이미 있다고 가정하지 말고, 검토한 전사를 별도의 시간 지정 작업 흐름에 사용할 수 있도록 보관하세요.\n\n### 파일 출력 스트리밍과 문서화된 모드\n\n개발사의 음성 인식 가이드는 기존 GPT-4o Mini Transcribe 통합이 파일 스트리밍을 지원한다고 명시적으로 설명합니다. 완료된 녹음을 처리하는 동안 부분 전사 텍스트가 나온 뒤 최종 결과가 생성될 수 있습니다. 완료된 산출물로 최종 전사를 보관하세요. 부분 텍스트가 나타난다고 파일 작업 흐름이 실시간 마이크 오디오를 계속 입력받는 것은 아닙니다. 모델 카드는 전사 및 Realtime 엔드포인트 계열을 별도로 명시합니다. 이러한 개발사 인터페이스가 다른 전사 모델의 모든 세션 필드를 여기에 적용할 수 있다는 의미는 아닙니다.\n\n### 컨텍스트, 출력 한도, 유용한 점검\n\nOpenAI의 현재 모델 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이는 모델 사양 수치이며 오디오 녹음에 보편적으로 적용되는 분 단위 시간이 아닙니다. 파일 크기 규칙과 토큰 한도는 서로 다른 제약을 설명합니다. 긴 자료에는 문서화된 파일 작업 흐름에 맞춰 녹음을 준비하고, 관련 맥락을 부분 사이에 전달하며, 최종 텍스트에 원본의 끝부분이 포함되어 있는지 확인하세요.\n\n유용한 Mini Transcribe 결과는 표현과 녹음의 관계를 보존하고 선택적인 확률 데이터와 편집상 수정을 구분합니다. 원본 오디오를 확인할 수 있는 상태로 낯선 어휘, 억양, 배경 소음, 언어 변화, 겹치는 발화를 검토하세요. 읽기 쉽게 텍스트를 수정할 때는 편집본과 인식된 전사를 구별해, 이후 사용자가 어떤 표현이 녹음에서 나왔고 어떤 표현이 준비 과정에서 바뀌었는지 알 수 있게 합니다.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "40b93840e633e3d4107002d36c837263ea3d7412fdfc37307353e029ab9207c4",
    "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 Mini 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-mini-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-mini-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 Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 오디오를 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 Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받아 인식한 텍스트를 출력합니다. GPT-4o를 사용하는 GPT-4o Transcribe 및 별도의 키워드·다국어 힌트 필드를 갖춘 새로운 GPT Transcribe 프로필과 구분되는 모델입니다. 여기서 유용한 산출물은 검색, 검토, 이후 콘텐츠 처리 단계를 위해 준비한 녹음의 원래 발화 전사입니다.</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 Mini Transcribe 통합은 자유 형식 프롬프트를 지원합니다. OpenAI는 이름, 약어, 녹음별 어휘, 문장 부호, 대소문자, 군더더기 말, 선호하는 표기 체계를 위한 프롬프트를 설명합니다. 엔드포인트 참조 문서는 프롬프트가 오디오 언어와 일치해야 하며 앞선 오디오 구간의 맥락을 포함할 수 있다고 명시합니다. 전사 프롬프트를 제한 없는 채팅 지시처럼 동작하게 요청하지 말고 관련 표기나 주제에 관한 짧은 설명을 포함하세요.</p><p>이 모델의 기존 언어 힌트는 단수형 language 필드를 사용합니다. 개발사 참조 문서는 en 같은 ISO 639-1 입력 언어 코드를 명시합니다. 별도의 keywords 필드와 복수형 languages 필드는 GPT Transcribe용으로 문서화되어 있으며 이 Mini 프로필에는 포함되지 않습니다. 여러 녹음에는 의도한 발화 언어 설정을 각 입력과 함께 보관하고, 결과를 번역하라는 요청으로 해석하지 마세요.</p><h4>JSON 결과와 선택적인 토큰 확률</h4><p>현재 엔드포인트 참조 문서는 GPT-4o Mini Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 인식한 표현은 text 필드에 표시됩니다. 요청하면 JSON 응답에 토큰 로그 확률을 포함할 수 있습니다. 이 값은 모델의 토큰 확률을 나타내고 더 자세히 검토할 자료를 찾는 데 도움이 되지만, 이름·숫자·문장이 소리와 일치한다는 사실을 입증하지 않습니다. 의심스러운 단어를 고칠지는 녹음을 사용해 판단하세요.</p><p>일반 Mini 전사 프로필은 이 JSON 규격을 통해 기본 SRT, VTT, 상세한 단어 타임스탬프, 화자 레이블 출력을 제공하지 않습니다. OpenAI는 이러한 기능을 위한 전문 모델과 형식을 문서화합니다. 의도한 산출물이 자막 트랙이라면 텍스트 전용 결과에 자막 경계가 이미 있다고 가정하지 말고, 검토한 전사를 별도의 시간 지정 작업 흐름에 사용할 수 있도록 보관하세요.</p><h4>파일 출력 스트리밍과 문서화된 모드</h4><p>개발사의 음성 인식 가이드는 기존 GPT-4o Mini Transcribe 통합이 파일 스트리밍을 지원한다고 명시적으로 설명합니다. 완료된 녹음을 처리하는 동안 부분 전사 텍스트가 나온 뒤 최종 결과가 생성될 수 있습니다. 완료된 산출물로 최종 전사를 보관하세요. 부분 텍스트가 나타난다고 파일 작업 흐름이 실시간 마이크 오디오를 계속 입력받는 것은 아닙니다. 모델 카드는 전사 및 Realtime 엔드포인트 계열을 별도로 명시합니다. 이러한 개발사 인터페이스가 다른 전사 모델의 모든 세션 필드를 여기에 적용할 수 있다는 의미는 아닙니다.</p><h4>컨텍스트, 출력 한도, 유용한 점검</h4><p>OpenAI의 현재 모델 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이는 모델 사양 수치이며 오디오 녹음에 보편적으로 적용되는 분 단위 시간이 아닙니다. 파일 크기 규칙과 토큰 한도는 서로 다른 제약을 설명합니다. 긴 자료에는 문서화된 파일 작업 흐름에 맞춰 녹음을 준비하고, 관련 맥락을 부분 사이에 전달하며, 최종 텍스트에 원본의 끝부분이 포함되어 있는지 확인하세요.</p><p>유용한 Mini Transcribe 결과는 표현과 녹음의 관계를 보존하고 선택적인 확률 데이터와 편집상 수정을 구분합니다. 원본 오디오를 확인할 수 있는 상태로 낯선 어휘, 억양, 배경 소음, 언어 변화, 겹치는 발화를 검토하세요. 읽기 쉽게 텍스트를 수정할 때는 편집본과 인식된 전사를 구별해, 이후 사용자가 어떤 표현이 녹음에서 나왔고 어떤 표현이 준비 과정에서 바뀌었는지 알 수 있게 합니다.</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-mini-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.0025</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.01</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-2046-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2046-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-2046-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2046-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-mini-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-mini-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-mini-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-mini-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-mini-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-mini-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-4o-mini-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4o-mini-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-mini-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-mini-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-mini-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-mini-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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": 2.5e-06,
            "output_token": 1e-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "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.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "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-mini-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b49f516e8c773041893c394042b558972571ba11dcfb31c7f0e64aca326cfff4",
    "input_html_sha256": "b1117a4d4dfd6eac83ac8e9cb2300135855ac0ed9abbf8da1e6d694331da80b6",
    "private_audit_sha256": "a955cf89912339188de3c053900221c3fd9af7f22eb9df85f37d4a06a739a9aa",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ko/openai-gpt-4o-mini-transcribe/",
    "description": "GPT-4o Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 오디오를 JSON 전사로 바꾸고 녹음에 고유한 텍스트 프롬프트와 파일 결과 스트리밍을 지원하며, 확인할 부분을 좁혀 전사를 검토하도록 토큰 로그 확률을 반환할 수 있습니다.",
    "locale": "ko",
    "md_url": "https://ailoot.ai/models/ko/openai-gpt-4o-mini-transcribe/index.md",
    "title": "OpenAI: GPT-4o Mini Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/ko/openai-gpt-4o-mini-transcribe/"
  },
  "rawModel": {
    "about": "GPT-4o Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 선택적인 텍스트 안내와 함께 오디오를 입력받아 인식한 텍스트를 출력합니다. GPT-4o를 사용하는 GPT-4o Transcribe 및 별도의 키워드·다국어 힌트 필드를 갖춘 새로운 GPT Transcribe 프로필과 구분되는 모델입니다. 여기서 유용한 산출물은 검색, 검토, 이후 콘텐츠 처리 단계를 위해 준비한 녹음의 원래 발화 전사입니다.\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 Mini Transcribe 통합은 자유 형식 프롬프트를 지원합니다. OpenAI는 이름, 약어, 녹음별 어휘, 문장 부호, 대소문자, 군더더기 말, 선호하는 표기 체계를 위한 프롬프트를 설명합니다. 엔드포인트 참조 문서는 프롬프트가 오디오 언어와 일치해야 하며 앞선 오디오 구간의 맥락을 포함할 수 있다고 명시합니다. 전사 프롬프트를 제한 없는 채팅 지시처럼 동작하게 요청하지 말고 관련 표기나 주제에 관한 짧은 설명을 포함하세요.\n\n이 모델의 기존 언어 힌트는 단수형 language 필드를 사용합니다. 개발사 참조 문서는 en 같은 ISO 639-1 입력 언어 코드를 명시합니다. 별도의 keywords 필드와 복수형 languages 필드는 GPT Transcribe용으로 문서화되어 있으며 이 Mini 프로필에는 포함되지 않습니다. 여러 녹음에는 의도한 발화 언어 설정을 각 입력과 함께 보관하고, 결과를 번역하라는 요청으로 해석하지 마세요.\n\n### JSON 결과와 선택적인 토큰 확률\n\n현재 엔드포인트 참조 문서는 GPT-4o Mini Transcribe가 지원하는 응답 형식으로 JSON을 명시합니다. 인식한 표현은 text 필드에 표시됩니다. 요청하면 JSON 응답에 토큰 로그 확률을 포함할 수 있습니다. 이 값은 모델의 토큰 확률을 나타내고 더 자세히 검토할 자료를 찾는 데 도움이 되지만, 이름·숫자·문장이 소리와 일치한다는 사실을 입증하지 않습니다. 의심스러운 단어를 고칠지는 녹음을 사용해 판단하세요.\n\n일반 Mini 전사 프로필은 이 JSON 규격을 통해 기본 SRT, VTT, 상세한 단어 타임스탬프, 화자 레이블 출력을 제공하지 않습니다. OpenAI는 이러한 기능을 위한 전문 모델과 형식을 문서화합니다. 의도한 산출물이 자막 트랙이라면 텍스트 전용 결과에 자막 경계가 이미 있다고 가정하지 말고, 검토한 전사를 별도의 시간 지정 작업 흐름에 사용할 수 있도록 보관하세요.\n\n### 파일 출력 스트리밍과 문서화된 모드\n\n개발사의 음성 인식 가이드는 기존 GPT-4o Mini Transcribe 통합이 파일 스트리밍을 지원한다고 명시적으로 설명합니다. 완료된 녹음을 처리하는 동안 부분 전사 텍스트가 나온 뒤 최종 결과가 생성될 수 있습니다. 완료된 산출물로 최종 전사를 보관하세요. 부분 텍스트가 나타난다고 파일 작업 흐름이 실시간 마이크 오디오를 계속 입력받는 것은 아닙니다. 모델 카드는 전사 및 Realtime 엔드포인트 계열을 별도로 명시합니다. 이러한 개발사 인터페이스가 다른 전사 모델의 모든 세션 필드를 여기에 적용할 수 있다는 의미는 아닙니다.\n\n### 컨텍스트, 출력 한도, 유용한 점검\n\nOpenAI의 현재 모델 사양에는 16,000토큰의 컨텍스트 창, 2,000토큰의 최대 출력, 2024년 6월 1일의 지식 기준일이 명시되어 있습니다. 이는 모델 사양 수치이며 오디오 녹음에 보편적으로 적용되는 분 단위 시간이 아닙니다. 파일 크기 규칙과 토큰 한도는 서로 다른 제약을 설명합니다. 긴 자료에는 문서화된 파일 작업 흐름에 맞춰 녹음을 준비하고, 관련 맥락을 부분 사이에 전달하며, 최종 텍스트에 원본의 끝부분이 포함되어 있는지 확인하세요.\n\n유용한 Mini Transcribe 결과는 표현과 녹음의 관계를 보존하고 선택적인 확률 데이터와 편집상 수정을 구분합니다. 원본 오디오를 확인할 수 있는 상태로 낯선 어휘, 억양, 배경 소음, 언어 변화, 겹치는 발화를 검토하세요. 읽기 쉽게 텍스트를 수정할 때는 편집본과 인식된 전사를 구별해, 이후 사용자가 어떤 표현이 녹음에서 나왔고 어떤 표현이 준비 과정에서 바뀌었는지 알 수 있게 합니다.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 128000,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "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.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "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-mini-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-mini-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-mini-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-mini-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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": 2.5e-06,
            "output_token": 1e-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.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000025",
                "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00001",
                "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-mini-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.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000025",
            "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.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00001",
            "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-mini-transcribe",
        "request_model_id": "openai/gpt-4o-mini-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT-4o Mini Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.01,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.01,
      "varies": true
    },
    "short": "GPT-4o Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 오디오를 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 Mini Transcribe는 GPT-4o Mini를 기반으로 하는 OpenAI의 음성 인식 모델입니다. 오디오를 JSON 전사로 바꾸고 녹음에 고유한 텍스트 프롬프트와 파일 결과 스트리밍을 지원하며, 확인할 부분을 좁혀 전사를 검토하도록 토큰 로그 확률을 반환할 수 있습니다.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "12d35ba32ae1e5be002d799677c2aa7238aff3d247feca44d98e4b855c9045a2",
    "renderer_sha256": "6825a317438b70ab0939441dcebefece462384e77f7e96cce899605c4b208caa"
  },
  "sourceRevision": "9b5b2ec8f091e1af0073493c2cd1728b126283d8b9917ff21fc0260f7f989e7b"
}
