Freunde einladen und kostenlose Tokens verdienen!Mehr erfahren

DeepSeek-OCR Bilderkennung API-Dokumentation

Dieser Endpunkt bietet Funktionen zur optischen Zeichenerkennung (Texterkennung/OCR) basierend auf dem DeepSeek-OCR-Modell. Die API verwendet das mit OpenAI kompatible „Chat Completions“-Format und unterstützt das Hochladen von Bildern per URL oder Base64-Codierung, um diese in Text oder das Markdown-Format umzuwandeln.

  • Service-Domain: https://api.codingplanx.ai
  • Endpunkt-Pfad: /v1/chat/completions
  • HTTP-Methode: POST
  • Status: Veröffentlicht (Released)

1. Anfrageparameter (Request)

1.1 Request-Header

ParameternameErforderlichTypBeispielwertBeschreibung
Content-TypeJaStringapplication/jsonFormat des Request-Bodys
AcceptJaStringapplication/jsonFormat des Response-Bodys
AuthorizationJaStringBearer YOUR_API_KEYAPI-Key zur Authentifizierung

1.2 Request-Body

ParameternameErforderlichTypBeschreibung
modelJaStringDie verwendete Modell-ID. Für OCR-Erkennung bitte deepseek-ocr angeben.
messagesJaArrayListe der Nachrichten im Dialog. Für OCR müssen Bildinformationen in den Nachrichten enthalten sein.
streamNeinBooleanStandardwert ist false. Wenn true, wird die Antwort als Stream zurückgegeben.
temperatureNeinNumberSampling-Temperatur (0-2). Niedrigere Werte sind fokussierter und stabiler, höhere Werte sind zufälliger.
top_pNeinNumberWahrscheinlichkeitsschwellenwert für das Nucleus-Sampling.
max_tokensNeinIntegerMaximale Anzahl der zu generierenden Tokens.
response_formatNeinObjectLegt das Rückgabeformat fest, z. B. {"type": "json_object"}, um den JSON-Modus zu aktivieren.
toolsNeinArrayListe der vom Modell aufrufbaren Tools (unterstützt derzeit hauptsächlich Function Calling).

2. Anfragebeispiel

2.1 OCR-Bilderkennung Request (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" 
          }
        }
      ]
    }
  ]
}

Hinweis: Das Feld image_url.url unterstützt die direkte Übergabe einer öffentlichen URL des Bildes oder eines Base64-codierten Datenstrings (Format z. B.: data:image/jpeg;base64,...).


3. Antwortdetails (Response)

3.1 Struktur des Response-Bodys

FeldTypBeschreibung
idStringEindeutiger Identifikator dieser Anfrage.
objectStringObjekttyp, normalerweise chat.completion.
createdIntegerUnix-Zeitstempel (in Sekunden).
choicesArrayEnthält die generierten Antwortoptionen.
└─ messageObjectDer vom Modell zurückgegebene Nachrichteninhalt, enthält role und content.
└─ finish_reasonStringGrund für den Abbruch (z. B. stop oder length).
usageObjectStatistik zur Token-Nutzung, enthält Prompt-, Completion- und Gesamt-Tokens.

3.2 Antwortbeispiel

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Hier ist der von der OCR erkannte Text, der normalerweise Formatierungsinformationen aus dem Bild im Markdown-Format zurückgibt."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 512,
        "completion_tokens": 128,
        "total_tokens": 640
    }
}

4. FAQs (Häufig gestellte Fragen)

Q1: Welche Bildformate unterstützt DeepSeek-OCR? A: Derzeit werden gängige Formate wie JPEG, PNG, WebP und BMP unterstützt. Es wird empfohlen, klare Bilder mit angemessener Auflösung zu verwenden, um eine hohe Erkennungsgenauigkeit zu gewährleisten.

Q2: Wie lade ich Bilder per Base64 hoch? A: Ersetzen Sie einfach den Wert von image_url.url durch den Base64-String. Formatbeispiel: "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...".

Q3: Warum wird das Erkennungsergebnis abgeschnitten? A: Bitte überprüfen Sie das Feld finish_reason in der Antwort. Wenn dieser length lautet, bedeutet das, dass der generierte Inhalt das Limit von max_tokens überschritten hat. Es wird empfohlen, den Parameter max_tokens zu erhöhen.

Q4: Unterstützt diese Schnittstelle die Stapelverarbeitung (Batch) von Bildern? A: Sie können versuchen, mehrere image_url-Objekte in den messages einer einzelnen Anfrage hinzuzufügen. Es wird jedoch empfohlen, für jedes Bild einen separaten API-Aufruf durchzuführen, um die beste Kontextverarbeitung und eine stabilere Antwort zu erzielen.

Q5: Wie erhalte ich ein präziseres Layout (z. B. für Tabellen oder Formeln)? A: Sie können den system- oder user-Nachrichten entsprechende Prompt-Anweisungen hinzufügen, zum Beispiel: „Bitte verwenden Sie das Markdown-Format, um das Tabellenlayout im Bild beizubehalten und mathematische Formeln exakt zu erkennen.“

Q6: Wird Streaming-Ausgabe (Streaming) unterstützt? A: Ja. Wenn Sie den Parameter stream in der Anfrage auf true setzen, gibt das Modell die erkannten Textfragmente in Echtzeit zurück. Dies eignet sich hervorragend für interaktive Szenarien, in denen die Latenz bis zum ersten Zeichen minimiert werden soll.