{
  "aboutHtml": "<p>ElevenLabs Scribe v2는 녹음된 오디오의 전사와 자막 및 캡션 제작을 위한 배치 음성 인식 모델입니다. Scribe v1을 바탕으로 긴 녹음, 쉼, 어조 변화, 긴 침묵의 처리를 개선했습니다. 결과는 타이밍 정보와 선택적 화자 및 오디오 이벤트 주석이 포함된 발화의 문자 기록입니다. Scribe v2 Realtime은 별도의 실시간 전사 버전이며, 이 모델의 목적은 완성된 녹음을 처리하는 것입니다.</p><p>제조사는 언어가 전환되는 녹음을 포함해 90개 이상의 언어 인식과 자동 언어 감지를 문서화합니다. 알고 있는 언어를 힌트로 제공하면 모델이 오디오를 해석하는 데 도움이 될 수 있습니다. 명확한 녹음을 준비하고 원래 언어와 이름을 유지하며 심한 클리핑이나 발화의 세부 정보를 제거하는 불필요한 처리를 피하세요. 문서에 명시된 일반적인 입력에는 WAV, MP3, FLAC, M4A, AAC, OGG, Opus, WebM이 포함됩니다. 전사 구현에서 지원하는 입력 표현을 선택하고 검토를 위해 원본 녹음을 보존하세요.</p><p>표준 응답에는 인식된 텍스트, 감지된 언어 정보, 타이밍이 있는 단어의 순서가 포함됩니다. 단어 기록에는 시작 및 종료 시각, 화자 식별자, 인식 로그 확률이 포함될 수 있습니다. 이 정보는 자막, 검색 가능한 인터뷰, 관련 소리로 바로 이동하는 편집기에 유용합니다. 타이밍이 있는 결과를 원본 오디오와 함께 보관하세요. 예를 들어 팟캐스트에서는 편집 가능한 전사문과 단어 단위 정렬 기록을 결과물로 제공해 자막을 배치하기 전에 수정할 위치를 찾을 수 있습니다.</p><p>화자 분리는 여러 화자가 등장하는 오디오에서 누가 언제 말하는지 표시하며, 제조사는 최대 32명의 화자를 문서화합니다. 화자의 발화 순서가 중요하다면 활성화하고, 해당 정보를 알고 있다면 합리적인 화자 수를 제공하세요. 감지된 화자 라벨과 검증된 사람의 이름을 구분하세요. 인터뷰나 회의에서는 특히 목소리가 겹치거나 비슷하게 들리는 부분의 발화 전환을 녹음과 대조하세요. 라벨은 전사문을 정리하는 데 도움이 되지만 화자의 신원을 독립적으로 입증하지는 않습니다.</p><p>채널마다 화자가 한 명인 녹음은 여러 목소리가 한 채널에 섞인 녹음과 구조가 다릅니다. 제작사 인터페이스는 최대 5개 채널을 독립적으로 처리하고, 채널 인덱스가 있는 개별 전사문 또는 시간순으로 정렬된 통합 전사문을 반환할 수 있습니다. 채널 구성이 의미를 갖는다면 그대로 유지하세요. 분리된 통화 녹음을 전사 전에 합치면 화자 정보의 유용한 출처를 잃을 수 있습니다. 채널 기반 귀속은 혼합 오디오에서 추론한 화자 분리와 구분하세요. 통합 채널 응답에는 타임스탬프가 필요하며 엔터티 탐지나 마스킹을 포함할 수 없습니다.</p><p>핵심 용어 프롬프팅은 문맥을 이용해 이름, 제품 용어, 전문 어휘의 인식을 유도합니다. 현재 배치 문서는 최대 1,000개의 용어를 허용하며 각 용어는 50자 미만, 최대 5단어여야 합니다. 광범위하고 무관한 목록 대신 관련 표기를 제공하세요. 기술 인터뷰에서는 나올 가능성이 높은 제품명과 약어를 제공한 뒤 결과의 해당 타임스탬프에서 확인하세요. 핵심 용어는 인식에 가중치를 주지만 녹음에 근거가 없는데도 용어를 삽입하라는 지시는 아닙니다.</p><p>정리 작업을 적용하기 전에 전사문의 목적을 선택하세요. 원문 그대로의 기록은 발화된 표현을 유지하며, 문서에 명시된 no-verbatim 옵션은 군더더기 표현, 말하다 중단하고 다시 시작한 부분, 비유창성을 제거해 더 읽기 쉬운 결과를 만듭니다. 동적 오디오 태깅은 웃음이나 발소리 같은 비음성 이벤트를 식별할 수 있습니다. 다듬은 전사문은 자막이나 읽기용으로 유용할 수 있지만, 반복, 정정, 비음성 소리가 작업에 중요할 때 원시 기록을 별다른 표시 없이 대체해서는 안 됩니다.</p><p>제조사는 엔터티 탐지와 실험적 전사문 편집도 문서화합니다. 제작사 인터페이스에서 전사문 편집은 엔터티 탐지, 엔터티 마스킹, 다중 채널 전사와 함께 사용할 수 없습니다. 탐지된 엔터티는 전사문의 선택된 정보에 대해 구조화된 위치를 제공합니다. 선택적 엔터티 마스킹은 탐지된 텍스트를 대체 라벨로 가립니다. 엔터티 탐지에 의존하며, 마스킹을 활성화하면 엔터티 목록이 반환되지 않습니다. 마스킹은 전사 중에 일반 대체 표시, 범주 라벨, 번호가 붙은 범주 라벨을 사용해 이루어집니다. 자동 마스킹은 민감한 내용을 놓칠 수 있으므로 공유하기 전에 마스킹된 전사문을 확인하세요. 자연어 편집은 원래 결과와 함께 편집된 텍스트를 반환하며, 원래 타이밍과 화자 기록은 계속 사용할 수 있습니다. 이러한 결과물을 구분해 유지하세요. 철자를 수정하거나 문장을 재구성했다면 오디오와 정렬하거나 후속 추출에 사용하기 전에 다시 확인해야 할 수 있습니다. 이 기능들은 전사문을 처리하는 것이며, 중요한 세부 사항이 모두 정확히 인식되었음을 입증하지는 않습니다.</p><p>완성된 전사문을 위해 해당 오디오로 돌아가 이름, 숫자, 부정 표현, 화자 변화를 검토하세요. 매끄러운 텍스트만으로 품질을 판단하지 말고 조용한 구간, 겹치는 발화, 언어 전환에 주의를 기울이세요. 들리지 않는 구간을 그럴듯한 문장으로 완성하는 대신 불확실한 표현을 수정할 수 있도록 유지하세요. 유용한 결과는 의도한 용도에 필요한 타이밍과 화자 정보를 갖춘, 확인된 텍스트 기록입니다. 이후 전사문은 별도의 요약, 번역 또는 분석 단계의 입력이 될 수 있습니다.</p>",
  "aboutText": "ElevenLabs Scribe v2는 녹음된 오디오의 전사와 자막 및 캡션 제작을 위한 배치 음성 인식 모델입니다. Scribe v1을 바탕으로 긴 녹음, 쉼, 어조 변화, 긴 침묵의 처리를 개선했습니다. 결과는 타이밍 정보와 선택적 화자 및 오디오 이벤트 주석이 포함된 발화의 문자 기록입니다. Scribe v2 Realtime은 별도의 실시간 전사 버전이며, 이 모델의 목적은 완성된 녹음을 처리하는 것입니다.\n\n제조사는 언어가 전환되는 녹음을 포함해 90개 이상의 언어 인식과 자동 언어 감지를 문서화합니다. 알고 있는 언어를 힌트로 제공하면 모델이 오디오를 해석하는 데 도움이 될 수 있습니다. 명확한 녹음을 준비하고 원래 언어와 이름을 유지하며 심한 클리핑이나 발화의 세부 정보를 제거하는 불필요한 처리를 피하세요. 문서에 명시된 일반적인 입력에는 WAV, MP3, FLAC, M4A, AAC, OGG, Opus, WebM이 포함됩니다. 전사 구현에서 지원하는 입력 표현을 선택하고 검토를 위해 원본 녹음을 보존하세요.\n\n표준 응답에는 인식된 텍스트, 감지된 언어 정보, 타이밍이 있는 단어의 순서가 포함됩니다. 단어 기록에는 시작 및 종료 시각, 화자 식별자, 인식 로그 확률이 포함될 수 있습니다. 이 정보는 자막, 검색 가능한 인터뷰, 관련 소리로 바로 이동하는 편집기에 유용합니다. 타이밍이 있는 결과를 원본 오디오와 함께 보관하세요. 예를 들어 팟캐스트에서는 편집 가능한 전사문과 단어 단위 정렬 기록을 결과물로 제공해 자막을 배치하기 전에 수정할 위치를 찾을 수 있습니다.\n\n화자 분리는 여러 화자가 등장하는 오디오에서 누가 언제 말하는지 표시하며, 제조사는 최대 32명의 화자를 문서화합니다. 화자의 발화 순서가 중요하다면 활성화하고, 해당 정보를 알고 있다면 합리적인 화자 수를 제공하세요. 감지된 화자 라벨과 검증된 사람의 이름을 구분하세요. 인터뷰나 회의에서는 특히 목소리가 겹치거나 비슷하게 들리는 부분의 발화 전환을 녹음과 대조하세요. 라벨은 전사문을 정리하는 데 도움이 되지만 화자의 신원을 독립적으로 입증하지는 않습니다.\n\n채널마다 화자가 한 명인 녹음은 여러 목소리가 한 채널에 섞인 녹음과 구조가 다릅니다. 제작사 인터페이스는 최대 5개 채널을 독립적으로 처리하고, 채널 인덱스가 있는 개별 전사문 또는 시간순으로 정렬된 통합 전사문을 반환할 수 있습니다. 채널 구성이 의미를 갖는다면 그대로 유지하세요. 분리된 통화 녹음을 전사 전에 합치면 화자 정보의 유용한 출처를 잃을 수 있습니다. 채널 기반 귀속은 혼합 오디오에서 추론한 화자 분리와 구분하세요. 통합 채널 응답에는 타임스탬프가 필요하며 엔터티 탐지나 마스킹을 포함할 수 없습니다.\n\n핵심 용어 프롬프팅은 문맥을 이용해 이름, 제품 용어, 전문 어휘의 인식을 유도합니다. 현재 배치 문서는 최대 1,000개의 용어를 허용하며 각 용어는 50자 미만, 최대 5단어여야 합니다. 광범위하고 무관한 목록 대신 관련 표기를 제공하세요. 기술 인터뷰에서는 나올 가능성이 높은 제품명과 약어를 제공한 뒤 결과의 해당 타임스탬프에서 확인하세요. 핵심 용어는 인식에 가중치를 주지만 녹음에 근거가 없는데도 용어를 삽입하라는 지시는 아닙니다.\n\n정리 작업을 적용하기 전에 전사문의 목적을 선택하세요. 원문 그대로의 기록은 발화된 표현을 유지하며, 문서에 명시된 no-verbatim 옵션은 군더더기 표현, 말하다 중단하고 다시 시작한 부분, 비유창성을 제거해 더 읽기 쉬운 결과를 만듭니다. 동적 오디오 태깅은 웃음이나 발소리 같은 비음성 이벤트를 식별할 수 있습니다. 다듬은 전사문은 자막이나 읽기용으로 유용할 수 있지만, 반복, 정정, 비음성 소리가 작업에 중요할 때 원시 기록을 별다른 표시 없이 대체해서는 안 됩니다.\n\n제조사는 엔터티 탐지와 실험적 전사문 편집도 문서화합니다. 제작사 인터페이스에서 전사문 편집은 엔터티 탐지, 엔터티 마스킹, 다중 채널 전사와 함께 사용할 수 없습니다. 탐지된 엔터티는 전사문의 선택된 정보에 대해 구조화된 위치를 제공합니다. 선택적 엔터티 마스킹은 탐지된 텍스트를 대체 라벨로 가립니다. 엔터티 탐지에 의존하며, 마스킹을 활성화하면 엔터티 목록이 반환되지 않습니다. 마스킹은 전사 중에 일반 대체 표시, 범주 라벨, 번호가 붙은 범주 라벨을 사용해 이루어집니다. 자동 마스킹은 민감한 내용을 놓칠 수 있으므로 공유하기 전에 마스킹된 전사문을 확인하세요. 자연어 편집은 원래 결과와 함께 편집된 텍스트를 반환하며, 원래 타이밍과 화자 기록은 계속 사용할 수 있습니다. 이러한 결과물을 구분해 유지하세요. 철자를 수정하거나 문장을 재구성했다면 오디오와 정렬하거나 후속 추출에 사용하기 전에 다시 확인해야 할 수 있습니다. 이 기능들은 전사문을 처리하는 것이며, 중요한 세부 사항이 모두 정확히 인식되었음을 입증하지는 않습니다.\n\n완성된 전사문을 위해 해당 오디오로 돌아가 이름, 숫자, 부정 표현, 화자 변화를 검토하세요. 매끄러운 텍스트만으로 품질을 판단하지 말고 조용한 구간, 겹치는 발화, 언어 전환에 주의를 기울이세요. 들리지 않는 구간을 그럴듯한 문장으로 완성하는 대신 불확실한 표현을 수정할 수 있도록 유지하세요. 유용한 결과는 의도한 용도에 필요한 타이밍과 화자 정보를 갖춘, 확인된 텍스트 기록입니다. 이후 전사문은 별도의 요약, 번역 또는 분석 단계의 입력이 될 수 있습니다.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "15582def9863878c552b9d6502291b8c28c7a8927142a2cd42b5d593d481fd23",
    "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\">•</span><h2 id=\"sheet-title\">ElevenLabs: Scribe v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"닫기\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/scribe-v2</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|elevenlabs%2Fscribe-v2\">음성 인식</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\">ElevenLabs Scribe v2는 90개 이상의 언어로 녹음된 오디오를 전사하며, 단어 단위 타이밍, 선택적 화자 분리, 비음성 이벤트 태그를 제공합니다. 장시간 녹음, 자막, 편집 가능한 전사문을 위해 설계되었으며, 문맥 기반 핵심 용어와 원문 그대로 또는 정리된 전사 방식을 선택할 수 있습니다.</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>ElevenLabs Scribe v2는 녹음된 오디오의 전사와 자막 및 캡션 제작을 위한 배치 음성 인식 모델입니다. Scribe v1을 바탕으로 긴 녹음, 쉼, 어조 변화, 긴 침묵의 처리를 개선했습니다. 결과는 타이밍 정보와 선택적 화자 및 오디오 이벤트 주석이 포함된 발화의 문자 기록입니다. Scribe v2 Realtime은 별도의 실시간 전사 버전이며, 이 모델의 목적은 완성된 녹음을 처리하는 것입니다.</p><p>제조사는 언어가 전환되는 녹음을 포함해 90개 이상의 언어 인식과 자동 언어 감지를 문서화합니다. 알고 있는 언어를 힌트로 제공하면 모델이 오디오를 해석하는 데 도움이 될 수 있습니다. 명확한 녹음을 준비하고 원래 언어와 이름을 유지하며 심한 클리핑이나 발화의 세부 정보를 제거하는 불필요한 처리를 피하세요. 문서에 명시된 일반적인 입력에는 WAV, MP3, FLAC, M4A, AAC, OGG, Opus, WebM이 포함됩니다. 전사 구현에서 지원하는 입력 표현을 선택하고 검토를 위해 원본 녹음을 보존하세요.</p><p>표준 응답에는 인식된 텍스트, 감지된 언어 정보, 타이밍이 있는 단어의 순서가 포함됩니다. 단어 기록에는 시작 및 종료 시각, 화자 식별자, 인식 로그 확률이 포함될 수 있습니다. 이 정보는 자막, 검색 가능한 인터뷰, 관련 소리로 바로 이동하는 편집기에 유용합니다. 타이밍이 있는 결과를 원본 오디오와 함께 보관하세요. 예를 들어 팟캐스트에서는 편집 가능한 전사문과 단어 단위 정렬 기록을 결과물로 제공해 자막을 배치하기 전에 수정할 위치를 찾을 수 있습니다.</p><p>화자 분리는 여러 화자가 등장하는 오디오에서 누가 언제 말하는지 표시하며, 제조사는 최대 32명의 화자를 문서화합니다. 화자의 발화 순서가 중요하다면 활성화하고, 해당 정보를 알고 있다면 합리적인 화자 수를 제공하세요. 감지된 화자 라벨과 검증된 사람의 이름을 구분하세요. 인터뷰나 회의에서는 특히 목소리가 겹치거나 비슷하게 들리는 부분의 발화 전환을 녹음과 대조하세요. 라벨은 전사문을 정리하는 데 도움이 되지만 화자의 신원을 독립적으로 입증하지는 않습니다.</p><p>채널마다 화자가 한 명인 녹음은 여러 목소리가 한 채널에 섞인 녹음과 구조가 다릅니다. 제작사 인터페이스는 최대 5개 채널을 독립적으로 처리하고, 채널 인덱스가 있는 개별 전사문 또는 시간순으로 정렬된 통합 전사문을 반환할 수 있습니다. 채널 구성이 의미를 갖는다면 그대로 유지하세요. 분리된 통화 녹음을 전사 전에 합치면 화자 정보의 유용한 출처를 잃을 수 있습니다. 채널 기반 귀속은 혼합 오디오에서 추론한 화자 분리와 구분하세요. 통합 채널 응답에는 타임스탬프가 필요하며 엔터티 탐지나 마스킹을 포함할 수 없습니다.</p><p>핵심 용어 프롬프팅은 문맥을 이용해 이름, 제품 용어, 전문 어휘의 인식을 유도합니다. 현재 배치 문서는 최대 1,000개의 용어를 허용하며 각 용어는 50자 미만, 최대 5단어여야 합니다. 광범위하고 무관한 목록 대신 관련 표기를 제공하세요. 기술 인터뷰에서는 나올 가능성이 높은 제품명과 약어를 제공한 뒤 결과의 해당 타임스탬프에서 확인하세요. 핵심 용어는 인식에 가중치를 주지만 녹음에 근거가 없는데도 용어를 삽입하라는 지시는 아닙니다.</p><p>정리 작업을 적용하기 전에 전사문의 목적을 선택하세요. 원문 그대로의 기록은 발화된 표현을 유지하며, 문서에 명시된 no-verbatim 옵션은 군더더기 표현, 말하다 중단하고 다시 시작한 부분, 비유창성을 제거해 더 읽기 쉬운 결과를 만듭니다. 동적 오디오 태깅은 웃음이나 발소리 같은 비음성 이벤트를 식별할 수 있습니다. 다듬은 전사문은 자막이나 읽기용으로 유용할 수 있지만, 반복, 정정, 비음성 소리가 작업에 중요할 때 원시 기록을 별다른 표시 없이 대체해서는 안 됩니다.</p><p>제조사는 엔터티 탐지와 실험적 전사문 편집도 문서화합니다. 제작사 인터페이스에서 전사문 편집은 엔터티 탐지, 엔터티 마스킹, 다중 채널 전사와 함께 사용할 수 없습니다. 탐지된 엔터티는 전사문의 선택된 정보에 대해 구조화된 위치를 제공합니다. 선택적 엔터티 마스킹은 탐지된 텍스트를 대체 라벨로 가립니다. 엔터티 탐지에 의존하며, 마스킹을 활성화하면 엔터티 목록이 반환되지 않습니다. 마스킹은 전사 중에 일반 대체 표시, 범주 라벨, 번호가 붙은 범주 라벨을 사용해 이루어집니다. 자동 마스킹은 민감한 내용을 놓칠 수 있으므로 공유하기 전에 마스킹된 전사문을 확인하세요. 자연어 편집은 원래 결과와 함께 편집된 텍스트를 반환하며, 원래 타이밍과 화자 기록은 계속 사용할 수 있습니다. 이러한 결과물을 구분해 유지하세요. 철자를 수정하거나 문장을 재구성했다면 오디오와 정렬하거나 후속 추출에 사용하기 전에 다시 확인해야 할 수 있습니다. 이 기능들은 전사문을 처리하는 것이며, 중요한 세부 사항이 모두 정확히 인식되었음을 입증하지는 않습니다.</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>elevenlabs/scribe-v2</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>입력 오디오 초당</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>입력 · 입력 오디오(초)</span> <b>$0.0001222222222222</b> <span class=\"price-unit\">입력 오디오 초당</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-1328-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1328-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-1328-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1328-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;elevenlabs/scribe-v2&#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=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></span></p><h4>메서드 경로 별칭</h4><p class=\"note-s\">위에 표시된 메서드 경로를 사용하세요.</p><h4>관련 호출용 ID</h4><p class=\"note-s\"><a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "elevenlabs/scribe-v2",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|elevenlabs%2Fscribe-v2",
      "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": [
                  "elevenlabs/scribe-v2"
                ],
                "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": [
                    "elevenlabs/scribe-v2"
                  ],
                  "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": "elevenlabs/scribe-v2"
              },
              "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": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "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': 'elevenlabs/scribe-v2', '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": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "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": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "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.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "elevenlabs/scribe-v2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "1eadd92b8c111ba0b8b27ec961548e99521710f3437159189c5dc286d83cfbfd",
    "input_html_sha256": "b2d10286a42ac99cf030244f714fe9e930c4cfcf780e64f6249b7f7b43ca0506",
    "private_audit_sha256": "fbe10ee901f0cb3d2a03df840d07c15a380f148cf39a2d1c50d3a823436ffa37",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ko/elevenlabs-scribe-v2/",
    "description": "ElevenLabs Scribe v2는 90개 이상의 언어로 녹음된 오디오를 전사하며, 단어 단위 타이밍, 선택적 화자 분리, 비음성 이벤트 태그를 제공합니다. 장시간 녹음, 자막, 편집 가능한 전사문을 위해 설계되었으며, 문맥 기반 핵심 용어와 원문 그대로 또는 정리된 전사 방식을 선택할 수 있습니다.",
    "locale": "ko",
    "md_url": "https://ailoot.ai/models/ko/elevenlabs-scribe-v2/index.md",
    "title": "ElevenLabs: Scribe v2 — Ailoot",
    "url": "https://ailoot.ai/models/ko/elevenlabs-scribe-v2/"
  },
  "rawModel": {
    "about": "ElevenLabs Scribe v2는 녹음된 오디오의 전사와 자막 및 캡션 제작을 위한 배치 음성 인식 모델입니다. Scribe v1을 바탕으로 긴 녹음, 쉼, 어조 변화, 긴 침묵의 처리를 개선했습니다. 결과는 타이밍 정보와 선택적 화자 및 오디오 이벤트 주석이 포함된 발화의 문자 기록입니다. Scribe v2 Realtime은 별도의 실시간 전사 버전이며, 이 모델의 목적은 완성된 녹음을 처리하는 것입니다.\n\n제조사는 언어가 전환되는 녹음을 포함해 90개 이상의 언어 인식과 자동 언어 감지를 문서화합니다. 알고 있는 언어를 힌트로 제공하면 모델이 오디오를 해석하는 데 도움이 될 수 있습니다. 명확한 녹음을 준비하고 원래 언어와 이름을 유지하며 심한 클리핑이나 발화의 세부 정보를 제거하는 불필요한 처리를 피하세요. 문서에 명시된 일반적인 입력에는 WAV, MP3, FLAC, M4A, AAC, OGG, Opus, WebM이 포함됩니다. 전사 구현에서 지원하는 입력 표현을 선택하고 검토를 위해 원본 녹음을 보존하세요.\n\n표준 응답에는 인식된 텍스트, 감지된 언어 정보, 타이밍이 있는 단어의 순서가 포함됩니다. 단어 기록에는 시작 및 종료 시각, 화자 식별자, 인식 로그 확률이 포함될 수 있습니다. 이 정보는 자막, 검색 가능한 인터뷰, 관련 소리로 바로 이동하는 편집기에 유용합니다. 타이밍이 있는 결과를 원본 오디오와 함께 보관하세요. 예를 들어 팟캐스트에서는 편집 가능한 전사문과 단어 단위 정렬 기록을 결과물로 제공해 자막을 배치하기 전에 수정할 위치를 찾을 수 있습니다.\n\n화자 분리는 여러 화자가 등장하는 오디오에서 누가 언제 말하는지 표시하며, 제조사는 최대 32명의 화자를 문서화합니다. 화자의 발화 순서가 중요하다면 활성화하고, 해당 정보를 알고 있다면 합리적인 화자 수를 제공하세요. 감지된 화자 라벨과 검증된 사람의 이름을 구분하세요. 인터뷰나 회의에서는 특히 목소리가 겹치거나 비슷하게 들리는 부분의 발화 전환을 녹음과 대조하세요. 라벨은 전사문을 정리하는 데 도움이 되지만 화자의 신원을 독립적으로 입증하지는 않습니다.\n\n채널마다 화자가 한 명인 녹음은 여러 목소리가 한 채널에 섞인 녹음과 구조가 다릅니다. 제작사 인터페이스는 최대 5개 채널을 독립적으로 처리하고, 채널 인덱스가 있는 개별 전사문 또는 시간순으로 정렬된 통합 전사문을 반환할 수 있습니다. 채널 구성이 의미를 갖는다면 그대로 유지하세요. 분리된 통화 녹음을 전사 전에 합치면 화자 정보의 유용한 출처를 잃을 수 있습니다. 채널 기반 귀속은 혼합 오디오에서 추론한 화자 분리와 구분하세요. 통합 채널 응답에는 타임스탬프가 필요하며 엔터티 탐지나 마스킹을 포함할 수 없습니다.\n\n핵심 용어 프롬프팅은 문맥을 이용해 이름, 제품 용어, 전문 어휘의 인식을 유도합니다. 현재 배치 문서는 최대 1,000개의 용어를 허용하며 각 용어는 50자 미만, 최대 5단어여야 합니다. 광범위하고 무관한 목록 대신 관련 표기를 제공하세요. 기술 인터뷰에서는 나올 가능성이 높은 제품명과 약어를 제공한 뒤 결과의 해당 타임스탬프에서 확인하세요. 핵심 용어는 인식에 가중치를 주지만 녹음에 근거가 없는데도 용어를 삽입하라는 지시는 아닙니다.\n\n정리 작업을 적용하기 전에 전사문의 목적을 선택하세요. 원문 그대로의 기록은 발화된 표현을 유지하며, 문서에 명시된 no-verbatim 옵션은 군더더기 표현, 말하다 중단하고 다시 시작한 부분, 비유창성을 제거해 더 읽기 쉬운 결과를 만듭니다. 동적 오디오 태깅은 웃음이나 발소리 같은 비음성 이벤트를 식별할 수 있습니다. 다듬은 전사문은 자막이나 읽기용으로 유용할 수 있지만, 반복, 정정, 비음성 소리가 작업에 중요할 때 원시 기록을 별다른 표시 없이 대체해서는 안 됩니다.\n\n제조사는 엔터티 탐지와 실험적 전사문 편집도 문서화합니다. 제작사 인터페이스에서 전사문 편집은 엔터티 탐지, 엔터티 마스킹, 다중 채널 전사와 함께 사용할 수 없습니다. 탐지된 엔터티는 전사문의 선택된 정보에 대해 구조화된 위치를 제공합니다. 선택적 엔터티 마스킹은 탐지된 텍스트를 대체 라벨로 가립니다. 엔터티 탐지에 의존하며, 마스킹을 활성화하면 엔터티 목록이 반환되지 않습니다. 마스킹은 전사 중에 일반 대체 표시, 범주 라벨, 번호가 붙은 범주 라벨을 사용해 이루어집니다. 자동 마스킹은 민감한 내용을 놓칠 수 있으므로 공유하기 전에 마스킹된 전사문을 확인하세요. 자연어 편집은 원래 결과와 함께 편집된 텍스트를 반환하며, 원래 타이밍과 화자 기록은 계속 사용할 수 있습니다. 이러한 결과물을 구분해 유지하세요. 철자를 수정하거나 문장을 재구성했다면 오디오와 정렬하거나 후속 추출에 사용하기 전에 다시 확인해야 할 수 있습니다. 이 기능들은 전사문을 처리하는 것이며, 중요한 세부 사항이 모두 정확히 인식되었음을 입증하지는 않습니다.\n\n완성된 전사문을 위해 해당 오디오로 돌아가 이름, 숫자, 부정 표현, 화자 변화를 검토하세요. 매끄러운 텍스트만으로 품질을 판단하지 말고 조용한 구간, 겹치는 발화, 언어 전환에 주의를 기울이세요. 들리지 않는 구간을 그럴듯한 문장으로 완성하는 대신 불확실한 표현을 수정할 수 있도록 유지하세요. 유용한 결과는 의도한 용도에 필요한 타이밍과 화자 정보를 갖춘, 확인된 텍스트 기록입니다. 이후 전사문은 별도의 요약, 번역 또는 분석 단계의 입력이 될 수 있습니다.",
    "alias_of": null,
    "aliases": [],
    "author": "ElevenLabs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "구성의 전체 요금 정보는 상세 정보에서 확인할 수 있습니다."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "elevenlabs/scribe-v2",
    "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": [
                  "elevenlabs/scribe-v2"
                ],
                "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": [
                    "elevenlabs/scribe-v2"
                  ],
                  "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": "elevenlabs/scribe-v2"
              },
              "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": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "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': 'elevenlabs/scribe-v2', '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": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "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": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "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.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "elevenlabs/scribe-v2",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      }
    ],
    "name": "ElevenLabs: Scribe v2",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "ElevenLabs Scribe v2는 90개 이상의 언어로 녹음된 오디오를 전사하며, 단어 단위 타이밍, 선택적 화자 분리, 비음성 이벤트 태그를 제공합니다. 장시간 녹음, 자막, 편집 가능한 전사문을 위해 설계되었으며, 문맥 기반 핵심 용어와 원문 그대로 또는 정리된 전사 방식을 선택할 수 있습니다."
  },
  "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": "ElevenLabs Scribe v2는 90개 이상의 언어로 녹음된 오디오를 전사하며, 단어 단위 타이밍, 선택적 화자 분리, 비음성 이벤트 태그를 제공합니다. 장시간 녹음, 자막, 편집 가능한 전사문을 위해 설계되었으며, 문맥 기반 핵심 용어와 원문 그대로 또는 정리된 전사 방식을 선택할 수 있습니다.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e17818bbcebccf1e31d92a15cb64f6c235990398eac881bc42aa80fbafe987a2",
    "renderer_sha256": "6825a317438b70ab0939441dcebefece462384e77f7e96cce899605c4b208caa"
  },
  "sourceRevision": "be86621ea58ab23c576e525f47d3745be6841674693e1f349c9424fe798750e9"
}
