ChinaModelAPI

Anleitungen / DeepSeek Files API

Anleitung · verifiziert am 2026-08-21 anhand von api-docs.deepseek.com

DeepSeek Files API (2026): Limits, Uploads und file_id in der Praxis

DeepSeek hat am 21. August 2026 klammheimlich seinen ersten Datei-Endpunkt zusammen mit dem Vision-Modell veröffentlicht – was viele ältere Anleitungen obsolet macht (einige behaupten immer noch, die DeepSeek API hätte „keine Route für Datei-Uploads“). Diese Anleitung enthält die verifizierten Limits, Upload- und Referenzierungsbeispiele in curl und Python sowie Hinweise dazu, wann man Dateien anstelle von base64 verwenden sollte.

Direkte Antwort

Die DeepSeek Files API lädt ein Bild einmal hoch und gibt eine file_id zurück, die Sie im Chat referenzieren. Upload mit purpose="user_data"; eine Datei darf bis zu 64 MiB groß sein (10-minütiges Upload-Zeitfenster); Speicherplatz beträgt 25 GiB / 10.000 Dateien pro Benutzer; Speicherdauer 1 Stunde–30 Tage oder dauerhaft ohne expires_after. Referenzieren Sie Dateien in deepseek-v4-flash-vision-exp-Chats über einen {"type":"file","file_id":...}-Block – Bilder per file_id dürfen 64 MiB pro Anfrage groß sein, im Vergleich zu 32 MiB inline. Fügen Sie beim Anthropic-kompatiblen Endpunkt den Header anthropic-beta: files-api-2025-04-14 hinzu.

Limits auf einen Blick

LimitWert (offizielle Dokumentation, 2026-08-21)
FormateJPEG, PNG, GIF, WebP – Erkennung anhand des Dateiinhalts, nicht der Dateiendung
Pro DateiMax. 64 MiB; Upload muss innerhalb von 10 Minuten abgeschlossen sein
Pro Benutzer25 GiB Speicherplatz; 10.000 gespeicherte Dateien
Speicherdauer1 Stunde bis 30 Tage oder dauerhaft (expires_after weglassen)
VerwendungszweckMuss user_data sein (einziger unterstützter Zweck, auch für die Listenfilterung)
Größe in der Anfragefile_id-Bild bis zu 64 MiB pro Anfrage; Inline-base64-/URL-Bilder auf 32 MiB begrenzt
API-KompatibilitätOpenAI-kompatibel und Anthropic-kompatibel; Anthropic /messages erfordert den files-api-Beta-Header

Quelle: offizielle Files API-Anleitung, Stand 2026-08-21.

Einmal hochladen, dauerhaft referenzieren (naja, bis zu 30 Tage)

Einen Screenshot hochladen und eine file_id erhalten:

curl https://api.deepseek.com/files \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -F "purpose=user_data" \
  -F "file=@dashboard.png"

Anschließend in einem vision-exp-Chat referenzieren – kein base64-Blob, kein erneutes Hochladen in nachfolgenden Nachrichten:

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 mit dem OpenAI SDK – hochladen, dann chatten:

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)
  • Inline-Alternative: Ein Datei-Block kann file_data (base64) anstelle von file_id enthalten – sich gegenseitig ausschließende Felder; filename darf nur zusammen mit file_data verwendet werden.
  • Anthropic-kompatibler Stack: Dieselben Datei-Blöcke funktionieren auf /messages mit dem Header anthropic-beta: files-api-2025-04-14.

Wann man Dateien vs. base64 vs. URL verwendet

MethodeMaximale GrößeIdeal für
base64 inline32 MiBEinmalige, im Prozess generierte Bilder; am einfachsten zu implementieren
Externe URL32 MiB, URL mit 8.192 Zeichen, 60s AbrufÖffentlich gehostete Bilder; überhaupt kein Upload-Schritt
Files API64 MiBAgent-Screenshot-Schleifen, wiederholt referenzierte Bilder, alles zur Wiederverwendung über mehrere Turns

FAQ

Ich habe gelesen, dass DeepSeek keinen Datei-Endpunkt hat – ist das neu?

Stimmte bis zum 21. August 2026 – ältere Anleitungen mit dem Hinweis „keine /v1/files-Route, Text selbst extrahieren“ waren zu ihrer Zeit zutreffend und sind jetzt veraltet. Die Files API wurde mit dem Vision-Launch veröffentlicht.

Kann ich PDFs oder Dokumente hochladen?

Nein – die Files API akzeptiert derzeit nur Bildformate (JPEG/PNG/GIF/WebP). Rendern Sie bei PDFs die Seiten clientseitig als Bilder und laden Sie diese hoch oder binden Sie sie inline ein.

Wie lange bleiben Dateien gespeichert?

Zwischen 1 Stunde und 30 Tagen über expires_after oder dauerhaft, wenn Sie es weglassen – innerhalb Ihres Kontingents von 25 GiB / 10.000 Dateien.

Funktionieren Dateien mit Modellen ohne Vision?

Datei-Blöcke werden von deepseek-v4-flash-vision-exp verarbeitet; reine V4-Flash/V4-Pro-Modelle bleiben rein textbasiert. Verweisen Sie mit Dateireferenzen nicht auf Textmodelle.

Verwandte Themen