API429 / DeepSeek

DeepSeek API: Pro and Flash model selection and connection

Test the published deepseek-v4-pro and deepseek-v4.1-flash identifiers on your own evaluation tasks, confirm access with your API429 key, and start with an ordinary Chat Completions call. Do not assume these catalog IDs are interchangeable aliases for native deepseek-chat or deepseek-reasoner strings.

Models and current API429 rates

These are exact text model IDs for this family. The public catalog and GET /v1/models for your key answer different questions: a published entry does not prove account access. Preserve hyphens, dots and versions exactly.

Model / exact IDAPI429: USD and billing units
Deepseek V4 Prodeepseek-v4-pro
$0.3960 / 1,000,000 cache-write input tokens
$0.01320 / 1,000,000 cached input tokens
$0.3960 / 1,000,000 input tokens
$1.1880 / 1,000,000 output tokens
Deepseek V4.1 Flashdeepseek-v4.1-flash
$0.0900 / 1,000,000 cache-write input tokens
$0.00180 / 1,000,000 cached input tokens
$0.0900 / 1,000,000 input tokens
$0.3600 / 1,000,000 output tokens

Catalog data date: . Rates retain their catalog conditions; an absent row does not mean a free request.

Example budget for deepseek-v4-pro: 1,000 requests with 2,000 ordinary input and 500 output tokens each cost approximately $1.386000. This ordinary text token estimate excludes cache, tools, retries and additional fees. It is not a complete bill or evidence of accepted requests.

Selected model rates in the catalog · Full catalog

Compare Pro and Flash on the same verifiable task set

Prepare a small benchmark where correctness is objective: spotting a defect in a short algorithm, checking project constraints or extracting structured fields from an incident note. Run both deepseek-v4-pro and deepseek-v4.1-flash against the exact same inputs and acceptance rules. Use deepseek-v4-pro when evaluating deeper code or constraint analysis, and compare deepseek-v4.1-flash on repeatable high-volume text steps. Record pass rates, required edits and total token consumption before choosing a default model for production.

Use literal catalog IDs rather than native DeepSeek aliases

Official DeepSeek documentation often refers to native aliases such as deepseek-chat or deepseek-reasoner and periodically updates the underlying model version behind those names. In API429, you must pass the exact published identifier returned by GET /v1/models for your key, such as deepseek-v4-pro or deepseek-v4.1-flash. Do not assume that a gateway ID maps to a specific native alias snapshot or that similarly named strings can be swapped without re-running your acceptance checks.

Start with ordinary Chat Completions before optional parameters

Send your first request to POST /v1/chat/completions with the exact model string and a short messages array. While the reviewed API429 catalog entries declare chat capability, that does not automatically confirm native DeepSeek thinking mode flags, tool definitions, image inputs or native Responses API behavior. Avoid copying extra parameters from upstream DeepSeek guides until you have verified the baseline text response and checked the API429 request contract for each additional field.

Validate key access and failure handling in your client

Keep your API429 key in server-side environment variables and verify that your target DeepSeek ID is present in GET /v1/models before sending application traffic. Inspect HTTP status, finish_reason and message content on every call, and test edge cases such as missing fields, contradictory instructions and truncated outputs. Bound automatic retries so that an unparseable response or timeout does not trigger an unbounded loop of billable requests across your queue.

Read API429 catalog rates without assuming native cache rules

Upstream DeepSeek documentation describes native KV cache pricing and provider-specific schedules, but those terms do not define your API429 billing. Use the live API429 catalog table and the models directory to check current input, output and any published cached token rates for deepseek-v4-pro and deepseek-v4.1-flash. Repeating a similar prompt does not guarantee a cached rate, and missing table values mean a rate is unconfirmed rather than zero.

Choose your next connection step

  • API429 model catalog

    Check literal DeepSeek model IDs, published capabilities and current token billing units in the catalog.

  • API429 quickstart

    Verify your API429 key, inspect GET /v1/models and run a baseline Chat Completions request.

