Mit der Content Provenance API kannst du prüfen, ob eine Bild- oder Audiodatei
unterstützte Herkunftssignale von OpenAI enthält. Sende eine Datei an
POST /v1/content_provenance_checks, um die vollständigen Prüfergebnisse
direkt in derselben Antwort zu erhalten. Nutze diese Signale bei der Prüfung von Inhalten,
bei Faktenchecks, bei der Kennzeichnung sowie in Arbeitsabläufen für Vertrauen und Sicherheit.
Um eine Datei in deinem Browser zu prüfen, verwende das Webtool unter openai.com/verify.
Anfrageparameter und Antwortschemas findest du in der API-Referenz zur Herkunft von Inhalten.
Das Ergebnis not_detected bedeutet, dass das Tool keine unterstützten Signale in der
hochgeladenen Datei gefunden hat. Der Inhalt kann trotzdem mit OpenAI generiert worden sein: Seine Metadaten
wurden möglicherweise entfernt oder weisen auf Manipulation hin, sein Wasserzeichen wurde beeinträchtigt,
er stammt aus einem älteren generativen Modell oder wurde erstellt, bevor
Herkunftssignale verfügbar waren. Das Tool erkennt derzeit keine Inhalte, die mit dem KI-Modell
eines anderen Unternehmens generiert wurden. Das Ergebnis not_detected schließt daher auch diese
Möglichkeit nicht aus.
Was bei der Herkunftsprüfung untersucht wird
Die Herkunftsprüfung untersucht unterstützte Dateien auf die folgenden Signale:
| Signal | Gilt für | Was geprüft wird |
|---|---|---|
| C2PA Content Credentials | Bilder | Signierte Metadaten mit Angaben zum Aussteller und zur KI-Nutzung |
| SynthID | Bilder und Audiodateien | Ein direkt in unterstützte Medien eingebettetes Wasserzeichen |
C2PA-Metadaten liefern zusätzlichen Kontext zur Herkunft einer Datei. Beim Bearbeiten, Konvertieren oder Teilen einer Datei können ihre Metadaten verloren gehen. Ein SynthID-Wasserzeichen ist Teil der Bild- oder Audiodaten selbst und kann manche Veränderungen überstehen.
Die API prüft auf unterstützte OpenAI-Signale. Sie ist kein universelles Tool zur Erkennung von KI-Inhalten und erkennt nicht die Inhalte jedes KI-Systems. Sichtbare Wasserzeichen und Kennzeichnungen sind von den Herkunftssignalen zu unterscheiden, die die API prüft.
Eine Datei überprüfen
Sende mit dem OpenAI SDK eine Bild- oder Audiodatei im Feld file. Das SDK
erstellt die Multipart-Anfrage und liest deinen API-Schlüssel
aus der Umgebungsvariablen OPENAI_API_KEY:
import { createReadStream } from "node:fs";
import OpenAI, { toStreamingFile } from "openai";
const client = new OpenAI();
const result = await client.contentProvenanceChecks.create({
file: toStreamingFile(createReadStream("myimage.png"), "myimage.png", {
type: "image/png",
}),
});
console.log(result);Verwende diese oder neuere Versionen des OpenAI SDK: Python 2.52.0, Go 3.49.0 und Ruby 0.75.0.
Um Opus-Audiodateien zu überprüfen, verwende denselben Endpunkt und setze den Medientyp
der hochgeladenen Datei auf audio/ogg:
curl https://api.openai.com/v1/content_provenance_checks \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "file=@./example.opus;type=audio/ogg"
Die Antwort enthält das vollständige Ergebnis. Für ein Bild wird beispielsweise Folgendes zurückgegeben:
{
"object": "content_provenance_check",
"created_at": 1778000000,
"results": [
{
"type": "c2pa",
"outcome": "detected",
"validation_state": "trusted",
"issuer": "OpenAI OpCo, LLC",
"model": "gpt-image",
"generated_at": "2026-07-27T18:34:12Z"
},
{
"type": "synthid",
"outcome": "not_detected",
"model": null,
"generated_at": null
}
]
}
Das Feld object kennzeichnet die Antwort. created_at gibt den Erstellungszeitpunkt
der Prüfung als Unix-Zeitstempel in Sekunden an. Die Einträge in results hängen von
der hochgeladenen Datei ab: Bei Bildern werden C2PA- und SynthID-Ergebnisse zurückgegeben, bei Audiodateien ein
SynthID-Ergebnis. Die API lässt nicht zutreffende Prüfungen aus, statt
not_detected zurückzugeben.
Die API schließt die Überprüfung ab, bevor sie die Antwort zurückgibt. Du musst keinen Hintergrundjob erstellen, keinen anderen Endpunkt wiederholt abfragen und die Datei nicht an die Files API hochladen.
Wenn eine Anfrage fehlschlägt, prüfe den HTTP-Status und, sofern verfügbar, error.code.
Eine fehlerhafte, nicht unterstützte oder blockierte Datei führt zu 400; eine Organisation ohne
Zugriff erhält 404; bei Anfragen über dem Ratenlimit wird 429 zurückgegeben. Wiederhole Anfragen nur
bei vorübergehenden Fehlern, etwa aufgrund von Ratenlimits oder Serverfehlern. Allgemeine Hinweise
findest du unter API-Fehlercodes.
Prüfergebnisse verstehen
Betrachte jeden zutreffenden Eintrag in results einzeln. Ergebnisse für Bilder enthalten
C2PA- und SynthID-Einträge, Ergebnisse für Audiodateien einen SynthID-Eintrag. Die
Antwort enthält kein outcome auf oberster Ebene.
C2PA-Ergebnisse
Ein C2PA-Ergebnis beschreibt den Zustand der Content Credentials eines Bildes:
{
"type": "c2pa",
"outcome": "detected",
"validation_state": "trusted",
"issuer": "OpenAI OpCo, LLC",
"model": "gpt-image",
"generated_at": "2026-07-27T18:34:12Z"
}
Verwende die Felder wie folgt:
outcomegibt an, ob von OpenAI ausgestellte Nachweise für eine KI-Generierung erkannt wurden (detected) oder nicht (not_detected).validation_stategibt an, ob das Manifest den Statustrusted,valid,invalidodernot_presenthat.issuergibt den Aussteller des Manifests an, sofern diese Information verfügbar ist.modelgibt das zur Generierung verwendete Modell an, sofern diese Information verfügbar ist.generated_atgibt den Zeitpunkt der Generierung des Inhalts an, sofern diese Information verfügbar ist.
Das Ergebnis lautet nur dann detected, wenn ein Manifest mit dem Status trusted oder valid
OpenAI als Aussteller angibt und eine Aktion zur KI-Generierung enthält. Ein Manifest eines Drittanbieters,
ein Manifest ohne Aktion zur KI-Generierung, ein Manifest mit dem Status invalid oder
not_present führt zum Ergebnis not_detected. Die Felder issuer und
validation_state können ein Manifest auch dann beschreiben, wenn das Ergebnis
not_detected lautet.
Betrachte ein Manifest mit dem Status invalid nicht als verlässlichen Herkunftsnachweis.
Das Ergebnis not_present bedeutet, dass für das Bild kein C2PA-Manifest verfügbar ist.
SynthID-Ergebnisse
Ein SynthID-Ergebnis gibt an, ob das Prüftool ein unterstütztes Wasserzeichen in einer Bild- oder Audiodatei erkannt hat:
{
"type": "synthid",
"outcome": "detected",
"model": null,
"generated_at": null
}
Das Ergebnis detected bedeutet, dass die Datei ein erkanntes Wasserzeichen enthält.
Das Ergebnis not_detected bedeutet, dass das Prüftool dieses Wasserzeichen nicht erkannt hat. Es
schließt nicht aus, dass der Inhalt mit KI generiert oder verändert wurde. model und
generated_at geben das verwendete Modell und den Zeitpunkt der Generierung an, sofern verfügbar;
jedes der beiden Felder kann den Wert null haben.
Unterstützte Formate und Verfügbarkeit
Die API unterstützt die folgenden Dateiformate:
- Bilder: PNG, JPEG und WebP.
- Audio: MP3, Opus, AAC, FLAC, WAV und PCM.
Jede hochgeladene Datei darf höchstens 50 MiB groß sein. Audiodateien dürfen nach der Dekodierung höchstens 60 Sekunden lang sein.
Lege den Medientyp des hochgeladenen file-Teils fest. Verwende zum Beispiel image/png für ein PNG-Bild
oder audio/ogg für Opus-Audio. Füge kein separates type-Feld hinzu und
setze den Anfrageheader für multipart/form-data nicht manuell. Bei curl legt die Option -F
den Inhaltstyp der Anfrage und die Multipart-Grenze fest. Sende eine Datei pro Anfrage.
Für Herkunftsprüfungen ist die Option keine Datenaufbewahrung nicht verfügbar.
Strenge Ratenlimits helfen, die API vor Missbrauch zu schützen. Organisationen können höhere Limits beantragen. OpenAI prüft jeden Antrag einzeln.
Wenn die API 429 rate_limit_exceeded zurückgibt, verringere deine Anfragerate und
beachte den Header Retry-After, sofern vorhanden. Allgemeine Hinweise zum Wiederholen von Anfragen findest du unter
Ratenlimits.
Prüfergebnisse verantwortungsvoll nutzen
Nutze Prüfergebnisse als Belege im Rahmen eines umfassenderen Prüfverfahrens:
- Betrachte
detectedals Beleg für ein bestimmtes unterstütztes Signal, nicht als vollständige Historie einer Datei. - Betrachte
not_detectedals Hinweis darauf, dass keine Belege erkannt wurden, nicht als Beweis dafür, dass der Inhalt von Menschen erstellt oder nicht mit OpenAI generiert wurde. - Prüfe den C2PA-Aussteller, bevor du ein Bild einem bestimmten Anbieter zuordnest.
- Überprüfe möglichst die Originaldatei. Komprimierung, Zuschneiden, Screenshots, das Entfernen von Metadaten und Formatkonvertierungen können ein Signal löschen oder abschwächen.
- Berücksichtige das ursprüngliche Produkt, das Modell, das Dateiformat und das Erstellungsdatum. Nicht alle mit OpenAI generierten Inhalte enthalten ein unterstütztes Signal.
- Ergänze automatisierte Entscheidungen in Arbeitsabläufen mit weitreichenden Folgen durch menschliche Überprüfung.
- Verwende keine wiederholten Abfragen, um die Funktionsweise eines Wasserzeichens zu rekonstruieren, es zu entfernen oder zu umgehen.
- Ziehe aus einem Prüfergebnis keine Rückschlüsse auf einen Prompt, ein Konto oder eine bestimmte Person, die den Inhalt erstellt hat.
Für die Nutzung der Content Provenance API gilt die Dienstleistungsvereinbarung von OpenAI.
Informationen zu plattformweiten Einstellungen für Überwachung und Datenaufbewahrung findest du unter Datenkontrollen.