ガイド
画像
DeepSeekは1リクエストあたり最大10枚の画像を、OpenAIの image_url 形式でリンクまたはデータURLとして読めます。GLMはテキストのみを読みます。
2026年10月26日 確認
画像を送る
メッセージの content をパーツのリストにします。画像は image_url パーツ、質問は text パーツにします。
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)パソコン内の画像
データURLとして送ります。ファイルのバイト列をbase64にし、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}}リクエストは最大12 MBまでです。大きな画像を複数データURLで送ると、すぐに上限に達します。リンクならリクエストが小さく保てます。
上限
- 1リクエストあたり最大10枚の画像で、すべてのメッセージの合計です。それを超えると
400 too_many_imagesになります。 glm-5.3-flash-uncensoredに送った画像は400 unsupported_inputで拒否され、そのエラーはDeepSeekを使うよう案内します。黙って削除されることはありません。- 動画と音声のパーツも同様に拒否されます。どちらのモデルも読めません。
- 画像は、モデルがそれを読んだ入力トークンとして課金されます。