
C2PA Midjourney Integration: Signing Image-Gen Output
Definition: The Original Pictures Midjourney integration signs generated images with a post-generation webhook, since Midjourney does not natively emit C2PA manifests, adding marking, watermark, and anchor.
TL;DR: As of May 2026 Midjourney does not natively ship C2PA. A post-generation webhook that POSTs each output to the signing API adds a manifest, watermark, and anchor, marking the image for Article 50 before it reaches users.
The gap to fill
Unlike Firefly or Sora 2, Midjourney output arrives without a C2PA manifest. For a platform wrapping Midjourney, that means marking has to be added after generation rather than preserved from upstream.
Post-generation signing
Hook your Midjourney completion handler to POST each finished image to the signing API with an ai_generated assertion naming the model, a watermark, and an anchor. The image leaves your system marked for Article 50 and SB 942.
No ingredient to preserve
Because there is no upstream manifest, there is nothing to preserve as an ingredient; your manifest is the origin claim. If Midjourney adds native C2PA later, switch to preserve-ingredients to keep their chain.
Implementation
from originalpictures import client op = client(api_key=ENV['OP_KEY']) # In your Midjourney completion handler: op.sign(asset=midjourney_image, producer='my-platform', assertions={'c2pa.created': {'actions': [{'action': 'c2pa.ai_generated', 'softwareAgent': 'midjourney'}]}}, disclosure='art50.2', watermark='trustmark', anchor=True)
FAQ
Will this work if Midjourney adds C2PA?
Yes. Switch on preserve_ingredients to keep their manifest as an ingredient once they ship native C2PA.
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: Sign Midjourney output with a post-generation webhook so each image is marked for Article 50, and preserve their chain if they add native C2PA later.
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.