DeepSeek API 11 models live Unlimited tokens Instant delivery
Tokens processed 24h 0 7d 0 30d 0
DeepSeek Infrastructure · Production ready

The DeepSeek layer
for your stack

DeepSeek API. Unlimited tokens. OpenAI compatible.
11 models online → · Recommended: Cline

11
Models
Tokens
24/7
Uptime
SSE
Streaming

DeepSeek Models

Live list from API — only models that work right now.

deepseek-chat

Fast chat — код, боты, IDE, повседневные запросы.

Files

deepseek-chat-search

Web search enabled — актуальная информация из интернета.

SearchFiles

deepseek-default

Fast chat — код, боты, IDE, повседневные запросы.

Files

deepseek-default-search

Web search enabled — актуальная информация из интернета.

SearchFiles

deepseek-expert

Expert mode — максимальное качество на тяжёлых задачах.

Chat

deepseek-r1

Reasoning mode — complex logic, math, multi-step analysis.

ThinkingFiles

deepseek-r1-search

Reasoning mode — complex logic, math, multi-step analysis.

ThinkingSearchFiles

deepseek-reasoner

Reasoning mode — complex logic, math, multi-step analysis.

ThinkingFiles

deepseek-reasoner-search

Reasoning mode — complex logic, math, multi-step analysis.

ThinkingSearchFiles

deepseek-v3

Fast chat — код, боты, IDE, повседневные запросы.

Files

deepseek-v4-pro

Reasoning mode — complex logic, math, multi-step analysis.

Thinking

GET /v1/model-capabilities · 11 supported

Works with your stack

Cline · recommendedCursorPythonTelegramOpen WebUIVS Code
Platform

Built for scale

Premium DeepSeek access — clean API, no routing surprises.

Unlimited tokens

No token billing. One key — full access for your session.

Drop-in compatible

OpenAI Chat Completions — change base URL and API key.

Secure keys

HTTPS, isolated keys dllm-…

API endpoint

Production proxy. Streaming SSE supported.

deepseek.llm-api.fun/v1/chat/completions
POST /v1/chat/completions
Authorization: Bearer dllm-•••
{
  "model": "deepseek-chat",
  "messages": [{ "role": "user", "content": "..." }]
}

11 models

Chat, reasoning, expert, search — pick the right model.

API Reference

Request formats

OpenAI, Anthropic, and Responses-compatible paths. Same key dllm-… everywhere.

Base: https://deepseek.llm-api.fun/v1
Auth: Bearer dllm-… or x-api-key
Model: deepseek-chat
POST/v1/chat/completionsOpenAI Chat Completions — Cline, Cursor, most SDKs
POST/v1/messagesAnthropic Messages format — tools, multi-turn
POST/v1/responsesOpenAI Responses API shim
GET/v1/modelsList available model IDs
GET/v1/model-capabilitiesModels + capabilities (search, thinking, tools)

Simple chatOpenAI

POST https://deepseek.llm-api.fun/v1/chat/completions

Single-turn request. Works in Cline, Cursor, Continue, Open WebUI, and any OpenAI-compatible client.

Request
curl https://deepseek.llm-api.fun/v1/chat/completions \
  -H "Authorization: Bearer dllm-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      { "role": "system", "content": "You are a senior Python developer." },
      { "role": "user", "content": "Write a FastAPI health check endpoint." }
    ],
    "max_tokens": 2048,
    "temperature": 0.7
  }'
Headers
Authorization: Bearer dllm-YOUR_KEY
Content-Type: application/json

Multi-turn contextOpenAI

Send full conversation history in messages — system + prior user/assistant turns. The model sees the whole thread.

