Genvid
Documentation

Content Provenance

Understand the C2PA and IPTC provenance signals Genvid embeds in every generated media file, what the labels mean, and how to verify them externally.

Overview

Every piece of media Genvid generates or publishes carries a tamper-evident C2PA manifest embedded directly in the file bytes. The manifest records who made the asset, what AI model or tool produced it, what inputs it was built from, and a standardized IPTC "Digital Source Type" label classifying the AI involvement.

Studios use these signals to satisfy SAG-AFTRA, MPA, and EU AI Act disclosure requirements, to prove their human-AI workflow attribution, and to give downstream consumers — broadcasters, streamers, archivists — a verifiable provenance trail that survives format conversion, re-encoding, and cross-tool handoff. Adobe Content Credentials in Photoshop and Premiere, Truepic's C2PA Inspector, and the Coalition for Content Provenance and Authenticity's reference verifier at verify.contentauthenticity.org all read Genvid's manifests without configuration.

Key Concepts

  • C2PA: The Coalition for Content Provenance and Authenticity standard for tamper-evident content credentials embedded in media files
  • IPTC Digital Source Type: An industry-standard vocabulary published by the International Press Telecommunications Council that classifies how a piece of media was created, with specific terms for AI generation, AI editing, and composite work
  • Manifest: The signed provenance record embedded in a media file's bytes — contains actions, ingredients, generator attribution, and the digital source type
  • Action: A C2PA verb describing what happened to produce this asset — c2pa.created, c2pa.edited, c2pa.composited, c2pa.opened
  • Ingredient: A C2PA record of a source asset that contributed to this asset — every ingredient has a relationship (componentOf, parentOf, inputTo) describing how it contributed
  • Digital Source Type: The IPTC term stamped on the manifest's action(s) classifying the AI involvement (e.g., trainedAlgorithmicMedia for pure AI generation)

Provenance verification vs. fixity verification

