POST/content_provenance_checks

Create content provenance check

Check whether an image or audio file contains known OpenAI provenance signals. Learn more about content provenance.

If not_detected, it means the tool did not find supported signals in the uploaded file. The content could still have been generated by OpenAI if the metadata was stripped or has evidence of tampering, the watermark was degraded, it comes from a legacy generation model, or it was created before provenance signals were available. Content could also still be AI-generated by another company's model, which the tool currently does not detect.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

1 body field
filestringrequired
The image or audio file to check for supported OpenAI provenance signals.

6 status codes
200Success
objectstringrequired
The object type. Always `content_provenance_check` for this endpoint.
Allowed:content_provenance_check
created_atintegerrequired
The Unix timestamp, in seconds, when the provenance check was created.
resultsarray<object>required
The provenance results that apply to the uploaded file. Image results include C2PA and SynthID; audio results include SynthID.
400The file is missing, invalid, unsupported, too large, or rejected by safety checks.
errorobjectrequired
404Content provenance checks are unavailable to this caller.
errorobjectrequired
429The request was rejected because a rate limit was exceeded.
errorobjectrequired
500The content provenance check could not be completed.
errorobjectrequired
503Content provenance inspection is temporarily unavailable.
errorobjectrequired

Error handling

A 400 is returned: The file is missing, invalid, unsupported, too large, or rejected by safety checks. A 404 is returned: Content provenance checks are unavailable to this caller. A 429 is returned: The request was rejected because a rate limit was exceeded. A 500 is returned: The content provenance check could not be completed. A 503 is returned: Content provenance inspection is temporarily unavailable.