> For the complete documentation index, see [llms.txt](https://docs.kredibel.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kredibel.io/api-references/text-recognition.md).

# Text Recognition

## Introduction

Text Recognition can help you to automate tedious data entry and speed up the onboarding process.

## Ability

* Recognize text in all orientations
* Detect identity card in the image

## Limitations

The following is a list of conditions that can reduce performance of the model to recognize text.

* Blurry Image
* Glare Image
* Lightning
* Perspective

## Under the Hood

Kredibel is using **deep learning** to perform text recognition task. Below is an explanation of how a Kredibel Text Recognition system works.

### 1. Upload Image

Users can upload a **handheld** or **non-handheld** identity card image. Our system can handle both.&#x20;

### 2. Identity Card Detection

Our system will **detect** whether there is an identity card in the image or not.

### 3. Cropping

Our system will automatically **crop** the image region of interest (identity card) to prevent unwanted characters from being detected.

### 4. Orientation estimation

Our system will **estimate** text orientation and **normalize** it. Thats why our system can recognize text in all orientations.

### 5. Text Detection

Our system **detects** text on the image. Create a bounding box for each detected word.

### 6. Text Recognition

Our system **recognizes** each text detected by the text detection model.

### 7. POST-OCR Parsing

Our system will **parse** the unstructured data generated by the OCR system into structured data.

## Endpoints

| Method | URL                          | Description  |
| ------ | ---------------------------- | ------------ |
| POST   | `$vision/v1/ocr/id/ktp`      | KTP OCR      |
| POST   | `$vision/v1/ocr/id/sim`      | SIM OCR      |
| POST   | `$vision/v1/ocr/id/passport` | Passport OCR |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kredibel.io/api-references/text-recognition.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
