[
  {
    "id": "deepseek-v4-flash",
    "displayName": "DeepSeek V4 Flash",
    "family": "deepseek-v4",
    "contextTokens": 1000000,
    "maxOutputTokens": 393216,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": "json_object-only",
      "streaming": true,
      "files": false,
      "webSearch": "responses-api-only"
    },
    "parameters": {
      "temperature": "non-thinking-only",
      "topP": "non-thinking-only",
      "topK": false,
      "maxTokens": true,
      "reasoningEffort": ["none", "low", "high", "max"],
      "thinkingBudget": false,
      "stop": true,
      "seed": false,
      "frequencyPenalty": false,
      "presencePenalty": false
    },
    "pricing": {
      "inputPerMillion": 0.44,
      "cachedInputPerMillion": 0.014,
      "outputPerMillion": 1.32,
      "offPeakInputPerMillion": 0.22,
      "offPeakCachedInputPerMillion": 0.007,
      "offPeakOutputPerMillion": 0.66,
      "peakHoursUtc": "Mon-Fri 01:00-04:00 and 06:00-10:00 UTC; all other hours off-peak (50%)",
      "longContextThresholdTokens": null,
      "imageInputPerMillionTokens": null
    },
    "status": "active",
    "aliases": ["deepseek-chat", "deepseek-reasoner"],
    "notes": "Version DeepSeek-V4-Flash-0731 (GA 2026-07-31), 284B total / 13B active MoE. Hybrid model: thinking ENABLED by default at effort 'high'; disable with thinking:{type:'disabled'} (or reasoning_effort:'none', undocumented). reasoning_effort low|high|max (medium/xhigh map to high). reasoning_content returned in message and streamed as delta.reasoning_content (both content/reasoning_content keys present in every delta, one null). max_tokens range [1,393216] and it caps reasoning+answer together (small caps -> finish_reason 'length' with empty content). completion_tokens includes reasoning tokens. In thinking mode temperature/top_p/penalties are silently ignored. Usage arrives on the finish_reason chunk even without include_usage. response_format json_schema -> 400 'unavailable now'; json_object requires the word 'json' in the prompt. n=1 only; developer role rejected (map to system). Images are silently DROPPED (placeholder, no 400) -> block client-side. When tools are sent, replay reasoning_content on assistant messages (docs require it; V4 did not 400 without it). Aliases deepseek-chat (non-thinking) / deepseek-reasoner (thinking) were retired 2026-07-24 per docs but still resolve here as of 2026-09-08 - do not list. Concurrency limit 2500. Cache hits in 64-token units, cache-hit input = 1/32 of miss price."
  },
  {
    "id": "deepseek-v4-pro",
    "displayName": "DeepSeek V4 Pro",
    "family": "deepseek-v4",
    "contextTokens": 1000000,
    "maxOutputTokens": 393216,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": "json_object-only",
      "streaming": true,
      "files": false,
      "webSearch": "responses-api-only"
    },
    "parameters": {
      "temperature": "non-thinking-only",
      "topP": "non-thinking-only",
      "topK": false,
      "maxTokens": true,
      "reasoningEffort": ["none", "low", "high", "max"],
      "thinkingBudget": false,
      "stop": true,
      "seed": false,
      "frequencyPenalty": false,
      "presencePenalty": false
    },
    "pricing": {
      "inputPerMillion": 1.32,
      "cachedInputPerMillion": 0.044,
      "outputPerMillion": 3.96,
      "offPeakInputPerMillion": 0.66,
      "offPeakCachedInputPerMillion": 0.022,
      "offPeakOutputPerMillion": 1.98,
      "peakHoursUtc": "Mon-Fri 01:00-04:00 and 06:00-10:00 UTC; all other hours off-peak (50%)",
      "longContextThresholdTokens": null,
      "imageInputPerMillionTokens": null
    },
    "status": "active",
    "aliases": [],
    "notes": "Flagship, version DeepSeek-V4-Pro-0813 (GA 2026-08-13), 1.6T total / 49B active MoE. Same API behaviour and parameter matrix as deepseek-v4-flash (probed identical): thinking default on at 'high', effort low|high|max, reasoning_content in message + deltas, max_tokens [1,393216] covering reasoning+answer, json_object only, n=1, developer role 400, images silently dropped. 3x the price of Flash; lower concurrency limit (500). Slightly slower TTFT (~2.1 s vs 1.1 s for a trivial prompt). Only model listed for FIM in the docs (but Flash answered FIM too). Anthropic-format endpoint maps Claude Opus names to this model. Peak/off-peak pricing since 2026-08-16."
  },
  {
    "id": "deepseek-v4-flash-vision-exp",
    "displayName": "DeepSeek V4 Flash Vision (experimental)",
    "family": "deepseek-v4",
    "contextTokens": 1000000,
    "maxOutputTokens": 393216,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": "json_object-only",
      "streaming": true,
      "files": "images-via-files-api-only",
      "webSearch": "responses-api-only"
    },
    "parameters": {
      "temperature": "non-thinking-only",
      "topP": "non-thinking-only",
      "topK": false,
      "maxTokens": true,
      "reasoningEffort": ["none", "low", "high", "max"],
      "thinkingBudget": false,
      "stop": true,
      "seed": false,
      "frequencyPenalty": false,
      "presencePenalty": false
    },
    "pricing": {
      "inputPerMillion": 0.44,
      "cachedInputPerMillion": 0.014,
      "outputPerMillion": 1.32,
      "offPeakInputPerMillion": 0.22,
      "offPeakCachedInputPerMillion": 0.007,
      "offPeakOutputPerMillion": 0.66,
      "peakHoursUtc": "Mon-Fri 01:00-04:00 and 06:00-10:00 UTC; all other hours off-peak (50%)",
      "longContextThresholdTokens": null,
      "imageInputPerMillionTokens": 0.44
    },
    "status": "experimental",
    "aliases": [],
    "notes": "Released 2026-08-21, experimental (may change or be withdrawn). Text capabilities = V4-Flash, same price. The ONLY model that accepts images: {type:'image_url', image_url:{url, detail?}} with data URLs or http(s) URLs, or {type:'file', file_id|file_data} via the free Files API. JPEG/PNG/GIF/WebP sniffed from bytes; <=32 MiB inline (64 MiB via Files API), body <=48 MiB, <=600 images, side <=8192 px. Images only in user messages (system -> 400 'Image in system message is unsupported'). Token cost per image: upscaled to ~384x384 minimum / downscaled to ~800x800 area -> ~100-384 tokens per image billed as input (probed: 32x32 PNG = ~111 tokens, 103 with detail:'low'). detail low|high|original|auto (high=original=auto). Thinking + tools + json_object all work with images (probed). Thinking mode with a small max_tokens can spend the whole budget on reasoning -> empty content. Concurrency limit 2500. FIM not supported (docs)."
  }
]
