Skip to main content
deepseek-v4-flash-vision-exp は DeepSeek の 実験的なビジョンモデル で、V4 Flash ベースに画像入力を追加したものです。画像の説明、スクリーンショットからの文字読み取り、グラフ値の読み取り、 複数画像の比較ができます。テキスト側のすべて(1M コンテキスト、thinking mode、関数呼び出し、 コンテキストキャッシュ)はそのまま保持され、料金はテキストのみの V4 Flash と同一です—— vision に追加料金はなく、画像はその寸法に基づいて入力 token に変換されます APIYI は、約 1,100 回の呼び出しにわたる 124 件のテストケース を完了しており、3 つの画像入力 チャネル、4 種類の画像フォーマット、2 つのプロトコル、2 つのグループをカバーしています。
呼び出す前にお読みください。このモデルは APIYI 上で 2 つのグループにより提供されており、機能が異なります。ご利用のプロトコルに合うグループを選択してください。間違ったグループを選んでも「wrong group」エラーにはなりません。パラメータが 何も起こさないまま無視されたり、2 回目のターンで 400 が返ったり、/v1/responsesmessages について エラーを出したりします。 どちらのグループも 料金は完全に同一 です —— グループが影響するのは機能だけで、課金には影響しません。 下の「グループの選び方」をご覧ください。

ハイライト

ビジョンの追加料金なし

テキスト専用のV4 Flashと同価格: $0.44入力、$1.32出力、1M tokenあたりです。画像はinput tokenになり、1画像あたり384が上限です。

テストで堅実な認識

スクリーンショットOCRの値はすべて正確で、5本棒グラフは5/5、36個の図形の中から特定の形を数えるテストは24/24でした。否定質問でもハルシネーションはありませんでした。

事前圧縮は不要

2000×2000と4000×4000は、まったく同じtoken数(346)に変換されます。上流側で自動的にリサイズされます——圧縮で節約できるのは帯域幅だけで、費用は変わりません。

両方のプロトコルが動作します

OpenAI形式(chat/completions + responses)とAnthropic形式(/v1/messages)の両方が検証済みで、それぞれ独自のグループで確認されています。

モデル情報

2026-08-17 以降、ベンダーはこのモデルを時間帯に応じて 2 段階で課金します(ピーク時間は 01:00-04:00 および 06:00-10:00 (UTC) です)。APIYI は常にピーク料金で課金するため、コストは 時間ごとに変動しません。

グループの選び方

APIYI 上の 2 つのグループは異なる上流エンドポイントにルーティングされるため、機能は同等ではありません。以下の表は 2026-08-21 時点で、各セル 3 回ずつ測定しています。

OpenAI 形式 → default グループを使う

グループ default で token を作成し、次のようにします:

Anthropic 形式 → ClaudeCode グループを使う

グループ ClaudeCode で token を作成し、次のようにします:
1 つのアカウントで、異なるグループの token を複数同時に保持でき、それらは干渉しません —— 各プロトコルにつき 1 つずつにしておく構成が推奨です。作成方法は グループとはtoken とグループ を参照してください。また、 Codex vs ClaudeCode vs デフォルト グループ で 3 つの違いを確認できます。
Anthropic 形式では default グループを絶対に使わないでください。 そこでは 2 つの問題が重なります:
  1. top_p を省略すると毎回 400 Invalid top_p value が返ります
  2. top_p を指定しても、最初のターンの thinking ブロックを 2 回目のターンに再送すると unknown variant 'thinking' が返されます —— そして Claude Code や Anthropic SDK などの標準クライアントは それを常に再送するため、マルチターンは常に壊れます
ClaudeCode グループに切り替えれば、どちらの問題もなくなります。tool 呼び出しの往復全体も 問題なく動作します。

画像を送信する3つの方法

1. インライン base64(最も一般的)

2. 公開画像 URL

URL は最大 8192 文字までで、ダウンロードは 60 秒以内に完了する必要があります。 リンク切れの場合は Failed to download image が返されます。

3. file のコンテンツブロック(インライン base64 と同等)

実測の token コストは image_url チャネルと同一です(同じ画像であれば、どちらの方法でも 303 です)。
Files API(/v1/files にアップロードしてから file_id で参照する方式)は APIYI では利用できません、 これはサードパーティのゲートウェイでは一般的です。ベンダーが file_id 向けに確保している 2 つの上限 —— 画像 1 枚あたり 64 MiB と、リクエストごとに 200 MiB —— は、したがって利用できません。実際に適用される上限は 画像 1 枚あたり 32 MiB、リクエストボディあたり 48 MiB です。 これを超えると image file size exceeds limit 32 MB が返されます。

画像の課金方法

