Skip to main content
The DeepSeek V4 models are available through Upmore via the standard Chat Completions API (/v1/chat/completions). Both are reasoning models — they think before answering and stream a reasoning_content field alongside the reply.

Available models

ModelNotes
deepseek-v4-proFlagship — strongest reasoning and coding
deepseek-v4-flashLight — low latency and cost, good for everyday chat and high-concurrency use
Reasoning tokens are billed as completion tokens. Set max_tokens generously — the thinking phase consumes part of the budget before the visible answer starts.

Quick example

curl https://api.upmore.net/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "messages": [
      { "role": "user", "content": "Explain quantum entanglement in one paragraph." }
    ]
  }'
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.upmore.net/v1"
)

response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "user", "content": "Explain quantum entanglement in one paragraph."}
    ]
)

print(response.choices[0].message.content)
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.upmore.net/v1"
)

stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "user", "content": "Write a short poem about the sea."}
    ],
    stream=True
)

for chunk in stream:
    delta = chunk.choices[0].delta if chunk.choices else None
    if delta and getattr(delta, "reasoning_content", None):
        print(delta.reasoning_content, end="")   # thinking phase
    elif delta and delta.content:
        print(delta.content, end="")             # final answer

Parameters

ParameterTypeRequiredDescription
modelstringYesdeepseek-v4-pro or deepseek-v4-flash
messagesarrayYesList of { role, content } objects
streambooleanNoEnable SSE streaming. Default: false
temperaturefloatNoControls randomness. Default: 1
top_pfloatNoNucleus sampling threshold. Default: 1
max_tokensintegerNoMax output tokens including reasoning tokens
stopstring / arrayNoSequences that stop generation
toolsarrayNoList of tools the model may call

Response notes

FieldDescription
choices[].message.reasoning_contentThe model’s chain-of-thought (streamed as delta.reasoning_content)
usage.completion_tokens_details.reasoning_tokensReasoning tokens spent — part of completion_tokens
usage.prompt_tokens_details.cached_tokensPrompt cache hits

API Reference

View the interactive API playground.