edenai-apis
edenai-apis copied to clipboard
OCR endpoint not working
Endpoint for ocr is not working.
It is throwing a validation error message about provider not being set, while within guzzle it is clearly being set and passed.
Your live preview cannot test when header is set to 'Content-Type' => 'multipart/form-data;' https://docs.edenai.co/reference/ocr_ocr_create
$client = new \GuzzleHttp\Client();
$response = $client->post('https://api.edenai.run/v2/ocr/ocr', [
'multipart' => [
[
'name' => 'providers',
'contents' => 'api4ai'
]
],
'headers' => [
'Authorization' => 'Bearer ' . $this->token,
'Content-Type' => 'multipart/form-data;'
]
])
Response
Client error: `POST https://api.edenai.run/v2/ocr/ocr` resulted in a `400 Bad Request` response:
{"error":{"type":"Invalid request","message":{"providers":["Please enter the name of the provider(s)"]}}}
Can I work on this issue?
Is this issue fixed ? Still happening for me
Hi, it seems to me that the issue is with the formatting pf the providers. It should be a list: In your PHP code you should have something like:
$client = new \GuzzleHttp\Client();
$response = $client->post('https://api.edenai.run/v2/ocr/ocr', [
'multipart' => [
[
'name' => 'providers',
'contents' => '["api4ai"]' // <-- This must be a list of strings
],
[
'name' => 'file',
'contents' => Utils::tryFopen('/path/to/your/document.pdf', 'r'),
'filename' => 'your_document.pdf',
'headers' => [
'Content-Type' => '<Content-type header>'
]
]
],
'headers' => [
'Authorization' => 'Bearer ' . $this->token,
'Content-Type' => 'multipart/form-data;'
]
])
Note that the file part is just an example, and you need to adapt it to your problem. Hope it helps.