First text request: curl, Python, JavaScript

  1. Create a key in your API429 account and add balance by Russian bank card, a business invoice, USDT or TON. A $10 test balance is available for subscribing to the Telegram channel through the bonus bot.
  2. Use the same key to verify deepseek-v4-pro in GET https://gateway.api429.com/v1/models.
  3. Set API429_API_KEY on the server and send a small paid request. The example does not retry automatically.
  4. Inspect HTTP status, finish_reason, text and actual usage. A timeout does not prove that the operation was unbilled.

The example uses only ordinary text Chat Completions with max_tokens=512. It does not verify native manufacturer methods, tools, reasoning, vision or manufacturer limits through API429. Python and JavaScript check key access before generation; check the model list separately for curl.

curl

curl --fail-with-body https://gateway.api429.com/v1/chat/completions \
  -H "Authorization: Bearer $API429_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4-pro","messages":[{"role":"user","content":"Explain the purpose of HTTP 429 in one sentence."}],"max_tokens":512,"stream":false}'

Python 3

import json
import os
import urllib.request

key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
models_request = urllib.request.Request(base + "/models", headers=headers)
with urllib.request.urlopen(models_request, timeout=30) as response:
    available = {item["id"] for item in json.load(response)["data"]}
model = "deepseek-v4-pro"
if model not in available:
    raise ValueError("Model is unavailable to this key")
payload = json.loads("{\"model\":\"deepseek-v4-pro\",\"messages\":[{\"role\":\"user\",\"content\":\"Explain the purpose of HTTP 429 in one sentence.\"}],\"max_tokens\":512,\"stream\":false}")
request = urllib.request.Request(base + "/chat/completions",
    data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=60) as response:
    result = json.load(response)
choice = result["choices"][0]
if choice.get("finish_reason") != "stop" or not choice.get("message", {}).get("content"):
    raise ValueError("Incomplete or empty response")
print(choice["message"]["content"])
print(result.get("usage"))

JavaScript: Node.js 18+

const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "deepseek-v4-pro";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const response = await fetch(base + "/chat/completions", {
  method: "POST", headers, signal: AbortSignal.timeout(60000),
  body: JSON.stringify({"model":"deepseek-v4-pro","messages":[{"role":"user","content":"Explain the purpose of HTTP 429 in one sentence."}],"max_tokens":512,"stream":false})
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
const choice = result.choices?.[0];
if (choice?.finish_reason !== "stop" || !choice?.message?.content) throw new Error("Incomplete or empty response");
console.log(choice.message.content);
console.log(result.usage);

These examples do not prove access for your key; verify the exact ID before a paid request. API contract · Configure your client · Questions and support

Payment and a $10 test

  • Russian bank card. Top up your balance in the account.
  • Invoice for companies. Bank transfer with closing documents.
  • USDT and TON. Top up in crypto.

$10 test credit. Subscribe to our Telegram channel through the bot and get $10 on your balance for the first requests. Get $10 in the bot

Frequently asked questions

Can I send deepseek-chat or deepseek-reasoner instead of the catalog ID?

No. Use the exact identifier returned by GET /v1/models for your API429 key, such as deepseek-v4-pro or deepseek-v4.1-flash, rather than assuming equivalence with native DeepSeek aliases.

How should I choose between deepseek-v4-pro and deepseek-v4.1-flash?

Run both models on the same sample prompts from your application and compare factual accuracy, format compliance, retry frequency and total token cost per accepted output.

Do native DeepSeek thinking or caching parameters work automatically?

No. Upstream DeepSeek documentation describes the manufacturer API. Start with standard Chat Completions fields and verify any extra parameter or billing metric against the API429 contract.

Where do I check current prices for DeepSeek models on API429?

Check the live rate table on this page and the /en/models catalog for current input and output token rates; never derive API429 prices from upstream manufacturer tables.

Sources and editorial review

Manufacturer documentation describes its family and its own API rules. API429 IDs, rates and request contracts require separate catalog and documentation checks. The original source-review date below is retained; English publication does not renew the source review.

Source review: . To connect, create an API429 account and follow the quickstart instructions.

Telegram