DeepSeek-V4-Pro-0813 mencapai ketersediaan umum pada 12 Agustus 2026, tersedia melalui ID model deepseek-v4-pro di https://api.deepseek.com, bersama deepseek-v4-flash yang lebih murah (Unite.AI meliput pengumuman GA ini). Spesifikasi utamanya mencakup jendela konteks 1 juta token, output maksimum 384 ribu token, tool calling, output terstruktur, dan tiga mode berpikir yang menampilkan jejak penalaran model pada bidang reasoning_content.
Yang menarik bukan hanya spesifikasinya. Satu model ini menerima tiga dialek API:
- OpenAI ChatCompletions
- Anthropic Messages
- DeepSeek Responses API
Artinya, Anda dapat mengarahkan kode yang memakai OpenAI SDK, agen berbasis Claude, atau loop agen bergaya Codex ke model yang sama—dengan format request yang berbeda.
Panduan ini membandingkan ketiganya secara praktis: bentuk request, perbedaan payload, streaming, tool calling, serta cara mengujinya dari satu proyek Apidog menggunakan variabel environment bersama. Jika Anda belum menyiapkan akun atau belum melakukan panggilan API pertama, mulai dari cara menggunakan DeepSeek V4 API.
Ringkasan
- DeepSeek-V4-Pro-0813 tersedia secara umum melalui
deepseek-v4-prodihttps://api.deepseek.com. -
deepseek-v4-flashmemakai antarmuka yang sama dengan harga lebih rendah. - Model mendukung OpenAI ChatCompletions, Anthropic Messages, dan DeepSeek Responses API.
- Spesifikasi: konteks 1 juta token, output maksimum 384 ribu token, tool calling, output terstruktur, dan
reasoning_content. - Harga: $0.435/juta token input untuk cache miss, $0.003625/juta token untuk cache hit, dan $0.87/juta token output.
- Ketiga format berbeda pada system prompt,
max_tokens, skema tool, dan event streaming. - Satu proyek Apidog dengan
{{DEEPSEEK_API_KEY}}dan base URL per format cukup untuk menguji ketiganya dengan prompt yang sama.
Mengapa satu model berbicara tiga dialek?
Dukungan tiga format ini adalah strategi kompatibilitas ekosistem.
-
ChatCompletions cocok untuk SDK, framework, dan kode internal yang sudah memakai format OpenAI. Biasanya Anda hanya perlu mengganti
base_url. - Anthropic Messages cocok untuk tim yang membangun agen, evaluator, atau tooling berbasis Claude, termasuk Claude Code.
- Responses API ditujukan untuk agen multi-langkah dan workflow stateful bergaya Codex.
V4 Pro juga tersedia melalui agregator. Lihat halaman OpenRouter untuk deepseek-v4-pro-0813. Namun, artikel ini fokus pada API pihak pertama DeepSeek. Untuk gambaran keluarga modelnya, lihat cara menggunakan DeepSeek V4.
Format 1: OpenAI ChatCompletions
Gunakan format ini jika proyek Anda sudah memakai OpenAI SDK atau endpoint ChatCompletions.
Ciri utama:
- Prompt sistem masuk sebagai pesan pertama dengan
role: "system". -
messagesadalah array tunggal. - Batas output bersifat opsional.
- Tool calling memakai objek
functionbersarang. - Streaming menggunakan chunk
chat.completion.chunkdan berakhir dengandata: [DONE].
Contoh Python menggunakan OpenAI SDK:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_DEEPSEEK_API_KEY",
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[
{"role": "system", "content": "You are a precise technical writer."},
{"role": "user", "content": "Explain idempotency keys in two sentences."},
],
)
print(response.choices[0].message.content)
Untuk migrasi dari OpenAI, parameter utama yang perlu diubah biasanya hanya:
-
base_urlmenjadihttps://api.deepseek.com - API key menjadi key DeepSeek
-
modelmenjadideepseek-v4-pro
Saat mode berpikir aktif, jangan hanya parsing content. Respons dapat menyertakan reasoning_content sebagai bidang tambahan.
message = response.choices[0].message
print("Jawaban:", message.content)
print("Penalaran:", getattr(message, "reasoning_content", None))
Kapan menggunakan ChatCompletions?
Pilih format ini jika Anda memiliki:
- Integrasi OpenAI SDK yang sudah berjalan
- Framework seperti LangChain
- Tool internal yang menggunakan ChatCompletions
- Kebutuhan migrasi dengan perubahan kode minimum
Struktur request-nya sama seperti pada panduan menguji ChatGPT API dengan Apidog, dengan host dan model yang diganti.
Format 2: Anthropic Messages
Format Anthropic Messages mirip dengan ChatCompletions, tetapi ada perbedaan payload yang penting.
System prompt berada di tingkat atas
Jangan masukkan system prompt ke arraymessages. Gunakan parametersystem.max_tokenswajib
Setiap request harus menyatakan anggaran output secara eksplisit.Definisi tool bersifat datar
Tool memakainame,description, daninput_schema, tanpa pembungkusfunction.
Contoh Python menggunakan SDK anthropic:
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com/anthropic", # Konfirmasikan path terkini di dokumentasi DeepSeek
)
message = client.messages.create(
model="deepseek-v4-pro",
max_tokens=8192,
system="You are a precise technical writer.",
messages=[
{
"role": "user",
"content": "Explain idempotency keys in two sentences.",
}
],
)
print(message.content[0].text)
Respons Anthropic Messages tidak selalu berupa string tunggal. content adalah daftar blok konten, jadi parse sesuai tipe bloknya.
for block in message.content:
if block.type == "text":
print(block.text)
Streaming juga menggunakan event SSE bertipe, seperti:
message_startcontent_block_deltamessage_stop
Untuk detail endpoint dan kompatibilitas terbaru, gunakan dokumentasi API DeepSeek sebagai sumber rujukan.
Mengarahkan Claude Code ke DeepSeek
Untuk tooling yang membaca konfigurasi Anthropic dari environment variable, gunakan:
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=$DEEPSEEK_API_KEY
export ANTHROPIC_MODEL=deepseek-v4-pro
Kapan menggunakan Anthropic Messages?
Pilih format ini jika:
- Agen Anda sudah dibangun untuk Claude
- Harness evaluasi Anda memakai Anthropic Messages
- Anda ingin melakukan A/B test DeepSeek dan Claude dengan bentuk request serupa
- Anda menggunakan tooling seperti Claude Code
Untuk referensi struktur request Messages, lihat panduan API Claude Opus 5.
Format 3: DeepSeek Responses API
Responses API ditujukan untuk implementasi agen. Format ini mengikuti pola OpenAI Responses API: gunakan instructions dan input, bukan satu array messages.
Contoh request dengan curl:
curl https://api.deepseek.com/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{
"model": "deepseek-v4-pro",
"instructions": "You are an API review agent. Be terse.",
"input": "Review this OpenAPI diff and list any breaking changes: [diff here]",
"stream": false
}'
Tiga karakteristik utama Responses API:
Status dapat dikelola server-side
Request berikutnya dapat mereferensikan respons sebelumnya, misalnya melaluiprevious_response_idsesuai spesifikasi.Output berupa item bertipe
Anda dapat menerima item penalaran, teks, atau pemanggilan tool sebagai entri terpisah.Streaming berbasis event semantik
Alih-alih chunk teks mentah, stream dapat berisi event sepertiresponse.output_text.deltadanresponse.completed.
Tool calling memakai item seperti:
function_callfunction_call_output
Gunakan api-docs.deepseek.com sebagai sumber kebenaran bila detail implementasi DeepSeek berbeda dari spesifikasi umum Responses API.
Kapan menggunakan Responses API?
Pilih format ini untuk:
- Agen multi-langkah
- Workflow bergaya Codex
- Orkestrasi yang membutuhkan output bertipe
- Sistem yang ingin memanfaatkan status percakapan server-side
Untuk chat completion biasa, format ini mungkin menambah kompleksitas yang tidak diperlukan.
Tiga format secara berdampingan
| OpenAI ChatCompletions | Anthropic Messages | DeepSeek Responses API | |
|---|---|---|---|
| Endpoint |
POST /chat/completions di api.deepseek.com
|
POST /v1/messages di basis kompatibel Anthropic (/anthropic) |
POST /responses di api.deepseek.com
|
| Bentuk request | Array messages, system prompt sebagai pesan pertama |
system tingkat atas + pesan user/assistant bergantian |
instructions tingkat atas + string input atau daftar item |
| Batas output | Opsional |
max_tokens wajib |
Opsional sesuai spesifikasi Responses |
| Definisi tool | Bersarang: objek function dengan parameters
|
Datar: input_schema per tool |
Entri datar sesuai spesifikasi Responses |
| Hasil tool | Pesan role: "tool"
|
Blok konten tool_result
|
Item function_call_output
|
| Streaming | Delta chat.completion.chunk, diakhiri [DONE]
|
Event bertipe: message_start → content_block_delta → message_stop
|
Event siklus hidup semantik seperti response.output_text.delta
|
| Status percakapan | Dikelola klien dengan mengirim ulang riwayat | Dikelola klien dengan mengirim ulang riwayat | Dapat dikelola server-side melalui referensi respons sebelumnya |
| Terbaik untuk | Tooling dan framework OpenAI | Tool dan agen berbasis Claude | Loop agen dan workflow stateful |
Model dan harga tetap sama. Perbedaannya berada pada kontrak wire-level: endpoint, payload, streaming, dan format output.
Uji ketiganya dalam satu proyek Apidog
Cara termudah memverifikasi perbedaan format adalah mengirim prompt yang sama melalui ketiga endpoint dan membandingkan respons mentahnya.
1. Buat tiga folder request
Dalam satu proyek Apidog, buat folder berikut:
deepseek-v4-pro/
├── chat-completions/
├── anthropic-messages/
└── responses/
Di setiap folder, simpan request untuk skenario yang sama:
- Chat biasa
- Tool calling
- Streaming
- Respons dengan system prompt
- Respons multi-langkah jika relevan
2. Definisikan environment variable bersama
Buat environment dengan variabel berikut:
DEEPSEEK_API_KEY
BASE_URL
ANTHROPIC_BASE
MODEL
Contoh nilai:
DEEPSEEK_API_KEY = your_deepseek_key
BASE_URL = https://api.deepseek.com
ANTHROPIC_BASE = https://api.deepseek.com/anthropic
MODEL = deepseek-v4-pro
Dengan konfigurasi ini, beralih ke deepseek-v4-flash cukup dilakukan dengan mengganti nilai MODEL.
3. Kirim prompt yang identik
Gunakan prompt yang sama pada ketiga format, lalu bandingkan lokasi output teks:
ChatCompletions:
choices[0].message.content
Anthropic Messages:
content[].text
Responses API:
output[] item bertipe
Perbandingan ini membantu Anda menulis adapter atau parser yang sesuai dengan format target.
4. Uji streaming
Aktifkan streaming:
{
"stream": true
}
Kemudian perhatikan bentuk event SSE:
- ChatCompletions: chunk seragam dan
[DONE] - Anthropic Messages: event bernama seperti
content_block_delta - Responses API: event lifecycle seperti
response.output_text.delta
Jika Anda baru menggunakan SSE, baca cara melakukan streaming respons API dengan SSE.
5. Tambahkan assertion pada bidang yang dipakai aplikasi
Jangan hanya memastikan request berhasil. Tambahkan assertion untuk kontrak yang benar-benar dipakai integrasi Anda, misalnya:
- Path konten jawaban
- ID tool call
- Finish reason
- Tipe item output
- Keberadaan
reasoning_content - Event streaming yang diharapkan
Jalankan ulang koleksi saat DeepSeek mengirim pembaruan snapshot model.
Catatan migrasi
Dari OpenAI ke DeepSeek
Ubah tiga nilai:
base_url = "https://api.deepseek.com"
api_key = "YOUR_DEEPSEEK_API_KEY"
model = "deepseek-v4-pro"
Lalu verifikasi dua hal sebelum deploy:
- Parameter non-inti yang Anda gunakan tetap berperilaku sesuai harapan.
- Parser respons Anda tidak gagal saat
reasoning_contentmuncul di sampingcontent.
Jalankan collection regression Anda, jangan hanya mengandalkan kompatibilitas nominal.
Dari Anthropic ke DeepSeek
Untuk SDK dan agen berbasis Anthropic:
- Ganti base URL ke endpoint kompatibel Anthropic DeepSeek.
- Ganti key menjadi key DeepSeek.
- Ganti model menjadi
deepseek-v4-pro.
Karena bentuk Messages diwariskan dari Anthropic, struktur max_tokens, content blocks, dan typed streaming events tetap relevan. Untuk aplikasi yang memakai environment variable, migrasinya dapat dilakukan melalui tiga baris export.
Ke Responses API
Migrasi ke Responses API bukan sekadar perubahan konfigurasi. Anda perlu menulis ulang lapisan request dan parsing respons karena formatnya berbeda dari ChatCompletions maupun Messages.
Adopsi format ini jika Anda memang membutuhkan:
- Status server-side
- Item output bertipe
- Orkestrasi agen multi-langkah
Jangan memilihnya hanya karena antarmukanya lebih baru.
FAQ
Format mana yang sebaiknya dipilih untuk proyek baru?
Gunakan ChatCompletions sebagai default karena dukungan tooling-nya paling luas.
- Pilih Messages jika stack Anda berbasis Claude.
- Pilih Responses API jika Anda membangun agen multi-langkah dan membutuhkan state server-side.
Bisakah Claude Code diarahkan ke DeepSeek V4 Pro?
Ya. Atur ANTHROPIC_BASE_URL ke endpoint DeepSeek yang kompatibel dengan Anthropic, gunakan API key DeepSeek sebagai token autentikasi, lalu set model ke deepseek-v4-pro.
Apakah tool calling dan output terstruktur tersedia di semua format?
Model mendukung keduanya. Namun, setiap format memiliki representasi yang berbeda:
- ChatCompletions memakai objek fungsi bersarang.
- Messages memakai
input_schema. - Responses memakai item function-call bergaya Responses API.
Uji skema tool spesifik Anda pada setiap endpoint sebelum production deployment, terutama untuk kasus tepi pada schema dan hasil tool.
Top comments (0)