API Reference
OpenAPI Specification
You can download the complete API spec
. The API spec is subject to change while in Early Access (EA). EA participants are encouraged to provide feedback to NVIDIA prior to the General Access (GA) release.
API Examples
Extract Text Data from Image
The v1/infer
endpoint accepts multiple images and returns a list of text extracted from each image.
Each image must be base64 encoded, and should be represented in the following JSON format.
The supported image formats are png
and jpeg
.
{
"type": "image_url",
"image_url": {
"url": "data:image/<IMAGE_FORMAT>;base64,<BASE64_ENCODED_IMAGE>"
}
}
Example:
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAB41BMVEUAAABtr0FtsUFssEJtsEJusUN0sVxtrkFtsUNztkdtsUJus0R0s0ZvskNrrT9sr0JwtUZtsEFusEJtsEJusUNusUNtsEJusUNusUNusUNtsEJusUNusUNusUNusENtsUJusUNusUNusUNtsUNusUNusUNusUNusUNusUNusUNusUNusUNtsEJusUNusUNtsEFusUJusUNusUNtsUJusEJtsEJtsENusUNusUNusUNusUNusUNtsEJusEJtsEJusUNusUNusUJusUNusUNtsEJusEJusUNusUNusUNusEJusUNusUNusEJtsUNusUNusUNtsUNusEJusUNusUNtsEFusUNusUNsrkFusUNusEJusUNusUNtsUJtsUNusUNusUJusUNusUNusUJusUJusUNusUNtsEJusEJusUNusUNssEFtsUFusUNusUNssEJusUNusUNusEJusUNusUNtsUJusEJusUNusUNssUJusUNusUNusUNusUNusUJtsEJusUJusUNtsEJusUNusUNusUJusUJusUNusUNusEJusUNusUNtsUJusUNusUNtsEJrrz9pqz5usUNusUNusUNtsEJusUNusUNusUNusEJtsUJusUNusUNusUNusUNusUNtsUJusUNteYTkAAAAoHRSTlMAAAAAAAAAAAAAAAAAAAAAAAAAJOT+Kdfz/B1bmqlGOVKL0SCAz8mUc6GYZBpr2Ahd0tBgFRVErMjp3XUOKBz0sCLKvwwyl/CmGb28GD7N02FCslwEk6oDhCHn60FKVTzl7z4t5roPIOPZCQJ4uRJpjTP9w0Mco5EQatyGh1goWcwY95shKWhuEX7WVsKZFgQBM8s1ISlFdxA8tcfU6PggwJY8TQAAAQBJREFUeJxjYAADRiZhkQWiIADmMrOwsomJS0guAAIgl52DU0paRlZOXkFRSRIowMWtrKKqpq6hqaUtrKOrx8Cib2BoZGxiamZuYWllbWPLYKdu7+Bop+LkbOvi6ubu4cngJert4+vnHxAYFMwTErpAnSFoQVh4xAJd3sio6JhYveg4hviExKTklNS09IwFmdGW0lkM2TmSuXn5EgWFKQuKiktKQxm40sokyysqq7yra2rr6hskGRhYGj2amltaK3XbFJ3sDduBLuXq6Ezo6uzu8S/ujevrBwrwsU6YqDipePKUyKnTpjuAPcfPKjBj5qzZc+bOA3sOBASF5icsAAMAFI5IFASP0tsAAAAASUVORK5CYII="
}
}
An inference request has entries for model
and messages
. The value for model
must be "baidu/paddleocr"
. The value for messages
must be an array of exactly one message
object. A message
contains a content
array of all images in the inference request, declared in the format specified above. For example, a JSON payload of three images would look like:
{
"model": "baidu/paddleocr",
"messages": [
{
"content": [
{
"type": "image_url",
"image_url": {
"url": "data:img/png;base64,<BASE64_ENCODED_IMAGE>"
}
},
{
"type": "image_url",
"image_url": {
"url": "data:img/png;base64,<BASE64_ENCODED_IMAGE>"
}
},
{
"type": "image_url",
"image_url": {
"url": "data:img/png;base64,<BASE64_ENCODED_IMAGE>"
}
}
]
}
]
}
cURL Request
HOSTNAME="localhost"
SERVICE_PORT=8000
curl -X "POST" \
"http://${HOSTNAME}:${SERVICE_PORT}/v1/infer" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "baidu/paddleocr",
"messages": [
{
"content": [
{
"type": "image_url",
"image_url": {
"url": "data:image/<IMAGE_FORMAT>;base64,<BASE64_ENCODED_IMAGE>"
}
}
]
}
]
}'
Response
{
"object": "list",
"data": [
{
"index": 0,
"content": "<text from image>",
"object": "string"
},
],
"model": "baidu/paddleocr",
"usage": null
}
Health Check
cURL Request
Use the following command to query the health endpoints.
HOSTNAME="localhost"
SERVICE_PORT=8000
curl "http://${HOSTNAME}:${SERVICE_PORT}/v1/health/ready" \
-H 'Accept: application/json'
HOSTNAME="localhost"
SERVICE_PORT=8000
curl "http://${HOSTNAME}:${SERVICE_PORT}/v1/health/live" \
-H 'Accept: application/json'
Response
{
"ready": true
}
{
"live": true
}