Entwickeln / Anleitungen
Dateien
Wie Sie Dateien an Modelle senden, wann das Gateway sie prüft und maskiert und was beim Hochladen über /v1/files passiert.
Dateien erreichen ein Modell auf zwei Wegen:
- Inline im Body: als Base64-
data:-URL in einer Nachricht an/v1/chat/completions,/v1/responsesoder/v1/messages. Diese Dateien kann das Gateway prüfen und maskieren. - Hochladen über
/v1/files: Das Gateway reicht die Datei unverändert an den Anbieter weiter. Nachrichten verweisen dann perfile_iddarauf.
Dateiinhalte zulassen
Unter Models → Datenschutz im Abschnitt Dateien steht der Schalter Dateiinhalte zulassen. Standard ist an. Ist er aus, lehnt das Gateway diese Anfragen mit 403 file_content_not_allowed ab:
- Nachrichten mit Datei-, Bild- oder Audio-Teilen, auch mit
file_id-Verweis - alle Anfragen an
/v1/filesund/v1/skills - Transkriptionen über
/v1/audio/transcriptions
Dateien inline senden
Die Datei steht als data:-URL im Body. Ist die Maskierung für die Anfrage an (siehe Maskierung einschalten), prüft das Gateway die Datei nach dem Dateianalyse-Modus Ihrer Organisation.
Dateien, die Sie per externer URL oder file_id angeben, lädt das Gateway nicht herunter. Es prüft und maskiert sie nicht.
curl https://api.noirdoc.de/v1/chat/completions \
-H "Authorization: Bearer $NOIRDOC_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Noirdoc-Mask: on" \
-d '{
"model": "qwen3.8-27b",
"messages": [{
"role": "user",
"content": [
{
"type": "text",
"text": "Fassen Sie den Vertrag zusammen."
},
{"type": "file", "file": {
"filename": "vertrag.pdf",
"file_data": "data:application/pdf;base64,JVBERi0..."
}}
]
}]
}'Dateianalyse-Modus wählen
Admins stellen den Modus unter Models → Datenschutz im Abschnitt Dateien ein. Er wirkt auf Inline-Dateien in Anfragen, die das Gateway maskiert. Im Standardmodus Durchreichen erreichen Dateien den Anbieter auch bei eingeschalteter Maskierung unverändert.
| Modus | Im Portal | Verhalten |
|---|---|---|
passthrough | Durchreichen | Standard. Das Gateway prüft die Datei nicht und leitet sie unverändert weiter. |
detect_only | Nur erkennen | Das Gateway erkennt personenbezogene Daten und leitet die Datei unverändert weiter. |
block | Blockieren | Enthält eine Datei personenbezogene Daten, antwortet das Gateway mit 403 file_pii_blocked. |
pseudonymize | Pseudonymisieren | Das Gateway ersetzt personenbezogene Daten durch Platzhalter. DOCX, XLSX und Textdateien behalten ihr Format. PDFs und andere Formate ersetzt es durch ihren maskierten Text. |
Zwei weitere Einstellungen im selben Abschnitt:
- Maximale Dateigröße: Größere Dateien analysiert das Gateway nicht. Standard ist 25 MB.
- OCR für Scans und Bilder: Ohne OCR liest das Gateway keinen Text aus Bildern und gescannten PDFs; solche Dateien prüft es dann nicht. Standard ist aus.
In den Modi block und pseudonymize leitet das Gateway keine Datei weiter, die es nicht prüfen konnte. Überschreitet eine Datei die maximale Dateigröße, lässt sie sich nicht öffnen oder auslesen oder kennt das Gateway ihr Format nicht, antwortet es mit 422 file_unprocessable. Das gilt für jedes Format, auch für PDFs und Bilder. Die Datei erreicht den Anbieter dann nicht. Speichern Sie sie neu oder in einem anderen Format (etwa PDF, DOCX oder XLSX), verkleinern Sie sie oder lassen Sie sie weg.
Ausnahme sind Bilder und gescannte PDFs ohne Textebene, solange OCR für Scans und Bilder aus ist. Solche Dateien leitet das Gateway weiter, ohne sie zu prüfen. Schalten Sie OCR ein, wenn auch diese Dateien geprüft werden sollen.
Dateien hochladen
/v1/files reicht das Hochladen, Abrufen und Löschen von Dateien unverändert an den Anbieter durch. Das Gateway maskiert hier nichts. Deshalb lehnt es das Hochladen mit 403 masking_not_supported_for_endpoint ab, wenn die Maskierungsrichtlinie enforced gilt oder die Anfrage X-Noirdoc-Mask: on sendet. Auflisten, Abrufen, Herunterladen und Löschen bleiben erlaubt.
Den Anbieter bestimmt der Header, der Ihren Schlüssel trägt:
Authorization: Beareroderapi-key: Dateien-API im OpenAI-Formatx-api-key(Anthropic-SDK): Dateien-API von Anthropic. Den nötigenanthropic-beta-Wert ergänzt das Gateway.
Mit X-Provider: anthropic wählen Sie Anthropic auch bei Authorization: Bearer.
curl https://api.noirdoc.de/v1/files \
-H "Authorization: Bearer $NOIRDOC_API_KEY" \
-F purpose="user_data" \
-F file="@vertrag.pdf"import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.noirdoc.de/v1",
api_key=os.environ["NOIRDOC_API_KEY"],
)
uploaded = client.files.create(
file=open("vertrag.pdf", "rb"), purpose="user_data"
)
print(uploaded.id)import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.noirdoc.de/v1",
apiKey: process.env.NOIRDOC_API_KEY,
});
const uploaded = await client.files.create({
file: fs.createReadStream("vertrag.pdf"),
purpose: "user_data",
});
console.log(uploaded.id);Verwaltete Anbieter
Über von Noirdoc verwaltete Anbieter teilen sich mehrere Organisationen ein Konto beim Anbieter. Das Gateway ordnet deshalb jede hochgeladene Datei Ihrer Organisation zu:
GET /v1/fileslistet die Dateien Ihrer Organisation.- Eine
file_ideiner anderen Organisation behandelt das Gateway wie eine unbekannte: 404object_not_found. Das gilt auch für Verweise in Nachrichten.
Mit einem eigenen Anbieter (BYOK) gilt diese Zuordnung nicht; dort sehen Sie das Konto Ihres Anbieters.
Skills
/v1/skills reicht Anfragen an die Skills-API von Anthropic durch, ebenfalls ohne Maskierung. Für enforced und X-Noirdoc-Mask: on gilt dieselbe Regel wie bei /v1/files: Das Anlegen von Skills und Versionen lehnt das Gateway dann ab. Die Endpunkte im Detail stehen unter Dateien & Skills.
Fehler
| Status | Code | Bedeutung |
|---|---|---|
| 403 | masking_not_supported_for_endpoint | Der Endpunkt kann nicht maskieren, aber die Maskierungsrichtlinie ist enforced oder die Anfrage sendet X-Noirdoc-Mask: on. |
| 403 | file_content_not_allowed | Die Anfrage enthält Dateien, Bilder oder Audio, und die Organisation lässt keine Dateiinhalte zu. |
| 403 | file_pii_blocked | Eine Datei enthält personenbezogene Daten, und der Dateianalyse-Modus der Organisation ist block. |
| 404 | object_not_found | Das Objekt (Datei, Skill oder gespeicherte Antwort) existiert nicht oder gehört nicht Ihrer Organisation. |
| 422 | file_unprocessable | Eine Datei ließ sich für die Prüfung nicht verarbeiten: Sie ist zu groß, nicht lesbar oder hat ein Format ohne Analyse. Das Gateway hat die Anfrage nicht weitergeleitet. |
| 500 | file_analysis_error | Reserviert für Fehler der Dateianalyse. Das Gateway sendet diesen Code derzeit nicht. |