When you open a project's Provenance Graph (from an asset's View Provenance Graph action), you may see two different kinds of verification signal on the same media node, and it's worth knowing they answer different questions:

  • C2PA provenance (this guide's subject) answers "how was this asset made, and by what chain of edits and ingredients?" It's a signed manifest embedded in the file.
  • Fixity and residency answer "is the underlying file still where it's supposed to be, and does it still match what was originally registered?" This only applies to media whose original file lives in your organization's own connected storage rather than in Genvid — the graph marks these nodes with a dashed border and an Offsite original badge, and shows a Verified or Registered chip on the connections leading into them.

A media node can show a valid, unbroken C2PA provenance chain while its fixity status is stale or missing (its underlying file moved or became unreachable in your storage) — the two signals are independent. If you need to confirm authorship and edit history, read the C2PA manifest as described in this guide. If you need to confirm the original file itself is still intact and reachable in your storage, check the fixity status instead — see Image Editor § Offsite Media and Fixity for what each fixity status means, and Storage Connections for how your organization connects its storage.


The five IPTC labels you'll see

These are the canonical terms Genvid emits, with definitions quoted from the IPTC NewsCodes controlled vocabulary.

trainedAlgorithmicMedia

Adobe Content Credentials label: "Created using Generative AI"

"Digital media created algorithmically using an Artificial Intelligence model trained on captured content."

Used when AI is the sole creator of the output. Even if a guide image, reference, or set of keyframes informed the generation, this term applies whenever the output pixels (or audio samples) are fully AI-synthesized — the inputs steered the generation but are not present in the output.

compositeWithTrainedAlgorithmicMedia

Adobe Content Credentials label: "Edited with Generative AI"

"Augmentation, correction or enhancement using a Generative AI model, such as with inpainting or outpainting operations."

Used when AI modifies pre-existing pixels or audio samples in place. The canonical case is image inpainting — AI fills in a portion of an existing image while the rest of the image carries through unchanged. Also covers style transfer on an existing video, voice cloning that re-voices existing speech, and similar AI-as-editor workflows.

compositeSynthetic

Adobe Content Credentials label: "Composite containing AI elements"

"Mix or composite of several elements, at least one of which is Generative AI."

Used when a human (or a digital content creation tool like Foundry Nuke) assembles multiple existing media elements, at least one of which is AI-generated. The compositing itself is not AI — a compositor or DCC tool does the assembly — but because at least one input layer came from a generative AI model, the composite inherits AI ancestry.

algorithmicallyEnhanced

Algorithmic enhancement that does not change the main content.

Used for AI upscaling, denoising, and similar enhancements that preserve the asset's content.

digitalCreation

Manually-uploaded or human-created content with no Generative AI involvement.

Genvid's default for files uploaded by a user without AI processing.


How Genvid operations map to IPTC labels

This table is the canonical reference for what label gets stamped on a piece of media produced by each Genvid operation. Refer to the AI Models guide for the underlying render types.

OperationRender TypeIPTC Digital Source TypeWhat it means
Text-to-ImageT2ItrainedAlgorithmicMediaAI created the image from a text prompt
Text-to-VideoT2VtrainedAlgorithmicMediaAI created the video from a text prompt
Image-to-VideoI2VtrainedAlgorithmicMediaAI synthesized a new video; input image was a conditioning signal
Keyframes-to-VideoKF2VtrainedAlgorithmicMediaAI synthesized a new video; keyframes guided motion
Reference-to-VideoR2VtrainedAlgorithmicMediaAI synthesized a new video; references guided style or character
Text-to-SpeechTTStrainedAlgorithmicMediaAI generated speech audio from text
Image-to-Image editI2IcompositeWithTrainedAlgorithmicMediaAI modified an existing image in place (inpaint, manipulate)
Video-to-Video editV2VcompositeWithTrainedAlgorithmicMediaAI modified an existing video (style transfer, etc.)
Voice cloningS2ScompositeWithTrainedAlgorithmicMediaAI re-voiced existing speech audio
Motion-controlled videoMOTION_CONTROLcompositeSyntheticAI combined a driving motion video with a subject keyframe
Multi-shot scene videoMULTI_SHOTcompositeSyntheticAI generated a video spanning multiple shots in a scene
Nuke / DCC compositeEXTERNAL_COMPcompositeSyntheticA compositor assembled media in Nuke (or another DCC)
AI upscaleUPSCALEalgorithmicallyEnhancedResolution or quality enhancement
Manual uploaduploaddigitalCreationA user uploaded the file with no AI processing

The discriminator between the AI labels is "is the AI creating the output, or is the AI modifying pre-existing pixels?" Image-to-Video and Reference-to-Video both take an image as input but the output video is entirely AI-synthesized — none of the input pixels appear in the output frames, so the label is trainedAlgorithmicMedia. Image-to-Image inpainting modifies an existing image's pixels in place, so the label is compositeWithTrainedAlgorithmicMedia.


Composite media and ingredients

When Genvid publishes a composite (i.e. a comp from the Foundry Nuke plugin) the manifest records each contributing input as a C2PA "ingredient." Each ingredient carries a relationship that tells you how it contributed:

RelationshipWhat it means
componentOfThe input is a pixel-contributing component of the assembly (e.g., a layer in a Nuke composite, a baked-in audio track). Triggers the c2pa.composited action on the output.
parentOfThe output is a direct transformation of this single source asset (e.g., an I2I edit's source image).
inputToThe input is guidance only — it informed the work but does not contribute pixels (e.g., a track reference, a grade reference, an AI generation reference image). Listed in the manifest for transparency but does not count toward the "composed of" classification.

Nuke plugin link types

The Genvid Nuke plugin lets compositors tag each Read on a dedicated "Genvid" tab on the Read's property panel. The tag controls how that Read appears in the published comp's manifest:

Genvid Link TypeIngredient relationshipEffect on composite action
Nuke Input (default)componentOfCounts toward c2pa.composited
Nuke Clean PlatecomponentOfCounts toward c2pa.composited
Nuke MattecomponentOfCounts toward c2pa.composited
Nuke Track RefinputToRecorded but does NOT trigger c2pa.composited
Nuke Grade RefinputToRecorded but does NOT trigger c2pa.composited

A composite with at least one componentOf ingredient gets the c2pa.composited action label and compositeSynthetic IPTC term. Reference-only inputs (track refs, grade refs) are recorded faithfully — they show up in the manifest's ingredient list — but they don't trigger the "composed of" classification because the artist used them as guidance, not as pixel components.


The C2PA action labels you'll see

When you inspect a Genvid-signed file in a C2PA verifier, the manifest's c2pa.actions.v2 assertion contains one or more actions. Plain English:

  • c2pa.created — This asset was newly created. Typical for pure AI generation (text-to-image, text-to-video, reference-to-video) and for the lead action on a Nuke composite (C2PA 2.1 requires the first action to be created or opened).
  • c2pa.edited — An existing asset was modified. Typical for I2I inpainting, V2V style transfer.
  • c2pa.composited — This asset was assembled from multiple existing assets. Appears as the second action on Nuke comps, on multi-keyframe video, and on video with baked-in dialog audio.
  • c2pa.opened — An existing asset was opened as the source for further edits. Usually paired with c2pa.edited or c2pa.composited.
  • org.genvid.referenced — A Genvid-specific action recorded on individual provenance links where the source was a guidance input (track reference, grade reference, AI generation reference image). This is link metadata, separate from the manifest's outer action.

How to verify provenance externally

Any C2PA-conformant verifier will read Genvid's manifests without configuration. The easiest path:

  1. Download the rendered media from your Genvid project, or pull the comp's .nk sidecar and rendered output from your Nuke publish.
  2. Drop the file at verify.contentauthenticity.org — the Coalition for Content Provenance and Authenticity's reference verifier.
  3. Inspect:
    • The IPTC digitalSourceType URI (e.g., http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic). Should match the operation per the table above.
    • The C2PA action(s) — created, edited, composited, with appropriate digitalSourceType on each.
    • The list of ingredients with their relationships (componentOf, parentOf, inputTo).
    • The cawg.training-mining assertion — Genvid stamps all four flags (cawg.ai_training, cawg.ai_inference, cawg.ai_generative_training, cawg.data_mining) as notAllowed by default, so downstream AI systems are notified that the content opted out of training reuse.

Adobe Content Credentials (built into Photoshop and Premiere) and the Truepic C2PA Inspector also support Genvid manifests. The validation state will read "Valid" for any production Genvid output. On development environments you may see a signingCredential.untrusted informational note — this is expected because dev environments use a non-production signing certificate; production builds use a trusted certificate that resolves to "Valid" with no caveats.


Worked examples

Example 1: A text-to-image keyframe

You generate a keyframe in the Keyframe Editor using a text prompt only. The verifier shows:

  • Action: c2pa.created
  • Digital Source Type: trainedAlgorithmicMedia
  • Ingredients: none (text prompt isn't an ingredient — it's stamped as an assertion)
  • Generator: the model that produced the image (FLUX, Ideogram, etc.)

Example 2: An image-to-image edit

You open an existing keyframe in the Image Editor and use AI inpainting to remove an artifact. The verifier shows:

  • Action 1: c2pa.opened (the original keyframe is the parent)
  • Action 2: c2pa.edited with digitalSourceType: compositeWithTrainedAlgorithmicMedia
  • Ingredients: one ingredient with relationship: parentOf — the original keyframe
  • Generator: the editing model used

Example 3: A Nuke composite published back to an asset

A compositor binds the Genvid Nuke plugin to a cast member asset, drops three references via the Genvid Browser, tags one as Nuke Matte and one as Nuke Track Ref on the Read's Genvid tab, builds a comp, and publishes. The verifier shows:

  • Action 1: c2pa.created with digitalSourceType: compositeSynthetic
  • Action 2: c2pa.composited with digitalSourceType: compositeSynthetic and parameters.genvid.render_type: EXTERNAL_COMP
  • Ingredients: three ingredients
    • One componentOf — the Nuke Input layer
    • One componentOf — the Nuke Matte layer
    • One inputTo — the Nuke Track Ref (recorded but not part of the "composed of" classification)
  • Generator: Foundry Nuke (with version, if the plugin reported one)

The composite's media record in Genvid also carries the same compositeSynthetic term, so the provenance graph in your Genvid project page mirrors what the external verifier shows.

Example 4: A reference-to-video shot

You generate a video shot using two reference images (one for character identity, one for composition) plus a text prompt. The verifier shows:

  • Action: c2pa.created with digitalSourceType: trainedAlgorithmicMedia — the output is fully AI-synthesized
  • Ingredients: two ingredients, both inputTo — the references guided the generation but no reference pixels appear in the output frames
  • Generator: the video model used

References