Request with history
{
  "model": "deepseek-chat",
  "messages": [
    { "role": "system", "content": "You help refactor Python code. Be concise." },
    { "role": "user", "content": "Here is my auth module. How can I simplify it?" },
    { "role": "assistant", "content": "You can extract token validation into a dependency..." },
    { "role": "user", "content": "Show the dependency as code." }
  ],
  "max_tokens": 4096
}
Roles
system   — instructions / persona (optional)
user     — human or client message
assistant — previous model replies (include for context)
tool     — tool result after tool_calls (agents / function calling)
Tool result in context
{
  "model": "deepseek-chat",
  "messages": [
    { "role": "user", "content": "What is the weather in Berlin?" },
    {
      "role": "assistant",
      "content": null,
      "tool_calls": [{
        "id": "call_1",
        "type": "function",
        "function": { "name": "get_weather", "arguments": "{\"city\":\"Berlin\"}" }
      }]
    },
    { "role": "tool", "tool_call_id": "call_1", "content": "{\"temp_c\": 12, \"condition\": \"cloudy\"}" }
  ]
}

Tools / function callingverified live

Works. Send OpenAI tools JSON — response returns tool_calls + finish_reason: "tool_calls". Tested on production with deepseek-chat, deepseek-reasoner, deepseek-v4-pro, deepseek-default, deepseek-expert. Cline / Continue agents use this path.

Full cURL (copy & test)
curl https://deepseek.llm-api.fun/v1/chat/completions \
  -H "Authorization: Bearer dllm-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      { "role": "user", "content": "Call read_file for path config.json only. Do not explain." }
    ],
    "tools": [{
      "type": "function",
      "function": {
        "name": "read_file",
        "description": "Read a file from disk",
        "parameters": {
          "type": "object",
          "properties": {
            "path": { "type": "string", "description": "File path" }
          },
          "required": ["path"]
        }
      }
    }],
    "tool_choice": "auto",
    "max_tokens": 512
  }'
Real response (prod test)
{
  "model": "deepseek-chat",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": null,
      "tool_calls": [{
        "id": "call_1781005249449_n5addi",
        "type": "function",
        "function": {
          "name": "read_file",
          "arguments": "{\"path\":\"config.json\"}"
        }
      }]
    },
    "finish_reason": "tool_calls"
  }]
}
JSON body only
{
  "model": "deepseek-reasoner",
  "messages": [{ "role": "user", "content": "Call get_weather for Berlin." }],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get weather for a city",
      "parameters": {
        "type": "object",
        "properties": { "city": { "type": "string" } },
        "required": ["city"]
      }
    }
  }],
  "tool_choice": "auto"
}

Anthropic MessagesPOST

https://deepseek.llm-api.fun/v1/messages

Same key — Anthropic-style body. Use when your client sends x-api-key instead of Bearer.

Chat request
curl https://deepseek.llm-api.fun/v1/messages \
  -H "x-api-key: dllm-YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "max_tokens": 4096,
    "system": "You are a coding assistant.",
    "messages": [
      { "role": "user", "content": "Refactor this function to use async/await." }
    ]
  }'
Multi-turn + tools (Anthropic blocks)
{
  "model": "deepseek-chat",
  "max_tokens": 4096,
  "system": "You are a helpful agent.",
  "tools": [{
    "name": "get_weather",
    "description": "Get weather for a city",
    "input_schema": {
      "type": "object",
      "properties": { "city": { "type": "string" } },
      "required": ["city"]
    }
  }],
  "messages": [
    { "role": "user", "content": "Weather in Berlin?" },
    {
      "role": "assistant",
      "content": [{
        "type": "tool_use",
        "id": "tu_1",
        "name": "get_weather",
        "input": { "city": "Berlin" }
      }]
    },
    {
      "role": "user",
      "content": [{
        "type": "tool_result",
        "tool_use_id": "tu_1",
        "content": "{\"temp_c\": 12}"
      }]
    }
  ]
}

Streaming (SSE)stream: true

Set "stream": true on OpenAI or Anthropic requests. Response is text/event-stream with data: {...} chunks.

OpenAI streaming
curl https://deepseek.llm-api.fun/v1/chat/completions \
  -H "Authorization: Bearer dllm-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-reasoner",
    "stream": true,
    "messages": [{ "role": "user", "content": "Explain recursion briefly" }]
  }'
Python streaming
from openai import OpenAI

client = OpenAI(
    api_key="dllm-YOUR_KEY",
    base_url="https://deepseek.llm-api.fun/v1",
)
stream = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Discover models

