العودة إلى المدونة

البدءدليل

مفتاح DeepSeek API: ماذا تلصق وأين، وأول استدعاء

ما هو مفتاح DeepSeek API، والقيم الثلاث التي تطلبها كل أداة (المفتاح، عنوان URL الأساسي، معرّف النموذج)، وأول طلب عامل في curl وPython.

بواسطة CheapTokens Teamنُشر في 4 دقيقة قراءة

الغلاف: ثلاث قيم لاستدعاء DeepSeek API — المفتاح، عنوان URL الأساسي، معرّف النموذج
في هذه الصفحة
  1. ما هو مفتاح API، حقًا؟
  2. ضع المفتاح في متغير بيئة
  3. الطلب الأول
  4. ما الذي يجب أن تراه
  5. عندما لا يعمل
  6. إلى أين تذهب القيم الثلاث نفسها بعد ذلك

مفتاح DeepSeek API هو سلسلة سرية تخبر الـ API بمن يرسل الطلب. لكن الأداة لا تحتاج المفتاح وحده أبدًا: إنها تحتاج ثلاث قيم معًا — المفتاح، وعنوان URL الأساسي، ومعرّف النموذج. اضبط هذه الثلاثة وسيعمل أول استدعاء.

من المحتمل أنك بحثت عن هذا لأن أحد النماذج يطلب منك "مفتاح DeepSeek API الخاص بك": سكربت، أو إضافة محرر، أو عقدة n8n. لا بأس. لنلقِ نظرة على ما يريده كل حقل، ثم نرسل طلبًا حقيقيًا واحدًا.

ما هو مفتاح API، حقًا؟#

فكّر في بطاقة مفتاح فندق. إنها لا تقول من أنت بالكلمات؛ إنها فقط تفتح بابك ويحاسب مكتب الاستقبال غرفتك. مفتاح API يؤدي الوظيفة نفسها: يراه الخادم في الطلب، فيعرف أي حساب يجب محاسبته، ويسمح بمرور الاستدعاء. أضِع البطاقة ويمكن لأي شخص الدخول ومحاسبة غرفتك — لذلك يُحفظ المفتاح بعيدًا عن الكود وبعيدًا عن المحادثات. (القصة الأطول في What is an API key and how to store it safely.)

تُظهر وثائق API الخاصة بـ DeepSeek (تم التحقق منها في 4 نوفمبر 2026) العادة نفسها: يوضع المفتاح في متغير بيئة، DEEPSEEK_API_KEY، قبل تشغيل أي مثال، وتتبع الـ API تنسيق OpenAI — يعمل OpenAI SDK بمجرد تغيير api_key وbase_url. هذا هو الحل كله، ولهذا لا يسافر المفتاح وحده أبدًا.

بطاقات تعليمية

القيم الثلاث التي تطلبها كل أداة

تفصيل يوقع الناس في الخطأ: المفتاح ينتمي إلى الخدمة التي أصدرته. مفتاح CheapTokens يذهب مع عنوان CheapTokens، ومعرّف النموذج هو الذي تسرده CheapTokens. اخلط مفتاحًا من مكان مع عنوان من مكان آخر وستحصل على خطأ تفويض، لا على إجابة.

The three values: key, base URL, model id
The three values a tool needs for the first call

ضع المفتاح في متغير بيئة#

أنشئ مفتاحًا في حساب CheapTokens الخاص بك (الخطوات في docs) وأبقِ الرصيد مشحونًا حتى يكون للطلب ما يسحب منه. ثم خزّن المفتاح في متغير بدلًا من لصقه في ملف.

macOS أو Linux:

bash
export CHEAPTOKENS_API_KEY='paste-your-key-here'

Windows PowerShell (النافذة الحالية فقط):

powershell
$env:CHEAPTOKENS_API_KEY = 'paste-your-key-here'

الجزء paste-your-key-here هو عنصر نائب؛ ضع مفتاحك الحقيقي هناك في طرفيتك الخاصة ولا مكان آخر. لماذا هذا أفضل من مفتاح مضمّن في الكود، وماذا تفعل إذا تسرّب أحدها، في Store an API key safely: env variable, .gitignore, leak fix.

الطلب الأول#

لنفترض أنك تريد فقط رؤيته يعمل: اطلب من النموذج شرح مفتاح API في جملة واحدة. الطلب نفسه، بطريقتين — اختر التبويب الذي تستخدمه.

أول طلب إلى deepseek-ai/DeepSeek-V4-Flash-0731

curl

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Explain an API key in one sentence."}],
    "max_tokens": 200
  }'

