> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.voicecheap.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# メディアの文字起こし

> オーディオまたはビデオファイルを完全なJSON、SRT、またはVTTとして文字起こしします

# メディアの文字起こし

オーディオまたはビデオファイルをアップロードして、そのトランスクリプトを直接受け取ります。このスタンドアロンエンドポイントは、吹き替えプロジェクトを作成しません。

このエンドポイントは、最大**200 MB**かつ**2時間**までのファイルを受け付けます。翻訳APIと同じAPIキーアクセスルールを使用します。
リクエストが成功すると、HTTP `200` が返されます。

## リクエスト

以下のフィールドを含む `multipart/form-data` を送信します。

<ParamField header="x-api-key" type="string" required>
  お客様の VoiceCheap APIキー。
</ParamField>

<ParamField body="file" type="file" required>
  文字起こしするオーディオまたはビデオファイル。サポートされている形式は、MP4、MOV、MKV、WebM、MPEG、MP3、WAV、M4A、FLAC、OGG、およびAACです。
</ParamField>

<ParamField body="outputFormat" type="string" default="json">
  レスポンス形式: `json`、`srt`、または `vtt`。
</ParamField>

<ParamField body="originalLanguage" type="string" default="auto-detect">
  サポートされているソース言語のISOコード。ソース言語が不明な場合を除き、これを `auto-detect` のままにしてください。サポートされていない明示的な言語を指定すると、処理開始前に検証エラーが返されます。
</ParamField>

<ParamField body="numberOfSpeakers" type="string" default="auto-detect">
  `auto-detect` または `1` から `32` までの整数。
</ParamField>

<ParamField body="brandVocabulary" type="string">
  認識させる名前、ブランド、頭字語、またはドメイン用語のJSON文字列配列。リクエストされた用語は、保存されたアカウントまたはチームの用語集とマージされます。

  ```json theme={null}
  ["VoiceCheap", "SmartSync", "ITC Global"]
  ```
</ParamField>

<ParamField body="removeFillerWords" type="boolean" default="true">
  トランスクリプトから一般的なフィラーワードを削除します。
</ParamField>

<ParamField body="includeSpeakerLabels" type="boolean" default="false">
  SRTキューに `Speaker N:` をプレフィックスとして付けるか、VTT音声タグを追加します。JSONには常に、すべてのセグメントと単語に数値のスピーカーが含まれます。
</ParamField>

## JSONレスポンス

JSONは最も完全な出力です。全文、言語の信頼度、メディアの長さ、スピーカー、タイムスタンプ付きセグメント、およびタイムスタンプ付き単語が含まれています。

```json theme={null}
{
  "source": "standalone",
  "language": "en",
  "languageConfidence": 0.99,
  "duration": 12.4,
  "text": "Welcome to VoiceCheap.",
  "speakers": [{ "id": 0, "label": "Speaker 1" }],
  "segments": [
    {
      "index": 0,
      "text": "Welcome to VoiceCheap.",
      "begin": 0.18,
      "end": 1.74,
      "duration": 1.56,
      "speaker": 0,
      "language": "en",
      "confidence": 0.94,
      "words": [
        {
          "index": 0,
          "text": "Welcome",
          "speaker": 0,
          "confidence": 0.96,
          "begin": 0.18,
          "end": 0.62,
          "duration": 0.44
        }
      ]
    }
  ],
  "words": [
    {
      "index": 0,
      "text": "Welcome",
      "speaker": 0,
      "confidence": 0.96,
      "begin": 0.18,
      "end": 0.62,
      "duration": 0.44
    }
  ]
}
```

## 例

<CodeGroup>
  ```bash cURL — JSON theme={null}
  curl -X POST "https://api.voicecheap.ai/v1/transcribe" \
    -H "x-api-key: vc_your-api-key" \
    -F "file=@interview.mp4" \
    -F "outputFormat=json" \
    -F "numberOfSpeakers=2" \
    -F 'brandVocabulary=["VoiceCheap","SmartSync"]'
  ```

  ```bash cURL — SRT theme={null}
  curl -X POST "https://api.voicecheap.ai/v1/transcribe" \
    -H "x-api-key: vc_your-api-key" \
    -F "file=@interview.mp4" \
    -F "outputFormat=srt" \
    -F "includeSpeakerLabels=true" \
    --output interview.srt
  ```

  ```bash cURL — VTT theme={null}
  curl -X POST "https://api.voicecheap.ai/v1/transcribe" \
    -H "x-api-key: vc_your-api-key" \
    -F "file=@interview.mp4" \
    -F "outputFormat=vtt" \
    --output interview.vtt
  ```
</CodeGroup>

## エラー

| ステータス | コード                         | 説明                                      |
| ----- | --------------------------- | --------------------------------------- |
| 400   | `FILE_REQUIRED`             | ファイルがアップロードされていません                      |
| 400   | `INVALID_FILE_TYPE`         | ファイルタイプはサポートされていません                     |
| 400   | `INVALID_MEDIA_STREAM`      | ファイルにオーディオストリームがありません                   |
| 400   | `DURATION_DETECTION_FAILED` | メディアの長さを読み取れませんでした                      |
| 400   | `DURATION_TOO_LONG`         | メディアが2時間を超えています                         |
| 400   | `INVALID_BRAND_VOCABULARY`  | 1つ以上の用語集エントリが無効です                       |
| 400   | `INVALID_BOOLEAN_VALUE`     | マルチパートのブール値が `true` または `false` ではありません |
| 400   | `INVALID_JSON_FORMAT`       | JSONエンコードされたマルチパートフィールドの形式が正しくありません     |
| 400   | `INVALID_MULTIPART_REQUEST` | マルチパートフォームデータの形式が正しくないか、大きすぎます          |
| 413   | `FILE_TOO_LARGE`            | ファイルが200 MBを超えています                      |
| 502   | `TRANSCRIPTION_EMPTY`       | 文字起こしで利用可能な音声が返されませんでした                 |
| 502   | `TRANSCRIPTION_FAILED`      | 文字起こしエンジンが完了できませんでした                    |