GET /v1/models
curl https://deepseek.llm-api.fun/v1/models \
  -H "Authorization: Bearer dllm-YOUR_KEY"
GET /v1/model-capabilities
curl https://deepseek.llm-api.fun/v1/model-capabilities \
  -H "Authorization: Bearer dllm-YOUR_KEY"

Use any ID from the response as model in chat requests. Live list also on the models section above.

Documentation

Integration guides

Same Base URL everywhere. Cline is our top pick from client feedback.

URL: https://deepseek.llm-api.fun/v1
Model: deepseek-chat
Key: dllm-…
Recommended by clients

Cline + deepseek-chat — stable tool calls for coding agents.

Cline

  1. Provider: OpenAI Compatible
  2. Base URL: https://deepseek.llm-api.fun/v1
  3. Model ID: deepseek-chat
  4. API Key: dllm-…
cline settings.json
{
  "cline.apiProvider": "openai-compatible",
  "cline.openAiBaseUrl": "https://deepseek.llm-api.fun/v1",
  "cline.openAiApiKey": "dllm-YOUR_KEY",
  "cline.openAiModelId": "deepseek-chat"
}

Cursor

  1. Cursor Settings → Models
  2. Override OpenAI Base URL: https://deepseek.llm-api.fun/v1
  3. OpenAI API Key: dllm-…
  4. Model: deepseek-chat → Verify

Uses OpenAI format under the hood — same as POST /v1/chat/completions.

Continue.dev

  1. Create or edit ~/.continue/config.yaml
  2. In the Continue extension, switch assistant to Local Config (not Default Assistant)
  3. Open the Models cube icon → pick active models per role (chat / edit / apply)
config.yaml (schema v1 + roles)
name: DeepSeek API
version: 1.0.0
schema: v1

models:
  - name: DeepSeek Chat
    provider: openai
    model: deepseek-chat
    apiBase: https://deepseek.llm-api.fun/v1
    apiKey: dllm-YOUR_KEY
    roles:
      - chat
      - edit
      - apply
    capabilities:
      - tool_use
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 4096

  - name: DeepSeek Reasoner
    provider: openai
    model: deepseek-reasoner
    apiBase: https://deepseek.llm-api.fun/v1
    apiKey: dllm-YOUR_KEY
    roles:
      - chat

Roles: chat (sidebar), edit (inline edits), apply (apply diff). Docs: continue.dev/reference

OpenCode

~/.config/opencode/opencode.json
{
  "provider": {
    "deepseek-api": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://deepseek.llm-api.fun/v1",
        "apiKey": "{env:DEEPSEEK_API_KEY}"
      },
      "models": {
        "deepseek-chat": { "name": "DeepSeek Chat" }
      }
    }
  }
}

Python (requests)

test.py
import requests

API_KEY = "dllm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

r = requests.post(
    "https://deepseek.llm-api.fun/v1/chat/completions",
    headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
    json={
        "model": "deepseek-chat",
        "messages": [{"role": "user", "content": "Say OK if you hear me."}],
        "max_tokens": 100,
    },
    timeout=120,
)
print("HTTP", r.status_code)
data = r.json()
if r.ok:
    print(data["choices"][0]["message"]["content"])
else:
    print(data)

Node.js (fetch)

test.mjs
const API_KEY = "dllm-YOUR_KEY";

const res = await fetch("https://deepseek.llm-api.fun/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "deepseek-chat",
    messages: [{ role: "user", content: "Hello" }],
  }),
});
const data = await res.json();
console.log(data.choices[0].message.content);

Telegram / bots

  1. URL: https://deepseek.llm-api.fun/v1/chat/completions
  2. Method: POST
  3. Header: Authorization: Bearer dllm-…
  4. Body: OpenAI JSON with model + messages
Minimal JSON body
{
  "model": "deepseek-chat",
  "messages": [{ "role": "user", "content": userMessage }]
}

Get API access

Instant delivery · key dllm-…

Need agent routing?

For long projects with token balance — use the main LLM API.

Support dllm- key required
Enter your dllm- key and describe the issue.