Python

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ['CHEAPTOKENS_API_KEY'],
    base_url='https://api.cheaptokens.dev/v1',
)

resp = client.chat.completions.create(
    model='deepseek-ai/DeepSeek-V4-Flash-0731',
    messages=[{'role': 'user', 'content': 'Explain an API key in one sentence.'}],
    max_tokens=200,
)

print(resp.choices[0].message.content)
print(resp.usage)

نسخة Python تحتاج pip install openai مرة واحدة. انظر إلى ما تغيّر مقارنة بسكربت مكتوب لـ OpenAI SDK: api_key، base_url وmodel — القيم الثلاث نفسها. كل شيء آخر يبقى كما كان.

The Python request with the key, base URL and model id each labelled with a comment
The same three values in the Python SDK

ما الذي يجب أن تراه#

الرد بصيغة JSON. نص الإجابة يوجد في choices[0].message.content؛ وهذا ما يطبعه سكربت Python أولًا. بجانبه مباشرة كتلة usage تحتوي على prompt_tokens، completion_tokens وtotal_tokens — كم رمزًا دخل، وكم خرج، والمجموع. تُحسب التكلفة من هذين الرقمين، ولهذا يستحقان نظرة حتى في أول استدعاء (Input vs output tokens يشرح التقسيم).

للتقاط إحساس بالحجم: استدعاء كهذا صغير جدًا. خذ 30 رمزًا داخلًا و200 خارجًا — سقف max_tokens من المثال، أي أغلى استدعاء يمكن أن ينتجه هذا الطلب. يكلف $0.00002. ألف منها تبدو هكذا، مع OpenRouter بجانبها للمرجعية:

النموذج لكل طلب 1,000 طلبات OpenRouter، 1,000 طلبات
GLM-5.3-Flash $0.0000086 $0.0086 $0.0176
DeepSeek-V4-Flash $0.00002 $0.0205 $0.0301
MiniMax-M2.7 $0.000032 $0.0315 $0.378

30 رمز إدخال و200 رمز إخراج لكل طلب. الأسعار لكل مليون رمز حالية وتتغير مع تعريفاتنا؛ يعرض عمود OpenRouter أسعارًا مرجعية لنفس حجم العمل.

النموذج وراء ذلك المعرّف هو DeepSeek-V4-Flash: نافذة سياق 380K رمزًا وحتى 32,768 رمزًا في إجابة واحدة. السعر نفسه في أي ساعة، دون رسوم إضافية في أوقات الذروة، ورصيد واحد يغطي كل النماذج. في المجموع — الإدخال والإخراج معًا — يخرج أرخص من OpenRouter، وهو بالضبط ما يُظهره الجدول أعلاه. المزيد عن النموذج: DeepSeek on CheapTokens، الأسعار الحالية في pricing page.

عندما لا يعمل#

تقريبًا كل فشل في أول استدعاء هو خطأ في إحدى القيم الثلاث. طابق العَرَض مع السبب:

طابق الأزواج

طابق كل عَرَض مع سببه

  • 401 Unauthorizedالمفتاح مفقود، أو مكتوب خطأً، أو ينتمي إلى خدمة مختلفة
  • "model not found" (نص الخطأ يذكر النموذج)معرّف النموذج ليس الكامل: استخدم deepseek-ai/DeepSeek-V4-Flash-0731
  • خطأ اتصال أو 404 على العنوان نفسه (لا كلمة "model" في الخطأ)خطأ مطبعي في عنوان URL الأساسي، مثل /v1 مفقود أو نطاق مختلف

الشرح الكامل لهذه الأخطاء في API 401 or 404 error: wrong key, base URL or model id. وإذا لم تكن متأكدًا من المعرّف الذي تستخدمه، اسأل الـ API نفسه: List models with GET /v1/models.

إلى أين تذهب القيم الثلاث نفسها بعد ذلك#

فائدة تعلّمها مرة واحدة أنها قابلة للنقل. تقريبًا أي أداة تتحدث إلى API متوافق مع OpenAI تطلب هذه القيم نفسها بشكل ما: المفتاح، والعنوان، والنموذج. في سكربت (LangChain، LiteLLM) تكون وسائط؛ وفي تطبيق أو عقدة no-code تكون حقولًا أو إعدادات. يمكنك أيضًا تجربتها دون كتابة كود في Postman. للبث والإجابات الطويلة مع هذا النموذج، تابع مع DeepSeek-V4-Flash quickstart.

قائمة التحقق

قبل أن تعتبره منتهيًا