--- title: "ローカルファイルの認識" slug: "ai-application-service-clovaspeech-longsentence-local" updated: 2026-09-17T09:57:17Z published: 2026-09-17T09:57:17Z canonical: "api.ncloud-docs.com/ai-application-service-clovaspeech-longsentence-local" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # ローカルファイルの認識 Classic/VPC環境で利用できます。 ローカルに保存されているオーディオ/ビデオファイルを認識し、テキストに変換します。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | /recognizer/upload | ### リクエストヘッダ CLOVA Speech APIで共通して使用されるヘッダの詳細は、[CLOVA Speechのリクエストヘッダ](/docs/ja/ai-application-service-clovaspeech#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)をご参照ください。 ### リクエストボディ リクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `media` | File | Required | ローカルオーディオ/ビデオファイル - サポートするファイル形式 - オーディオ: `MP3`、`AAC`、`AC3`、`OGG`、`FLAC`、`WAV`、`M4A` - ビデオ: `AVI`、`MP4`、`MOV`、`WMV`、`FLV`、`MKV` | | `params` | Object | Required | パラメータの詳細情報 | | `params.language` | String | Required | テキスト認識言語 - `ko-KR`(デフォルト) \| `en-US` \| `enko` \| `ja` \| `zh-cn` \| `zh-tw` - `ko-kR`: 韓国語 - `en-US`: 英語 - `enko`: 韓国語/英語を同時認識 - `ja`: 日本語 - `zh-cn`: 中国語(簡体字) - `zh-tw`: 中国語(繁体字) | | `params.completion` | String | Optional | 認識リクエスト後のレスポンス方法 - `sync` \| `async`(デフォルト) - `sync`(同期): 結果を JSON形式で返す - `async`(非同期): Callback URLまたは`resultToObs` (ObjectStorage)形式で返す | | `params.callback` | String | Conditional | Callback URL - `completion`が`async`の場合、`callback`または`resultToObs`のうちどちらかは必ず入力 | | `params.wordAlignment` | Boolean | Optional | 認識結果の音声とテキストをソートして出力するかどうか - `true`(デフォルト) \| `false` - `true`: 出力 - `false`: 出力しない | | `params.fullText` | Boolean | Optional | 認識結果の全テキストを出力するかどうか - `true`(デフォルト) \| `false` - `true`: 出力 - `false`: 出力しない | | `params.resultToObs` | Boolean | Conditional | Object Storageに結果を保存するかどうか - `completion`が`async`の場合にのみ動作 - `true` \| `false`(デフォルト) - `true`: 結果を保存 - `false`: 結果を保存しない | | `params.noiseFiltering` | Boolean | Optional | ノイズフィルタ有無 - `true`(デフォルト) \| `false` - `true`: フィルタは動作 - `false`: フィルタは動作しない | | `params.boostings` | Array | Optional | キーワードブーストの詳細情報[boostings](/docs/ja/ai-application-service-clovaspeech-longsentence-local#boostings1) - 音声認識率を上げるキーワードリスト - `useDomainBoostings`と同時使用はできない - 最大1,000個まで入力可能 - ハングル、英語のみサポート - 英語: 基本的に小文字に変換、大文字キーワードブーストのリクエスト時は大文字に置換 - 1音節の単語は誤認識のリスクがあるため、ブーストをサポートしない - <例> `はい`, `うん`, `no` - スペースの有無に関係なくブースト処理 - <例> 「クローバースピーチ」と「クローバー スピーチ」のうちどちらか1つのキーワードのみブーストをリクエスト - キーワードの長さの制限はないが、ブーストする対象が複数の単語が組み合わされた語句である場合、その語句でなければブーストの影響を受けにくい - <例> 「クローバースピーチ」というキーワードをブーストする場合、「クローバースピーチ」を含むすべての文はブーストの影響を受ける - <例> 「クローバースピーチのメディア音声認識技術」という組み合わせの長いキーワードをブーストする場合、「クローバースピーチ」だけ含む文はブーストの影響を受けにくい | | `params.useDomainBoostings` | Boolean | Optional | ドメインブーストの使用有無 - `true` \| `false`(デフォルト) - `true`: ブーストを使用 - `false`: ブーストを使用しない - `boostings`と同時使用はできない | | `params.forbiddens` | String | Optional | 要注意キーワード - 音声認識率を下げるキーワードリスト(認識結果に表示したくない場合) - キーワード数と長さの制限なし - スペース、英字の大文字・小文字のいずれも完全一致が必要 | | `params.diarization` | Object | Optional | 話者認識の詳細情報 | | `params.diarization.enable` | Boolean | Optional | 話者認識するかどうか - `true`(デフォルト) \| `false` - `true`: 話者を認識 - `false`: 話者を認識しない | | `sed` | Object | Optional | イベント検知結果の詳細情報 | | `sed.enable` | Boolean | Optional | イベント検知するかどうか - `true` \| `false`(デフォルト) - `true`: イベントを検知 - `false`: イベントを検知しない | | `format` | String | Optional | レスポンス結果を返す形式 - `JSON`(デフォルト) \| `SRT` \| `SMI` | #### boostings `boostings`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `words` | String | Optional | キーワードブースト対象の単語リスト | | `weight` | String | Optional | キーワードブーストの重み | 参考 `completion`(リクエスト後のレスポンス方式)を`async`にしてリクエストすると、入力した Callback URLアドレスの有無や resultToObs(ObjectStorage)の有無に応じて認識結果を次のように返します。 | Callback URL | resultToObs(ObjectStorage) | 結果 | | --- | --- | --- | | URLアドレスあり | True | Callback URLと Object Storageの両方に結果を返す | | URLアドレスあり | False | Callback URLにのみ結果を返す | | URLアドレスなし | True | Object Storageにのみ結果を返す | | URLアドレスなし | False | エラーを返す | ### リクエスト例 リクエストのサンプルコードは次の通りです。 ``` curl --location --request POST 'https://clovaspeech-gw.ncloud.com/external/v1/8881/5f7e1b4c866f1c605946c9236f9***********/recognizer/upload' \ --header 'Content-Type: multipart/form-data' \ --header 'X-CLOVASPEECH-API-KEY: {アプリの登録時に発行された Secret Key}' \ --form 'media=@"{media}"' \ --form 'params="{\"language\":\"ko-KR\",\"completion\":\"sync\", \"callback\":\"\", \"fullText\":true,\"\"}"' \ --form 'type="application/json"' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `result` | String | - | レスポンスコード | | `message` | String | - | レスポンスメッセージ | | `token` | String | - | 結果トークン | | `version` | String | - | エンジンバージョン | | `params` | Object | - | パラメータの詳細情報 | | `params.service` | String | - | サービスコード | | `params.domain` | String | - | ドメインのタイプ - エンジンの呼び出し時に使用 - `general` | | `params.lang` | String | - | 認識言語 - `ko` \| `en` \| `enko` \| `ja` \| `zh-cn` \| `zh-tw` - `ko`: 韓国語 - `en`: 英語 - `enko`: 韓国語/英語を同時に翻訳 - `ja`: 日本語 - `zh-cn`: 中国語(簡体字) - `zh-tw`: 中国語(繁体字) | | `params.completion` | String | - | 認識リクエスト後のレスポンス方法 - `sync`(同期): 結果を JSON形式で返す - `async`(非同期): Callback URLまたは`resultToObs`(ObjectStorage)形式で返す | | `params.callback` | String | - | Callback URL | | `params.diarization` | Object | - | 話者認識(分離)の詳細情報 | | `params.diarization.enable` | Boolean | - | 話者認識(分離)するかどうか - `true` \| `false` - `true`: 話者を認識 - `false`: 話者を認識しない | | `params.diarization.speakerCountMin` | Integer | - | 最小話者数 | | `params.diarization.speakerCountMax` | Integer | - | 最大話者数 | | `params.sed` | Object | - | イベント検知結果 | | `params.sed.enable` | Boolean | - | イベント検知するかどうか - `true` \| `false`(デフォルト) - `true`: イベントを検知 - `false`: イベントを検知しない | | `params.boostings` | Array | - | キーワードブーストの詳細情報[boostings](/docs/ja/ai-application-service-clovaspeech-longsentence-local#boostings2) - 詳細は[リクエストボディ](/docs/ja/ai-application-service-clovaspeech-longsentence-local#%EC%9A%94%EC%B2%AD%EB%B0%94%EB%94%94)の`boostings`を参照 | | `params.forbiddens` | String | - | 要注意キーワード - 詳細は[リクエストボディ](/docs/ja/ai-application-service-clovaspeech-longsentence-local#%EC%9A%94%EC%B2%AD%EB%B0%94%EB%94%94)の`forbiddens`を参照 | | `params.wordAlignment` | Boolean | - | 認識結果の音声とテキストをソートして出力するかどうか - `true`(デフォルト) \| `false` - `true`: 出力 - `false`: 出力しない | | `params.fullText` | Boolean | - | 認識結果の全テキストを出力するかどうか - `true`(デフォルト) \| `false` - `true`: 出力 - `false`: 出力しない | | `params.noiseFiltering` | Boolean | - | ノイズフィルタ有無 - `true`(デフォルト) \| `false` - `true`: フィルタは動作 - `false`: フィルタは動作しない | | `params.resultToObs` | Boolean | - | Object Storageに結果を保存するかどうか - `completion`が`async`の場合にのみ動作 - `true` \| `false`(デフォルト) - `true`: 結果を保存 - `false`: 結果を保存しない | | `params.priority` | Integer | - | 優先順位 - 0~4 - 低いほど優先順位が高い | | `params.userdata` | Object | - | ユーザーデータの詳細情報 | | `params.userdata._ncp_DomainCode` | String | - | ドメインコード - `long-speech` \| `short-speech` - `long-speech`: 長文認識 - `short-speech`: 短文認識 | | `params.userdata._ncp_DomainId` | Integer | - | ドメイン ID | | `params.userdata._ncp_TaskId` | Integer | - | タスク ID - 具体的な認識タスクのトレース時に使用 | | `params.userdata._ncp_TraceId` | String | - | トレース ID - ログのトレース時に使用 | | `progress` | Integer | - | 認識進捗率 | | `keywords` | Object | - | キーワードブーストされた単語リスト | | `segments` | Array | - | segmentsの詳細情報: [segments](/docs/ja/ai-application-service-clovaspeech-longsentence-local#segments) | | `text` | String | - | 全テキスト | | `confidence` | Double | - | 全体の精度 | | `speakers` | Array | - | 全話者の詳細情報: [speakers](/docs/ja/ai-application-service-clovaspeech-longsentence-local#speakers) | | `events` | Array | - | イベントの詳細情報: [events](/docs/ja/ai-application-service-clovaspeech-longsentence-local#events) | | `eventTypes` | Array | - | 認識された全イベントの詳細情報: [eventTypes](/docs/ja/ai-application-service-clovaspeech-longsentence-local#eventTypes) | #### boostings `boostings`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `words` | String | - | キーワードブースト対象の単語リスト | | `weight` | String | - | キーワードブーストの重み | #### segments `#segments`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `start` | Long | - | 分析開始時刻(ms) | | `end` | Long | - | 分析終了時刻(ms) | | `text` | String | - | 分析テキスト | | `confidence` | Double | - | 分析の精度 - 0.0~1.0 | | `diarization` | Object | - | 認識された話者の詳細情報 | | `diarization.label` | String | - | 認識された話者の番号 | | `speaker` | Object | - | 変更後の話者の詳細情報 | | `speaker.label` | String | - | 変更後の話者の番号 | | `speaker.name` | String | - | 変更後の話者の名前 | | `speaker.edited` | Boolean | - | 話者は変更されたかどうか - `true` \| `false`(デフォルト) - `true`: 話者を変更 - `false`: 同じ話者 | | `words` | Array | - | 認識された単語リスト | | `words.[0]` | Long | - | セグメント開始時刻(ms) | | `words.[1]` | Long | - | セグメント終了時刻(ms) | | `words.[2]` | String | - | セグメントテキスト | | `textEdited` | String | - | 変更内容 | #### speakers `speakers`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `label` | String | - | すべての話者の番号 | | `name` | String | - | すべての話者の名前 | | `edited` | Boolean | - | 話者は変更されたかどうか - `true` \| `false`(デフォルト) - `true`: 話者を変更 - `false`: 同じ話者 | #### events `events`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `type` | String | - | イベントタイプ | | `label` | String | - | イベント名 | | `labelEdited` | String | - | 変更後のイベント名 | | `start` | Long | - | イベントの開始時刻 | | `end` | Long | - | イベントの終了時刻 | #### eventTypes `eventTypes`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `label` | String | - | 認識されたイベント | ### レスポンスステータスコード CLOVA Speech APIで共通して使用されるレスポンスステータスコードの詳細は、[CLOVA Speechのレスポンスステータスコード](/docs/ja/ai-application-service-clovaspeech#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)をご参照ください。 ### レスポンス例 レスポンスのサンプルコードは次の通りです。 #### `async`でリクエストして jsonで返す `async`でリクエストして json形式で返すレスポンスのサンプルコードは次の通りです。 ``` { "token": "*****f6a1015466bae2c926177f26310", "result": "SUCCEEDED", "message": "Succeeded" } ``` #### `sync`でリクエストして jsonで返す `sync`でリクエストして json形式で返すレスポンスのサンプルコードは次の通りです。 ``` { "result": "COMPLETED", "message": "Succeeded", "token": "*****166039e486abbb90e4a84c3b3a5", "version": "ncp_v2_v2.3.0-aa6cd8d-20231205_231211-3cf30bfc_v0.0.0_", "params": { "service": "ncp", "domain": "general", "lang": "enko", "completion": "sync", "callback": "", "diarization": { "enable": true, "speakerCountMin": -1, "speakerCountMax": -1 }, "sed": { "enable": true }, "boostings": [ { "words": "こんにちは。テスト" "weight": 1 } ], "forbiddens": "", "wordAlignment": true, "fullText": true, "noiseFiltering": true, "resultToObs": false, "priority": 0, "userdata": { "_ncp_DomainCode": "NEST", "_ncp_DomainId": 1, "_ncp_TaskId": **442, "_ncp_TraceId": "*****ce98ec342d8a8c8fe9191cec343", "id": 1 } }, "progress": 100, "keywords": {}, "segments": [ { "start": 5870, "end": 8160, "text": "ソウルのプールです。", "confidence": 0.9626975, "diarization": { "label": "2" }, "speaker": { "label": "2", "name": "B", "edited": false }, "words": [ [ 5871, 6730, "ソウル" ], [ 6860, 7530, "プールです。" ] ], "textEdited": "ソウルのプールです。" }, { "start": 8160, "end": 12950, "text": "入場料はいくらですか? 5千ウォンです。ありがとうございます。", "confidence": 0.8835926, "diarization": { "label": "1" }, "speaker": { "label": "1", "name": "A", "edited": false }, "words": [ [ 8161, 9220, "入場料は" ], [ 9390, 10020, "いくらですか?" ], [ 10410, 10640, "5千" ], [ 10710, 11140, "ウォンです。" ], [ 11910, 12500, "ありがとうございます。" ] ], "textEdited": "入場料はいくらですか? 5千ウォンです。ありがとうございます。" } ], "text": "ソウルのプールです。入場料はいくらですか? 5千ウォンです。ありがとうございます。", "confidence": 0.9071357, "speakers": [ { "label": "1", "name": "A", "edited": false }, { "label": "2", "name": "B", "edited": false } ], "events": [ { "type": "music", "label": "music", "labelEdited": "music", "start": 1400, "end": 5000 } ], "eventTypes": [ "music" ] } ``` #### `sync`でリクエストして srtで返す `sync`でリクエストして srt形式で返すレスポンスのサンプルコードは次の通りです。 ``` 1 00:00:00,000 --> 00:00:01,425 A: 私、この前 2 00:00:02,533 --> 00:00:11,550 A: トウモロコシを食べたんですよ。すごく甘くて美味しかった。てか、私はそれが町の名前だと思ってたんですよ。 3 00:00:11,550 --> 00:00:19,025 A: Chosaierのチョ(超)に、甘いのダン(糖)だったとはね。知らなかった。私、チョダンってチョダン豆腐みたいなものだと思ってた。 4 00:00:19,025 --> 00:00:26,317 C: サッカリンのことを思い出したけど。ふいとね。作家さんはチョダンを召し上がりましたね。 5 00:00:26,317 --> 00:00:28,240 A: トウモロコシにですか? 6 00:00:28,240 --> 00:00:35,318 B: ちょっと、甘い味のする豆腐がどこにあるっていうの? この Doは理解できないな。サンドってチョダン地域じゃないの? 7 00:00:35,318 --> 00:00:42,800 A: いやいや。チョダントウモロコシってスーパースウィートって意味だった。めっちゃ甘いって意味だったとは誰も知らなかったよ。全然。 ``` #### `sync`でリクエストして smiで返す `sync`でリクエストして smi形式で返すレスポンスのサンプルコードは次の通りです。 ```

A: 私、この前

A: トウモロコシを食べたんですよ。すごく甘くて美味しかった。てか、私はそれが町の名前だと思ってたんですよ。

A: Chosaierのチョ(超)に、甘いのダン(糖)だったとはね。知らなかった。私、チョダンってチョダン豆腐みたいなものだと思ってた。

C: サッカリンのことを思い出したけど。ふいとね。作家さんはチョダンを召し上がりましたね。

A: トウモロコシにですか?

B: ちょっと、甘い味のする豆腐がどこにあるっていうの? この Doは理解できないな。サンドってチョダン地域じゃないの?

A: いやいや。チョダントウモロコシってスーパースウィートって意味だった。めっちゃ甘いって意味だったとは誰も知らなかったよ。全然。 ```