Guides
Pictures
DeepSeek reads up to 10 pictures per request, as links or data URLs, in OpenAI’s image_url format. GLM reads text only.
Checked 26 October 2026
Send a picture
Make the message’s content a list of parts: the pictures as image_url parts and your question as a text part.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
reply = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=[{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/receipt.jpg"}},
{"type": "text", "text": "What does this receipt add up to?"},
],
}],
)
print(reply.choices[0].message.content)A picture on your computer
Send it as a data URL: the file’s bytes in base64 after data:image/jpeg;base64,.
import base64
with open("receipt.jpg", "rb") as f:
url = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
part = {"type": "image_url", "image_url": {"url": url}}A request can be up to 12 MB. Several large pictures as data URLs pass that quickly; links keep the request small.
Limits
- Up to 10 pictures per request, across all its messages. More is
400 too_many_images. - Pictures sent to
glm-5.3-flash-uncensoredare refused with400 unsupported_input, which names DeepSeek. Nothing is dropped without saying so. - Video and audio parts are refused the same way. Neither model reads them.
- A picture is billed as the input tokens the model reads it as.