--- title: "住民登録証" slug: "ai-application-service-ocr-ocrdocumentocr-identitycard" updated: 2026-09-17T09:57:17Z published: 2026-09-17T09:57:17Z canonical: "api.ncloud-docs.com/ai-application-service-ocr-ocrdocumentocr-identitycard" --- > ## 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環境で利用できます。 特化モデルエンジンを使用して住民登録証の入力情報(key-value)を認識し、抽出します。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | /id-card | ### リクエストヘッダ CLOVA OCR APIで共通して使用されるヘッダの詳細は、[CLOVA OCRのリクエストヘッダ](/docs/ja/ai-application-service-ocr#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)をご参照ください。 ### リクエストボディ リクエストボディの説明は次の通りです。 #### `Content-Type: application/json`の場合 リクエストヘッダの`Content-Type`が`application/json`の場合のリクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `version` | String | Required | バージョン情報 - `V2`のみ使用 | | `requestId` | String | Required | 任意の API呼び出しの UUID | | `timestamp` | Integer | Required | 任意の APIの呼び出し時刻(ミリ秒) - Unix Timestamp形式 | | `images` | Array | Required | imagesの詳細情報: [images](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#images1) | #### `Content-Type: multipart/form-data`の場合 リクエストヘッダの`Content-Type`が`multipart/form-data`の場合のリクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `message` | Object | Required | リクエストデータ情報 | | `message.version` | String | Required | バージョン情報 - `V2`のみ使用 | | `message.requestId` | String | Required | 任意の API呼び出しの UUID | | `message.timestamp` | Integer | Required | 任意の APIの呼び出し時刻(ミリ秒) - Unix Timestamp形式 | | `message.images` | Array | Required | imagesの詳細情報: [images](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#images1) | | `file` | File | Required | OCR認識画像ファイル | #### `images` `images`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `format` | String | Required | 画像の形式 - `jpg` \| `jpeg` \| `png` \| `pdf` \| `tif` \| `tiff` - 画像: `jpg`、`jpeg`、`png` - 単一ページ: `pdf`、`tif`、`tiff` - 画像の形式のうち、1つを選択して入力 | | `name` | String | Required | 任意の画像名 - 画像の識別とレスポンス結果の確認時に使用 | | `data` | String | Required | Base64でエンコードされた画像データ - `Content-Type: application/json`の場合に入力可能 | ### リクエスト例 リクエストのサンプルコードは次の通りです。 #### `Content-Type: application/json`の場合 リクエストヘッダの`Content-Type`が`application/json`の場合のリクエストのサンプルコードは次の通りです。 ``` curl --location --request POST 'https://cbgrx5natw.apigw.ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/id-card' \ --header 'Content-Type: application/json' \ --header 'X-OCR-SECRET: {アプリの登録時に発行された Secret Key}' \ --data '{ "version": "V2", "requestId": "string", "timestamp": 0, "images": [ { "format": "png", "name": "idcard_test", "data":"{Base64でエンコードされた画像データ}" } ] }' ``` #### `Content-Type: multipart/form-data`の場合 リクエストヘッダの`Content-Type`が`multipart/form-data`の場合のリクエストのサンプルコードは次の通りです。 ``` curl --location --request POST 'https://cbgrx5natw.apigw.ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/id-card' \ --header 'X-OCR-SECRET: {アプリの登録時に発行された Secret Key}' \ --header 'Content-Type: multipart/form-data' \ --form 'message="{\"version\": \"V2\", \"requestId\": \"1234\", \"timestamp\": 1724832750462, \"images\": [{\"format\": \"png\", \"name\": \"idcard_test\"}]}"' \ --form 'file=@"{file}"' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `version` | String | - | バージョン情報 - `V2`のみ使用 | | `requestId` | String | - | API呼び出し UUID | | `timestamp` | Integer | - | APIの呼び出し時刻(ミリ秒) - Unix Timestamp形式 | | `images` | Array | - | imagesの詳細情報: [images](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#images2) | #### `images` `images`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `uid` | String | - | 住民登録証画像の UID - API有効性検査時に使用 | | `name` | String | - | 住民登録証の画像名 - 画像の識別とレスポンス結果の確認時に使用 | | `inferResult` | String | - | 住民登録証の画像認識結果 - `SUCCESS` \| `FAILURE` \| `ERROR` - `SUCCESS`: 認識成功 - `FAILURE`: 認識失敗 - `ERROR`: 認識処理例外 | | `message` | String | - | 結果メッセージ | | `validationResult` | Object | - | 有効性検査の結果情報 | | `validationResult.result` | String | - | 有効性検査の結果コード - `NO_REQUESTED` \| `UNCHECKED` \| `ERROR` \| `VALID` \| `INVALID` - `NO_REQUESTED`: 検証をリクエストしていない(有効性検査失敗) - `UNCHECKED`: 検証の有無を確認できない - `ERROR`: 検証中にエラー発生(有効性検査失敗) - `VALID`: 検証中にエラー発生(有効性検査成功) - `INVALID`: 検証合格失敗 | | `validationResult.message` | String | - | 有効性検査結果の詳細メッセージ - 必ずしも返される値ではない | | `convertedImageInfo` | Object | - | 変換後の画像情報 - `format`が`pdf`または`tiff`の場合 - 座標は呼び出し画像ファイルを基準に設定 | | `convertedImageInfo.width` | Integer | - | 変換後画像の横長 | | `convertedImageInfo.height` | Integer | - | 変換後画像の縦長 | | `convertedImageInfo.pageIndex` | Integer | - | 変換後画像ページインデックス | | `idCard` | Object | - | 身分証明書の詳細情報 | | `idCard.meta` | Object | - | メタ情報 | | `idCard.meta.estimatedLanguage` | String | - | OCR推定言語 - `ko` \| `en` \| `ja` - `ko`:韓国語 - `en`: 英語 - `ja`: 日本語 | | `idCard.result` | Object | - | 身分証明書の OCR認識結果: [result](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#result) | #### `result` `result`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `isConfident` | Boolean | - | 各タイプの詳細情報を保有するかどうか - `true` \| `false` - `true`: 保有 - `false`: 保有しない | | `ic` | Object | - | 住民登録証情報 | | `ic.name` | Array | - | 氏名の詳細情報: [name](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#name) | | `ic.personalNum` | Array | - | 住民登録番号の詳細情報: [personalNum](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#personalNum) | | `ic.address` | Array | - | 住所の詳細情報: [address](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#address) | | `ic.issueDate` | Array | - | 発行日の詳細情報: [issueDate](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#issueDate) | | `ic.authority` | Array | - | 発行機関の詳細情報: [authority](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#authority) | | `rois` | Array | - | オブジェクト枠線の位置情報: [rois](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#rois) | | `idType` | String | - | 身分証明書タイプ - `ID Card` | #### name `name`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `text` | String | - | 認識結果の名前テキスト | | `formatted` | Object | - | 認識結果の名前テキスト情報 | | `formatted.value` | String | - | 認識結果の名前テキストの値 | | `keyText` | String | - | 認識結果の名前テキストのキー | | `confidenceScore` | Float | - | 認識結果の名前テキストの信頼度 - 0~1 - 信頼度が高いほどテキストの精度が高い | | `boundingPolys` | Array | - | boundingPolyの詳細情報: [boundingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#boundingpolys) | | `maskingPolys` | Array | - | maskingPolyの詳細情報: [maskingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#maskingpolys) | #### personalNum `personalNum`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `text` | String | - | 認識結果の住民登録番号テキスト | | `formatted` | Object | - | 認識結果の住民登録番号テキスト情報 | | `formatted.value` | String | - | 認識結果の住民登録番号テキスト情報 | | `keyText` | String | - | 認識結果の住民登録番号テキストのキー | | `confidenceScore` | Float | - | 認識結果の住民登録番号テキストの信頼度 - 0~1 - 信頼度が高いほどテキストの精度が高い | | `boundingPolys` | Array | - | boundingPolyの詳細情報: [boundingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#boundingpolys) | | `maskingPolys` | Array | - | maskingPolyの詳細情報: [maskingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#maskingpolys) | #### address `address`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `text` | String | - | 認識結果の住所テキスト | | `formatted` | Object | - | 認識結果の住所テキスト情報 | | `formatted.value` | String | - | 認識結果の住所テキストの値 | | `keyText` | String | - | 認識結果の住所テキストのキー | | `confidenceScore` | Float | - | 認識結果の住所テキストの信頼度 - 0~1 - 信頼度が高いほどテキストの精度が高い | | `boundingPolys` | Array | - | boundingPolyの詳細情報: [boundingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#boundingpolys) | | `maskingPolys` | Array | - | maskingPolyの詳細情報: [maskingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#maskingpolys) | #### issueDate `issueDate`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `text` | String | - | 認識結果の発行日テキスト | | `formatted` | Object | - | 認識結果の発行日テキスト情報 | | `formatted.year` | String | - | 認識結果の発行日の年度(yyyy) | | `formatted.month` | String | - | 認識結果の発行日の月(MM) | | `formatted.day` | String | - | 認識結果の発行日の日(dd) | | `keyText` | String | - | 認識結果の発行日テキストのキー | | `confidenceScore` | Float | - | 認識結果の発行日テキストの信頼度 - 0~1 - 信頼度が高いほどテキストの精度が高い | | `boundingPolys` | Array | - | boundingPolyの詳細情報: [boundingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#boundingpolys) | | `maskingPolys` | Array | - | maskingPolyの詳細情報: [maskingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#maskingpolys) | #### authority `authority`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `text` | String | - | 認識結果の発行機関テキスト | | `formatted` | Object | - | 認識結果の発行機関テキスト情報 | | `formatted.value` | String | - | 認識結果の発行機関テキストの値 | | `keyText` | String | - | 認識結果の発行機関テキストのキー | | `confidenceScore` | Float | - | 認識結果の発行機関テキストの信頼度 - 0~1 - 信頼度が高いほどテキストの精度が高い | | `boundingPolys` | Array | - | boundingPolyの詳細情報: [boundingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#boundingpolys) | | `maskingPolys` | Array | - | maskingPolyの詳細情報: [maskingPolys](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#maskingpolys) | #### rois `rois`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `x` | Float | - | オブジェクト枠線の位置 X軸の座標 | | `y` | Float | - | オブジェクト枠線の位置 Y軸の座標 | #### `boundingPolys` `boundingPolys`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `vertices` | Array | - | verticesの詳細情報: [vertices](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#vertices) | #### `maskingPolys` `maskingPolys`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `vertices` | Array | - | verticesの詳細情報: [vertices](/docs/ja/ai-application-service-ocr-ocrdocumentocr-identitycard#vertices) | #### `vertices` `vertices`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `x` | Float | - | X軸の座標 | | `y` | Float | - | Y軸の座標 | ### レスポンスステータスコード CLOVA OCR APIで共通して使用されるレスポンスステータスコードの詳細は、[CLOVA OCRの共通レスポンスステータスコード](/docs/ja/ai-application-service-ocr-ocrdocumentocr#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)をご参照ください。 ### レスポンス例 レスポンスのサンプルコードは次の通りです。 #### 成功 呼び出しに成功した場合のレスポンスのサンプルコードは次の通りです。 ``` { "version": "V2", "requestId": "1234", "timestamp": 1725406864631, "images": [ { "uid": "{uid}", "name": "idcard_test", "inferResult": "SUCCESS", "message": "SUCCESS", "validationResult": { "result": "NO_REQUESTED" }, "idCard": { "meta": { "estimatedLanguage": "ko" }, "result": { "isConfident": true, "ic": { "name": [ { "text": "ホン**", "formatted": { "value": "ホン**" }, "keyText": "", "confidenceScore": 0.0, "boundingPolys": [ { "vertices": [ { "x": 72.2125, "y": 116.6 }, { "x": 367.6875, "y": 116.6 }, { "x": 367.6875, "y": 165.625 }, { "x": 72.2125, "y": 165.625 } ] } ], "maskingPolys": [] } ], "personalNum": [ { "text": "800***-234****", "formatted": { "value": "800***-234****" }, "keyText": "", "confidenceScore": 0.0, "boundingPolys": [ { "vertices": [ { "x": 65.5875, "y": 181.52498 }, { "x": 363.71246, "y": 181.52498 }, { "x": 363.71246, "y": 216.63748 }, { "x": 65.5875, "y": 216.63748 } ] } ], "maskingPolys": [ { "vertices": [ { "x": 211.13873, "y": 178.01373 }, { "x": 367.22372, "y": 178.01373 }, { "x": 367.22372, "y": 220.14873 }, { "x": 211.13873, "y": 220.14873 } ] } ] } ], "address": [ { "text": "ソウル特別市***", "formatted": { "value": "ソウル特別市***" }, "keyText": "", "confidenceScore": 0.0, "boundingPolys": [ { "vertices": [ { "x": 51.675, "y": 235.1875 }, { "x": 192.7875, "y": 235.1875 }, { "x": 192.7875, "y": 272.2875 }, { "x": 51.675, "y": 272.2875 } ] } ], "maskingPolys": [] } ], "issueDate": [ { "text": "2020.08.16", "formatted": { "year": "2020", "month": "08", "day": "16" }, "keyText": "", "confidenceScore": 0.0, "boundingPolys": [ { "vertices": [ { "x": 242.475, "y": 351.7875 }, { "x": 374.3125, "y": 351.7875 }, { "x": 374.3125, "y": 381.6 }, { "x": 242.475, "y": 381.6 } ] }, ], "maskingPolys": [ { "vertices": [ { "x": 239.52966, "y": 349.0218 }, { "x": 424.9578, "y": 349.0217 }, { "x": 424.9578, "y": 384.3657 }, { "x": 239.52968, "y": 384.36578 } ] } ] } ], "authority": [ { "text": "ソウル特別市**区長**", "formatted": { "value": "ソウル特別市**区長" }, "keyText": "", "confidenceScore": 0.0, "boundingPolys": [ { "vertices": [ { "x": 146.53316, "y": 381.33884 }, { "x": 326.93195, "y": 383.12497 }, { "x": 326.47778, "y": 428.99695 }, { "x": 146.07898, "y": 427.21082 } ] } ], "maskingPolys": [] } ] }, "rois": [ { "vertices": [ { "x": 3.1388545, "y": 3.9956706 }, { "x": 754.52325, "y": -5.092327 }, { "x": 747.84045, "y": 473.14856 }, { "x": 2.264223, "y": 474.4076 } ] } ], "idtype": "ID Card" } } } ] } ``` #### 失敗 呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。 ``` { "version": "V2", "requestId": "1234", "timestamp": 1725235840459, "images": [ { "uid": "{uid}", "name": "idcard_sample", "inferResult": "ERROR", "message": "Read page:0 error.", "validationResult": { "result": "NO_REQUESTED" } } ] } ```