画像は リサイズ後のサイズ に基づいて input tokens に変換され、テキスト tokens と合わせて $0.44 / 1M で課金されます。以下の数値は、APIYI で固定 prompt を使い、テキストのみのベースラインを差し引いて測定したものです: ベンダーの説明と完全に一致する 3 つのルールは次のとおりです:
  • 画像 1 枚あたり 384 tokens が絶対上限です。 測定された最大値は 354 で、これを超える画像はありません
  • 大きな画像はおおむね 800×800 相当に縮小されます。 そのため 2000² と 4000² の費用が同じであり、アップロード前に事前圧縮すると帯域幅は節約できますが、料金は変わりません
  • 384×384 未満の画像は拡大されます。 したがって 64×64 は 384×384 と同じ費用になります —— 小さい画像をこれ以上縮小する必要はありません

token 節約: detail: "low"

細部の精度が重要でない場合(画像タイプの識別、被写体の認識、おおまかな分類)、推論前に画像を 512×512 に縮小するには detail: "low" を追加してください:
同じ 1600×1200 画像で測定した 4 つのレベルは次のとおりです:
detail は、両方 の条件が満たされる場合にのみ有効です。つまり、image_url ブロックに設定されていること (file ブロックでは黙って無視されます)、そしてあなたの token が default グループ に属していること (ClaudeCode グループでは何も行いません)です。無効な値は明示的にエラーになります: unknown variant 'ultra', expected one of 'low', 'high', 'original', 'auto'.

推論モードの制御

推論モードは既定でオンで、推論テキストはあなたの max_tokens 予算を消費します。 純粋な画像読み取りタスクではオフにしてください。推論を無効にすると、私たちのテストでは 24/24 のスコアを記録し、 より高速に実行され、推論出力をすべて保存でき、入力 token も 80 個削減できました(推論用システムプロンプトがちょうどその分を消費するためです)。 各構文につき、3回ずつ実行します:
max_tokens を低く設定しすぎないでください。 推論をオンにすると、1 行の質問でも最初に数百 token 分の推論を出力することがあります。予算が小さすぎると、空の content を伴う finish_reason: "length" になってしまい —— これはモデルが回答に失敗したように見えます。推論をオンにする場合は 2000 以上を使うか、あるいは単に推論を無効にしてください。

コンテキストキャッシュ

キャッシュにはパラメータは不要です。長いプレフィックスが繰り返されると自動的にヒットし、ヒット部分は $0.014 / 1M で課金されます。ですが、画像を含むリクエストはテキストのみのものと 2 点で異なります 2304-token のテキストプレフィックスと 800×800 の画像 1 枚で測定すると: ヒットするのは、画像の にあるテキストそのものです。画像とその後のすべては、毎回フル価格で課金されます。そのため、固定の長い指示は画像の前に置いて キャッシュされるようにしてください —— 画像の後ろに置いたものは決してヒットしません。
Anthropic 形式では、これらのフィールドは cache_read_input_tokenscache_creation_input_tokens という名前で、同じように動作します。明示的な cache_control マーカーは 効果がありません(上流では自動プレフィックスキャッシュが使われます)。また、2つのプロトコルでは使用量の報告方法が異なります。OpenAI の prompt_tokens は常に全件数ですが、Anthropic の input_tokens はヒット後に未キャッシュの残りへと下がります —— この2つは直接は整合させられません

対応画像形式

対応する4つの形式はすべて同一の token 数に変換されるため、コンテナによってコストが変わることはありません。
形式は、指定した MIME type ではなくファイルの内容から検出されます。 テストでは、 image/jpeg として指定された PNG も問題なく動作しました —— 拡張子や MIME が誤っていても、 ファイル自体が対応する4つの形式のいずれかであれば問題ありません。

検証済み機能マトリクス

2026-08-21 に APIYI により測定:

精度のスポットチェック

制限とよくあるエラー

1,048,576 のコンテキスト上限が適用されており、エラーメッセージでは max_tokens が同じ合計に加算される ことが示されています(… in the messages, … in the completion)。長いコンテキストを詰め込む場合は、出力予算のための余裕を残しておかないと上限に達してしまいます。
よくあるその他の 400 エラー:
  • You have uploaded an unsupported image —— 形式が 4 つのいずれかではない、または base64 が壊れている
  • Failed to download image —— URL に到達できないか、60 秒を超えた
  • Image in assistant message is unsupported —— 画像は user メッセージにのみ含められます
テストでは、約 1%-3% のリクエストで接続が静かに切断されました(クライアント側では SSL EOF またはハンドシェイクのタイムアウトとして表示されます)。これは画像ともグループとも無関係で、時折発生するトランスポート層の事象です。必ず read timeout を設定して再試行してください。そうしないと、1 回のリクエストが 2 分以上ハングすることがあります。 タイムアウト設定 を参照してください。

完全な例

OpenAI 形式 (default グループ)

Anthropic 形式 (ClaudeCode グループ)

関連ドキュメント

Vision Understanding API

ビジョンモデル全体における一般的な呼び出しパターンと比較

DeepSeek V4 Flash

同じベース上のテキスト専用の兄弟で、1M コンテキストとデュアルエンドポイントを備えています

グループの選び方

Codex、ClaudeCode、Default の各グループの違いと、どれを選ぶべきか

タイムアウト設定

クライアントの読み取りタイムアウトとリトライ設定の推奨値