DeepSeek-OCR API-documentatie voor afbeeldingsherkenning
Deze interface biedt OCR-functionaliteit (optical character recognition) op basis van het DeepSeek-OCR-model. De API gebruikt een met OpenAI compatibel Chat Completions-formaat en ondersteunt het uploaden van afbeeldingen via een URL of Base64-codering om deze om te zetten naar tekst of Markdown.
- Servicedomein:
https://api.codingplanx.ai - Endpoint-pad:
/v1/chat/completions - HTTP-methode:
POST - API-status: Vrijgegeven (Released)
1. Verzoekparameters
1.1 Request headers
| Parameternaam | Verplicht | Type | Voorbeeldwaarde | Beschrijving |
|---|---|---|---|---|
| Content-Type | Ja | String | application/json | Formaat van de request body |
| Accept | Ja | String | application/json | Formaat van de response body |
| Authorization | Ja | String | Bearer YOUR_API_KEY | API Key voor authenticatie |
1.2 Request body
| Parameternaam | Verplicht | Type | Beschrijving |
|---|---|---|---|
| model | Ja | String | Te gebruiken model-ID; voor OCR-herkenning moet dit deepseek-ocr zijn |
| messages | Ja | Array | Lijst met chatberichten. Voor OCR moet afbeeldingsinformatie in de berichten worden opgenomen. |
| stream | Nee | Boolean | Standaard false. Als dit true is, wordt de respons als stream teruggegeven. |
| temperature | Nee | Number | Samplingtemperatuur (0-2). Lagere waarden geven stabielere en meer geconcentreerde output; hogere waarden zorgen voor meer variatie. |
| top_p | Nee | Number | Waarschijnlijksheidsdrempel voor nucleus sampling. |
| max_tokens | Nee | Integer | Maximaal aantal te genereren tokens. |
| response_format | Nee | Object | Geeft het responsformaat op, bijvoorbeeld {"type": "json_object"} om de JSON-modus in te schakelen. |
| tools | Nee | Array | Lijst met tools die het model kan aanroepen (momenteel voornamelijk function calling). |
2. Voorbeeldverzoeken
2.1 OCR-verzoek voor afbeeldingsherkenning (JSON)
{
"model": "deepseek-ocr",
"stream": false,
"messages": [
{
"role": "system",
"content": "<image>\r
Gratis OCR."
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://s3.ffire.cc/files/pdf_to_markdown.jpg"
}
}
]
}
]
}
Let op: Het veld
image_url.urlondersteunt zowel een openbare afbeeldings-URL als een Base64-gecodeerde datastring (bijvoorbeeld:data:image/jpeg;base64,...).
3. Uitleg van de respons
3.1 Structuur van de response body
| Veld | Type | Beschrijving |
|---|---|---|
| id | String | Unieke identificatie van deze aanvraag. |
| object | String | Objecttype, meestal chat.completion. |
| created | Integer | Unix-tijdstempel (seconden). |
| choices | Array | Bevat één of meerdere gegenereerde opties. |
| └─ message | Object | Het bericht dat door het model is teruggegeven, inclusief role en content. |
| └─ finish_reason | String | Reden van stoppen (zoals stop of length). |
| usage | Object | Token-gebruiksstatistieken, inclusief prompt-, completion- en totaal aantal tokens. |
3.2 Voorbeeldrespons
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Dit is de door OCR herkende tekstinhoud, meestal teruggegeven in Markdown-formaat om de opmaak van de afbeelding te behouden."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 512,
"completion_tokens": 128,
"total_tokens": 640
}
}
4. FAQ's (veelgestelde vragen)
V1: Welke afbeeldingsformaten ondersteunt DeepSeek-OCR?
A: Momenteel worden gangbare afbeeldingsformaten zoals JPEG, PNG, WebP en BMP ondersteund. Voor de beste nauwkeurigheid wordt aangeraden duidelijke afbeeldingen met een geschikte resolutie te gebruiken.
V2: Hoe upload ik een afbeelding met Base64?
A: Vervang de waarde van image_url.url door een Base64-string. Voorbeeldformaat: "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...".
V3: Waarom wordt het herkenningsresultaat afgekapt?
A: Controleer finish_reason in de respons. Als deze length is, betekent dit dat de gegenereerde inhoud de limiet van max_tokens heeft overschreden. Verhoog in dat geval de waarde van max_tokens.
V4: Ondersteunt deze interface batchgewijze herkenning van afbeeldingen?
A: U kunt proberen meerdere image_url-objecten toe te voegen binnen messages in één aanvraag, maar het wordt aanbevolen om elke afbeelding afzonderlijk te verwerken voor betere contextverwerking en stabielere resultaten.
V5: Hoe krijg ik een nauwkeurigere lay-outweergave (zoals tabellen of formules)?
A: U kunt extra prompts toevoegen in het system- of user-bericht, bijvoorbeeld: “Gebruik Markdown-formaat om de tabelindeling in de afbeelding te behouden en herken de wiskundige formules daarin.”
V6: Wordt streaming-output ondersteund?
A: Ja. Zet de parameter stream in het verzoek op true, en het model retourneert in realtime herkende tekstfragmenten. Dit is geschikt voor interactieve scenario’s waarin een lagere time-to-first-token gewenst is.