
Signing Sora 2 Output: Preserving OpenAI's Manifest as an Ingredient
· Mahdi Kazempour, Founder, Original Pictures
Definition: Ingredient preservation is the C2PA pattern of keeping an upstream manifest, such as Sora 2's, as a c2pa.ingredient when re-signing an asset, so the full chain of generation and downstream signing is verifiable.
TL;DR: Sora 2 ships C2PA plus an invisible watermark. When you re-sign its output, preserve OpenAI's manifest as an ingredient and append yours, adding platform identity, a watermark layer, and an anchor. The verifier then shows both the generation and your signing.
Why not just re-sign over it
Discarding the upstream manifest throws away provenance: you lose the record that OpenAI generated the asset and how. Preserving it as an ingredient keeps that history and adds yours on top, which is what the C2PA ingredient model is for. The chain reads generation, then your platform's signing.
Reading the Sora 2 system card
OpenAI's Sora 2 system card, from the 30 September 2025 launch, commits to C2PA and an invisible watermark, and a later policy update addressed likeness opt-in for specific cases. For a platform wrapping Sora 2, that means the output already carries provenance you should preserve, not overwrite.
The integration
Call the signing API with preserve-ingredients on. OpenAI's manifest becomes a c2pa.ingredient; your manifest adds a CAWG identity assertion naming your platform, a VideoSeal watermark, and an OpenTimestamps anchor. The result satisfies Article 50 marking at your boundary while crediting the upstream generator.
The incident behind this
Sora 2 launched 30 September 2025 with C2PA and an invisible watermark per OpenAI's system card, setting the expectation that AI video ships with provenance that downstream platforms must preserve.
Implementation
from originalpictures import client op = client(api_key=ENV['OP_KEY']) signed = op.sign(asset='sora2-output.mp4', producer='my-video-platform', preserve_ingredients=True, # keep OpenAI's manifest as c2pa.ingredient identity={'type': 'cawg.identity_claims_aggregation', 'verifiedIdentities': [{'type': 'cawg.affiliation', 'name': 'My Platform'}]}, disclosure='art50.2', watermark='videoseal', anchor=True) # Verify the full chain v = op.verify(signed.asset_url) print(v.ingredients) # shows OpenAI's Sora 2 manifest
FAQ
Will my watermark conflict with OpenAI's?
No. The invisible watermarks coexist; a verifier can detect each. Your VideoSeal layer adds recovery for your manifest pointer specifically.
Where Original Pictures stands today
Original Pictures ships three things today: a Sign API, a Verify API, and the SDKs that wrap them. One POST /v1/sign attaches a C2PA-format manifest, an invisible TrustMark watermark, and an OpenTimestamps anchor. The open-source verifier checks any of it without calling us.
Two things are on the near roadmap, and we name them as roadmap, not as shipped: C2PA Conformance Program recognition (target Q3 2026, until then our manifests use the published C2PA v2.2 format and any C2PA-aware validator can read them, but third-party validators will show our signer as not-yet-listed), and a consumer capture app (Q3 2026). We do not sell a capture SDK, and we do not claim Trust-List membership we do not yet hold.
Bottom line: Preserve Sora 2's manifest as an ingredient and append your own with identity, watermark, and anchor, so the chain shows both generation and signing and you satisfy Article 50 at your boundary.
Related
Original Pictures is progressing through the C2PA Conformance Program; our signing certificate is not yet on the official C2PA Trust List. Target: Q3 2026. We will not describe ourselves as "C2PA-certified" until it is true.
Original Pictures provides content-provenance infrastructure. It does not by itself constitute legal compliance with the EU AI Act or any other regime; compliance depends on how you deploy it, your disclosures, and your governance. Figures are drawn from public reporting, verify against primary sources before citing in regulated materials. Nothing here is legal advice.
Last verified 2026-05-25. Author: Mahdi Kazempour, Founder, Original Pictures.