Пригласите друзей и получите бесплатные токены!Узнать больше

Документация API DeepSeek-OCR для распознавания текста на изображениях

Данный интерфейс предоставляет функцию распознавания текста на изображениях (OCR) на базе модели DeepSeek-OCR. Этот API использует формат автодополнения чата (Chat Completions), совместимый с OpenAI, и поддерживает загрузку изображений через URL или в кодировке Base64 для их преобразования в текст или формат Markdown.

  • Домен сервиса: https://api.codingplanx.ai
  • Путь (Endpoint): /v1/chat/completions
  • Метод запроса: POST
  • Статус: Опубликован (Released)

1. Параметры запроса

1.1 Заголовки запроса (Headers)

НазваниеОбязательноТипПримерОписание
Content-TypeДаStringapplication/jsonФормат тела запроса
AcceptДаStringapplication/jsonФормат тела ответа
AuthorizationДаStringBearer YOUR_API_KEYAPI-ключ для аутентификации

1.2 Тело запроса (Request Body)

НазваниеОбязательноТипОписание
modelДаStringID используемой модели. Для OCR укажите deepseek-ocr
messagesДаArrayСписок сообщений диалога. Для OCR в сообщение необходимо включить информацию об изображении.
streamНетBooleanПо умолчанию false. Если true, ответ будет возвращаться в виде потока (stream).
temperatureНетNumberТемпература выборки (0-2). Низкие значения делают генерацию более точной и стабильной, высокие — более случайной.
top_pНетNumberПорог вероятности при ядерном сэмплинге (nucleus sampling).
max_tokensНетIntegerМаксимальное количество генерируемых токенов.
response_formatНетObjectЗадает формат ответа, например, {"type": "json_object"} включает режим JSON.
toolsНетArrayСписок инструментов, доступных для вызова моделью (в настоящее время в основном поддерживается вызов функций).

2. Пример запроса

2.1 Запрос на распознавание OCR (JSON)

{
  "model": "deepseek-ocr",
  "stream": false,
  "messages": [
    {
      "role": "system",
      "content": "<image>\r
Free OCR."
    },
    {
      "role": "user",
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url": "https://s3.ffire.cc/files/pdf_to_markdown.jpg" 
          }
        }
      ]
    }
  ]
}

Примечание: Поле image_url.url поддерживает как передачу публичного URL изображения, так и строки данных в кодировке Base64 (в формате: data:image/jpeg;base64,...).


3. Описание ответа

3.1 Структура тела ответа

ПолеТипОписание
idStringУникальный идентификатор запроса.
objectStringТип объекта, обычно chat.completion.
createdIntegerМетка времени Unix (в секундах).
choicesArrayМассив, содержащий сгенерированные варианты ответа.
└─ messageObjectСодержимое ответа модели, включая role и content.
└─ finish_reasonStringПричина остановки генерации (например, stop или length).
usageObjectСтатистика использования токенов (запрос, генерация и всего).

3.2 Пример ответа

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Здесь находится распознанный OCR текст. Обычно информация о форматировании изображения возвращается в формате Markdown."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 512,
        "completion_tokens": 128,
        "total_tokens": 640
    }
}

4. ЧАВО (Часто задаваемые вопросы - FAQ)

В1: Какие форматы изображений поддерживает DeepSeek-OCR? О: В настоящее время поддерживаются основные форматы, такие как JPEG, PNG, WebP и BMP. Для обеспечения высокой точности распознавания рекомендуется использовать четкие изображения с подходящим разрешением.

В2: Как загрузить изображение с использованием Base64? О: Просто замените значение image_url.url на строку Base64. Пример формата: "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...".

В3: Почему результаты распознавания обрезаются? О: Проверьте поле finish_reason в ответе. Если его значение length, это означает, что сгенерированный контент превысил лимит max_tokens. Рекомендуется увеличить значение параметра max_tokens.

В4: Поддерживает ли этот API пакетное распознавание изображений? О: В рамках одного запроса в массиве messages вы можете попытаться добавить несколько объектов image_url. Однако для получения наилучшей обработки контекста и более стабильных ответов рекомендуется отправлять отдельный запрос для каждого изображения.

В5: Как получить более точное форматирование (например, таблиц или формул)? О: Вы можете добавить дополнительные инструкции (промпты) в сообщения system или user. Например: "Пожалуйста, используйте формат Markdown для сохранения макета таблицы с изображения и распознайте математические формулы внутри неё".

В6: Поддерживается ли потоковый вывод (Streaming)? О: Да, поддерживается. Установите параметр stream равным true в вашем запросе, и модель будет возвращать распознанные фрагменты текста в реальном времени. Это отлично подходит для сценариев интерактивного взаимодействия, где необходимо снизить задержку до появления первого символа.