Original Pictures
Sora 2 manifest preserved as an ingredient

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 and a watermark layer. 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. When the uploaded file already carries a manifest, signing keeps it automatically: OpenAI's manifest becomes the parent c2pa.ingredient, and your manifest adds a CAWG identity assertion naming your platform and a VideoSeal watermark. 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

# Upload and complete sora2-output.mp4 first (declared_media_type "video/mp4"):
# https://docs.originalpictures.com/quickstart. If the file already carries OpenAI's manifest,
# signing keeps it as the parent c2pa.ingredient automatically.
import os, time, uuid
import requests

API = "https://dev-api.originalpictures.com"
AUTH = {"Authorization": f"Bearer {os.environ['OP_API_KEY']}"}

job = requests.post(f"{API}/v1/sign",
                    json={"asset_id": asset_id, "recipe_id": "rcp_system_watermark_then_sign"},
                    headers={**AUTH, "Idempotency-Key": str(uuid.uuid4())}).json()
while job["state"] not in ("completed", "failed", "rejected", "canceled", "expired"):
    time.sleep(3)
    job = requests.get(f"{API}/v1/jobs/{job['job_id']}", headers=AUTH).json()

# A completed job returns receipt_id, publication_id and ready verification
# evidence (verification_id, "vfy_..."): GET /v1/verification-evidence/{verification_id}
print(job["state"], job["result"])

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 (not yet published to npm or PyPI). One POST /v1/sign with the watermark-then-sign recipe attaches a C2PA-format manifest and an invisible TrustMark watermark, with RFC 3161 timestamp evidence recorded alongside the signature. Any C2PA-aware validator can read the manifest 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 and watermark, 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.