per 1M tokens
deepseek-ai/DeepSeek-V3.1
deepinfra/deepseek-ai/DeepSeek-V3.1
DeepSeek-V3.1 is post-trained on the top of DeepSeek-V3.1-Base, which is built upon the original V3 base checkpoint through a two-phase long context extension approach, following the methodology outlined in the original DeepSeek-V3 report. We have expanded our dataset by collecting additional long documents and substantially extending both training phases. The 32K extension phase has been increased 10-fold to 630B tokens, while the 128K extension phase has been extended by 3.3x to 209B tokens. Additionally, DeepSeek-V3.1 is trained using the UE8M0 FP8 scale data format to ensure compatibility with microscaling data formats.
Price
per 1M tokens
Providers
Each row is one seller. Prices are the published rate from that source. A dash means that source did not publish the amount. Sorted by a 3:1 blend of input and output.
| Provider | Tag | Quant | Input | Output | Context | Uptime | Status | Source |
|---|---|---|---|---|---|---|---|---|
| DeepInfra | — | — | $0.25/1M | $0.95/1M | 164K | — | Listed | deepinfra |
Monthly bill
Token models use the token counts. Image, video, and audio models use units times the flat rate.
$1.20 at list price for this workload
Cache
per 1M tokens
Every rate
| Unit | Input | Output | Flat | Confidence |
|---|---|---|---|---|
| token | $0.25/1M | $0.95/1M | Not published— | official |
Price history
input or flat output
Daily snapshots
| UTC date | Unit | Input | Output | Flat |
|---|---|---|---|---|
| 2026-10-08 | token | $0.25 | $0.95 | Not published— |
| 2026-10-09 | token | $0.25 | $0.95 | Not published— |
| 2026-10-10 | token | $0.25 | $0.95 | Not published— |
| 2026-10-11 | token | $0.25 | $0.95 | Not published— |
| 2026-10-12 | token | $0.25 | $0.95 | Not published— |
| 2026-10-13 | token | $0.25 | $0.95 | Not published— |
| 2026-10-14 | token | $0.25 | $0.95 | Not published— |
| 2026-10-15 | token | $0.25 | $0.95 | Not published— |
| 2026-10-16 | token | $0.25 | $0.95 | Not published— |
| 2026-10-17 | token | $0.25 | $0.95 | Not published— |
| 2026-10-18 | token | $0.25 | $0.95 | Not published— |
| 2026-10-19 | token | $0.25 | $0.95 | Not published— |
| 2026-10-20 | token | $0.25 | $0.95 | Not published— |
| 2026-10-21 | token | $0.25 | $0.95 | Not published— |
| 2026-10-22 | token | $0.25 | $0.95 | Not published— |
| 2026-10-23 | token | $0.25 | $0.95 | Not published— |
| 2026-10-24 | token | $0.25 | $0.95 | Not published— |
| 2026-10-25 | token | $0.25 | $0.95 | Not published— |
| 2026-10-26 | token | $0.25 | $0.95 | Not published— |
| 2026-10-27 | token | $0.25 | $0.95 | Not published— |
| 2026-10-28 | token | $0.25 | $0.95 | Not published— |
| 2026-10-29 | token | $0.25 | $0.95 | Not published— |
| 2026-10-30 | token | $0.25 | $0.95 | Not published— |
Alternatives
- ByteDance Seed: Seed 1.6$0.25/1M · Compare
- ByteDance Seed: Seed-2.0-Lite$0.25/1M · Compare
- ByteDance/Seed-1.8$0.25/1M · Compare
- Claude 3 Haiku$0.25/1M · Compare
- DeepSeek: DeepSeek V3.1$0.25/1M · Compare
- Doubao Seed 1.6$0.25/1M · Compare
Parameters (4)
Call this model
OpenRouter id deepinfra/deepseek-ai/DeepSeek-V3.1. InferenceList does not send the request.
curl
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepinfra/deepseek-ai/DeepSeek-V3.1","messages":[{"role":"user","content":"Hello"}]}'
JavaScript
await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.OPENROUTER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "deepinfra/deepseek-ai/DeepSeek-V3.1",
messages: [{ role: "user", content: "Hello" }],
}),
});
Python
import os, json, urllib.request
req = urllib.request.Request(
"https://openrouter.ai/api/v1/chat/completions",
data=json.dumps({"model": "deepinfra/deepseek-ai/DeepSeek-V3.1", "messages": [{"role": "user", "content": "Hello"}]}).encode(),
headers={"Authorization": "Bearer " + os.environ["OPENROUTER_API_KEY"], "Content-Type": "application/json"},
)
print(urllib.request.urlopen(req).read().decode())