Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Create content provenance check

ContentProvenanceCheck contentProvenanceChecks().create(ContentProvenanceCheckCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/content_provenance_checks

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.

ParametersExpand Collapse
ContentProvenanceCheckCreateParams params
InputStream file

The image or audio file to check for supported OpenAI provenance signals.

ReturnsExpand Collapse
class ContentProvenanceCheck:
long createdAt

The Unix timestamp, in seconds, when the provenance check was created.

formatunixtime
Object object_

The object type. Always content_provenance_check for this endpoint.

List<Result> results

The provenance results that apply to the uploaded file. Image results include C2PA and SynthID; audio results include SynthID.

Create content provenance check

package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.contentprovenancechecks.ContentProvenanceCheck;
import com.openai.models.contentprovenancechecks.ContentProvenanceCheckCreateParams;
import java.io.ByteArrayInputStream;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        ContentProvenanceCheckCreateParams params = ContentProvenanceCheckCreateParams.builder()
            .file(new ByteArrayInputStream("Example data".getBytes()))
            .build();
        ContentProvenanceCheck contentProvenanceCheck = client.contentProvenanceChecks().create(params);
    }
}
{
  "created_at": 0,
  "object": "content_provenance_check",
  "results": [
    {
      "generated_at": "generated_at",
      "issuer": "issuer",
      "model": "model",
      "outcome": "detected",
      "type": "c2pa",
      "validation_state": "trusted"
    }
  ]
}
Returns Examples
{
  "created_at": 0,
  "object": "content_provenance_check",
  "results": [
    {
      "generated_at": "generated_at",
      "issuer": "issuer",
      "model": "model",
      "outcome": "detected",
      "type": "c2pa",
      "validation_state": "trusted"
    }
  ]
}