Document Parse (Asynchronous)
How it works
Users can submit an inference request for an image or a PDF document with up to 1000 pages using the asynchronous Inference request API in Document Parse. Upon receiving the request, the API immediately returns a Request ID. After the input file is transferred and validated, it is divided into batches of 10 pages each, and inference is performed on each batch. Users can check the status of each batch in real-time using the Inference Response API. The inference results of each batch can be downloaded using the provided download_url
in the response. The results will be available for downloading for 30 days from the time of the request.
Available models
Alias | Model | Release date | Description |
---|---|---|---|
document-parse | document-parse-240910 | 2024-09-10 | Support for Microsoft Word, Excel, and Powerpoint. Markdown output for tables and list items. Base64 encoding of extracted images for all requested layout categories. |
Request examples
Inference request
Request
Response
Retrieve inference results
Request
Response
Inference History
Request
Response
Error Handlings
In Document Parse Async APIs, errors can occur in three different scenarios: request errors, batch-inference errors, or failures to retrieve the request result.
Request error
This error occurs when the input document cannot be handled by the API or if there's an error during processing, such as image conversion or page split. In case of a request failure, instead of returning a request ID, the API returns an object with error code and message.
The table below shows the error message and code for typical error cases.
error message | http status code |
---|---|
invalid model name | 400 |
no document in the request | 400 |
uploaded document is too large. max allowed size is 50MB | 413 |
unsupported document format | 415 |
Batch inference error
Due to the engine dividing the input document into batches of 10 pages each, each batch may have a different status for model inference. As the input file has already been validated before inference, batch inference errors are most likely caused by internal server errors. When this occurs, the API response for retrieving the result will show a failed
status in the batches
field with a failure_message
.
Below code block shows the schema of batches field in the API response for inference result.
Failures to retrieve the request result
Normally, this error can occur when the download_url
for each batch fails to generate. Due to security reasons, the download URL is only valid for 15 minutes and a new one is generated every time the user retrieves the inference result. When a user submits a long document, the server needs to create a download URL for each batch, and sometimes the server may struggle to create a high number of pre-signed URLs.