edenai-apis icon indicating copy to clipboard operation
edenai-apis copied to clipboard

OCR endpoint not working

Open drazenmatic opened this issue 1 year ago • 3 comments

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)"]}}}

drazenmatic avatar Nov 06 '23 19:11 drazenmatic

Can I work on this issue?

gpuligundla avatar Nov 09 '23 14:11 gpuligundla

Is this issue fixed ? Still happening for me

ghoshsanjoy78 avatar Jul 14 '24 20:07 ghoshsanjoy78

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.

juandavidcruzgomez avatar Jul 26 '24 08:07 juandavidcruzgomez