Skip to main content
Deepdub embeds C2PA Content Credentials into Managed Dub media deliverables. A Content Credential is a cryptographically signed manifest carried inside the file itself, recording that the audio was produced with AI and which parts of the asset that applies to. This gives you a machine-readable disclosure you can carry downstream — useful when a broadcaster, platform, or regulator asks you to evidence how a dubbed asset was made. Transparency obligations such as the EU AI Act’s Article 50 are the usual reason customers ask for it.
Content Credentials apply to Managed Dub deliverables only. Audio returned by the TTS REST and WebSocket APIs does not carry them — those formats are streamed and often headerless, with nowhere to put a manifest.

Which deliverables carry credentials

Signing happens automatically as part of export. There is no request field to turn it on or off, and it does not change the media itself — only metadata is added.
Treat credentials as best-effort rather than guaranteed. If signing fails, Deepdub delivers the file unsigned rather than failing your job, so a delivered file may carry credentials but is not certain to. Verify a file rather than assuming.

What the manifest says

A Deepdub manifest identifies the signer as Deepdub Provenance Service and carries two assertions:
  • c2pa.actions — the standard C2PA disclosure of what happened to the asset. The digitalSourceType records that the result contains AI-generated media.
  • com.deepdub.provenance — a Deepdub assertion carrying the classification, the affected components, and an asset reference.

Classification

Dubbing deliverables are classified partially_ai_modified: the dialogue audio is synthesized, while the picture and the rest of the mix are not.

Components

components narrows the classification to the parts of the asset it applies to — for a dubbed asset typically audio and voice, plus video for an MP4 export. Other possible values are transcript, subtitles, image, and lip_region. Only stable identifiers go into the embedded manifest. Your account identifiers, project structure, and the model versions used are not written into the file.

Verifying a file

Upload the delivered file to POST /provenance/verify:
Read the two booleans together: c2pa_present tells you whether the file carried a manifest, and verified whether its signature validated. A file with no credentials returns c2pa_present: false and detail: "No C2PA manifest found" rather than an error, since an unsigned file is a legitimate answer. The check runs on the bytes you upload, so it works on a renamed or relocated copy.
watermark_detected and watermark_confidence are reserved for a future signal and are always false and null today. created_at is likewise not yet populated.

Verifying with third-party tools

The manifest is standard C2PA, so tools such as c2patool and Content Credentials Verify will read it and show the assertions correctly.
Deepdub currently signs with its own certificate, which is not yet on the public C2PA trust list. Third-party verifiers therefore read the manifest correctly but report the signer as untrusted. That reflects trust-list enrollment, not a problem with the file. Use POST /provenance/verify for an authoritative answer in the meantime.

Limits

  • Re-encoding strips credentials. Transcoding, remuxing, or re-rendering a delivered file discards the manifest, because the signature covers the original bytes. Sign-off workflows should verify the file Deepdub delivered, and re-verify any copy that has been through another tool.
  • Managed Dub is served from a single region (https://dubbing.deepdub.app), so provenance follows the same footprint.