الأدلة / DeepSeek Files API
DeepSeek Files API (2026): الحدود، وعمليات الرفع، وfile_id في التطبيق العملي
أطلقت DeepSeek بهدوء أول نقطة نهاية للملفات في 21 أغسطس 2026، بالتزامن مع نموذج الرؤية — مما يجعل العديد من الأدلة القديمة غير صالحة (حيث لا يزال بعضها يدعي أن DeepSeek API "لا يحتوي على مسار لرفع الملفات"). يتضمن هذا الدليل الحدود المؤكدة، وأمثلة على الرفع والإشارة إلى الملفات باستخدام curl وPython، وتوضيح متى تُستخدم الملفات بدلاً من base64.
تقوم DeepSeek Files API برفع الصورة مرة واحدة وإرجاع file_id تشير إليه في المحادثة.
الرفع باستخدام purpose="user_data"؛ يمكن أن يصل حجم الملف إلى 64 MiB (نافذة رفع مدتها 10 دقائق)؛ وسعة التخزين هي 25 GiB / 10,000 ملف لكل مستخدم؛ ومدة الاحتفاظ من ساعة واحدة إلى 30 يومًا أو دائمة دون expires_after.
يمكنك الإشارة إلى الملفات في محادثات deepseek-v4-flash-vision-exp عبر كتلة {"type":"file","file_id":...} — يمكن أن يصل حجم صور file_id إلى 64 MiB في الطلب الواحد مقابل 32 MiB للصور المضمنة (inline). ومن نقطة النهاية المتوافقة مع Anthropic، أضف الترويسة anthropic-beta: files-api-2025-04-14.
لمحة سريعة عن الحدود
| الحد | القيمة (التوثيق الرسمي، 2026-08-21) |
|---|---|
| التنسيقات | JPEG, PNG, GIF, WebP — يتم التعرف عليها من خلال محتوى الملف وليس الامتداد |
| لكل ملف | الحد الأقصى 64 MiB؛ يجب أن تكتمل عملية الرفع خلال 10 دقائق |
| لكل مستخدم | سعة تخزين 25 GiB؛ و10,000 ملف مخزن |
| مدة الاحتفاظ | من ساعة واحدة إلى 30 يومًا، أو دائم (عند حذف expires_after) |
| الغرض | يجب أن يكون user_data (الغرض الوحيد المدعوم، ويُستخدم أيضًا لتصفية القوائم) |
| الحجم داخل الطلب | تصل صور file_id إلى 64 MiB لكل طلب؛ بينما تقتصر صور base64/URL المضمنة على 32 MiB كحد أقصى |
| توافقية API | متوافق مع OpenAI ومع Anthropic؛ يتطلب مسار /messages في Anthropic ترويسة files-api التجريبية (beta header) |
المصدر: دليل Files API الرسمي، تم الاطلاع عليه بتاريخ 2026-08-21.
ارفع لمرة واحدة واستخدم المرجع دائمًا (حسناً، حتى 30 يومًا)
ارفع لقطة شاشة واحصل على file_id:
curl https://api.deepseek.com/files \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-F "purpose=user_data" \
-F "file=@dashboard.png"
ثم أشر إليها في محادثة vision-exp — دون الحاجة لكتلة base64 أو إعادة الرفع في الأدوار اللاحقة:
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{
"model": "deepseek-v4-flash-vision-exp",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Which metric regressed in this dashboard?"},
{"type": "file", "file_id": "file-api-xxxx"}
]
}]
}'
استخدام Python مع حزمة OpenAI SDK — الرفع ثم بدء المحادثة:
from openai import OpenAI
client = OpenAI(api_key="YOUR_KEY", base_url="https://api.deepseek.com")
f = client.files.create(file=open("dashboard.png", "rb"), purpose="user_data")
resp = client.chat.completions.create(
model="deepseek-v4-flash-vision-exp",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Which metric regressed?"},
{"type": "file", "file_id": f.id},
],
}],
)
print(resp.choices[0].message.content)
- البديل المضمن: يمكن لكتلة الملف أن تحمل
file_data(بتنسيق base64) بدلاً منfile_id— وهما حقلان متعارضان تبادليًا؛ ولا يمكن إرفاقfilenameإلا مع file_data. - بنية نمط Anthropic: تعمل كتل الملفات نفسها في مسار /messages مع ترويسة
anthropic-beta: files-api-2025-04-14.
متى تستخدم الملفات مقابل base64 مقابل روابط URL
| الطريقة | الحد الأقصى للحجم | الأفضل لـ |
|---|---|---|
| base64 مضمن | 32 MiB | الصور المنشأة لمرة واحدة أثناء تشغيل العملية؛ وهي الأبسط برمجيًا |
| رابط URL خارجي | 32 MiB، رابط URL بطول 8,192 حرفًا، وقت جلب 60 ثانية | صور مستضافة علنًا؛ دون الحاجة لأي خطوة رفع على الإطلاق |
| Files API | 64 MiB | حلقات لقطات الشاشة للوكيل الذكي (Agent)، والصور المرجعية المتكررة، وأي عنصر يُعاد استخدامه عبر أدوار المحادثة |
FAQ
قرأت أن DeepSeek ليس لديه نقطة نهاية للملفات — هل هذا أمر جديد؟
صحيح حتى 21 أغسطس 2026 — الأدلة القديمة التي ذكرت أنه "لا يوجد مسار /v1/files، استخرج النص بنفسك" كانت دقيقة في وقتها لكنها أصبحت قديمة الآن. تم إطلاق Files API بالتزامن مع إطلاق نموذج الرؤية.
هل يمكنني رفع ملفات PDF أو مستندات؟
لا — تقبل Files API حاليًا تنسيقات الصور فقط (JPEG/PNG/GIF/WebP). بالنسبة لملفات PDF، قم بتحويل الصفحات إلى صور من جانب العميل (caller-side)، ثم ارفعها أو ضمنها.
كم تبلغ مدة بقاء الملفات؟
بين ساعة واحدة و30 يومًا عبر expires_after، أو بشكل دائم إذا قمت بحذفه — وذلك ضمن حصتك البالغة 25 GiB / 10,000 ملف.
هل تعمل الملفات مع النماذج غير المخصصة للرؤية؟
تُستخدم كتل الملفات بواسطة deepseek-v4-flash-vision-exp؛ وتظل نماذج V4-Flash/V4-Pro القياسية مقتصرة على النصوص فقط. لا توجه مراجع الملفات إلى النماذج النصية.