> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Dateiinhalte abrufen

> Lädt den ursprünglichen Inhalt einer hochgeladenen Datei herunter.

## Übersicht

Dieser Endpunkt dient in erster Linie dem Abruf von Datei-Inhalten in TokenLabs OpenAI-kompatibler Batch-API.

Wenn die Anfrage in den Anthropic-Files-Kompatibilitätsmodus wechselt, kann dieselbe Route außerdem den ursprünglich gespeicherten Dateiinhalte für den gebundenen Workspace durchreichen.

Ohne Anthropic-Header lädt diese Route Batch-Dateiinhalte herunter oder proxyt Inhalte einer gebundenen Bild-/Referenzdatei, wenn der Anbieter Dateiinhalte abrufen kann.

## Hinweise

* Batch-Eingabedateien müssen `purpose=batch` verwenden.
* Verwenden Sie `purpose=batch_output`, um sich auf erzeugte Ausgabedateien zu konzentrieren.
* `completion_window` beträgt derzeit `24h`.
* Die Ausgabe-Reihenfolge ist nicht garantiert; immer nach `custom_id` abgleichen.
* Streaming wird innerhalb von Batch-Elementen nicht unterstützt.

## Beispiel

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.tokenlab.sh/v1/files/file_abc123/content" \
    -H "Authorization: Bearer sk-your-api-key" \
    --output batch-output.jsonl
  ```
</RequestExample>

## Anfrage / Antwort

Verwenden Sie das interaktive OpenAPI-Panel oben für das genaue Schema.

## Betriebliche Tipps

* Verwenden Sie `custom_id` für idempotente nachgelagerte Abstimmungen.
* Erwarten Sie `output_file_id` und `error_file_id` erst, nachdem der Worker den Batch abgeschlossen hat.
* Die Preise für Batches können von den Preisen für synchrone Anfragen abweichen, da die Rabattregeln für `isBatchRequest=true` gelten.

## Antwortbeispiel

<ResponseExample>
  ```jsonl 200 OK theme={null}
  {"custom_id":"request-1","response":{"status_code":200,"body":{"id":"chatcmpl_abc123"}}}
  {"custom_id":"request-2","error":{"code":"invalid_request_error","message":"Invalid model"}}
  ```
</ResponseExample>

## Wichtige Felder

<ResponseField name="body" type="binary|string">Roher Antwortkörper. Direkt speichern, nicht als JSON parsen.</ResponseField>
<ResponseField name="custom_id" type="string">Kennung für Folgeaufrufe und Support.</ResponseField>
