Deepseek OCR

Инструмент распознавания текста с изображений (OCR). Позволяет извлекать текст из фотографий, сканов документов, скриншотов и других графических материалов. Поддерживает многоязычность и подходит для автоматизации документооборота, анализа изображений и цифровизации данных.

Шаг 1. Откройте Deepseek OCR и нажмите «Получить API-ключ»

deepseek: карточка сервиса с кнопкой «Получить API-ключ»
Чтобы получить API-ключ, нажмите Получить API-ключ

Шаг 2. Создание API-ключа

deepseek: создание API-ключа
Для создания API-ключа введите название

Что вы получите на Alem Plus:

  • API Key

Чтобы его использовать, сделайте запрос: POST https://llm.alem.ai/v1/chat/completions

Headers: Authorization: Bearer API Key

body
Используйте такую модель json

URL изображения ДОЛЖЕН:

  • быть публично доступным (без авторизации)
  • возвращать HTTP 200
  • иметь Content-Type: image/jpeg или image/png
  • возвращать именно файл изображения, а не HTML

Если на изображении отсутствует распознаваемый текст, модель возвращает пустую строку (content: “”). Это корректный результат и не является ошибкой. —

Примеры использования в Вашем коде:

import requests

URL = "https://llm.alem.ai/v1/chat/completions"
API_KEY = "YOUR_API_KEY"  

IMAGE_URL = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRcOmqVyTywcnSFkWu0lK1vgmjoJ56DFwkLLw&s"  # прямая ссылка на jpg/png

payload = {
    "model": "deepseek-ocr",
    "temperature": 0,
    "messages": [
        {
            "role": "user",
            "content": [
                {"type": "image_url", "image_url": {"url": IMAGE_URL}},
                {
                    "type": "text",
                    "text": "Распознай весь текст. Сохрани переносы строк. Ничего не объясняй.",
                },
            ],
        },
    ],
}


def main():
    try:
        resp = requests.post(
            URL,
            headers={
                "Authorization": f"Bearer {API_KEY}",
                "Content-Type": "application/json",
            },
            json=payload,
            timeout=60,
        )
        resp.raise_for_status()
        data = resp.json()
        print(data["choices"][0]["message"]["content"])
    except (requests.RequestException, KeyError) as e:
        print(f"Request failed: {e}\nBody: {resp.text if 'resp' in locals() else ''}")


if __name__ == "__main__":
    main()



const URL = "https://llm.alem.ai/v1/chat/completions";
const API_KEY = "YOUR_API_KEY"; 

const IMAGE_URL = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRcOmqVyTywcnSFkWu0lK1vgmjoJ56DFwkLLw&s"; 

async function main() {
  const resp = await fetch(URL, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "deepseek-ocr",
      temperature: 0,
      messages: [
        {
          role: "user",
          content: [
            { type: "image_url", image_url: { url: IMAGE_URL } },
            {
              type: "text",
              text: "Распознай весь текст. Сохрани переносы строк. Ничего не объясняй.",
            },
          ],
        },
      ],
    }),
  });

  if (!resp.ok) {
    throw new Error(`HTTP ${resp.status} ${await resp.text()}`);
  }

  const data = await resp.json();
  console.log(data?.choices?.[0]?.message?.content ?? "");
}

main().catch((err) => {
  console.error("Deepseek OCR request failed:", err);
  process.exit(1);
});


<?php
declare(strict_types=1);

$URL    = 'https://llm.alem.ai/v1/chat/completions';
$API_KEY = 'YOUR_API_KEY'; // <-- сюда ключ

$imageUrl = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRcOmqVyTywcnSFkWu0lK1vgmjoJ56DFwkLLw&s'; // прямая ссылка на jpg/png

$payload = [
    'model'       => 'deepseek-ocr',
    'temperature' => 0,
    'messages'    => [
        [
            'role'    => 'user',
            'content' => [
                [
                    'type'      => 'image_url',
                    'image_url' => ['url' => $imageUrl],
                ],
                [
                    'type' => 'text',
                    'text' => 'Распознай весь текст. Сохрани переносы строк. Ничего не объясняй.',
                ],
            ],
        ],
    ],
];

$ch = curl_init($URL);
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $API_KEY,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS     => json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
]);

$raw = curl_exec($ch);
if ($raw === false) {
    throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$code = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);

if ($code < 200 || $code >= 300) {
    throw new RuntimeException("HTTP $code: $raw");
}

$data = json_decode($raw, true);
echo $data['choices'][0]['message']['content'] ?? $raw;


Рассмотрим как получить протестировать Deepseek OCR с помощью POSTMAN.

Укажите метод POST и свой API-KEY

postmandeepseek
В разделе Authorization укажите свой API-KEY

Укажите KEY и VALUE

postman2deepseek
Перейдите в Headers и укажите так

Укажите model и input

postman3deepseek
Перейдите в Body и укажите Json

Нажмите Send

postman4deepseek
Вы получите ответ от deepseek ocr

Как сочетать Deepseek OCR с другими сервисами

  • Оркестрация/агенты: n8n