C2PA marks text-to-video as trainedAlgorithmicMedia: the exact action

Which C2PA action and IPTC digital source type the 2.3 guidance gives a text-to-video asset, and what to record on your side when a Sume job finishes.

4 min readSume
All posts

For a video made from a text prompt, the C2PA 2.3 guidance says the asset should carry a c2pa.created action whose digital source type is http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia. That pairing is how a Content Credential says the pixels came from a trained model rather than a camera.

This post covers what the pairing means and what you can keep on your side. It does not describe what any Sume output embeds. The Sume docs do not state that Sume output carries a C2PA manifest, so treat that as unverified and read does Sume add C2PA or a watermark to AI video.

What the guidance says

The C2PA guidance describes a generative-AI creation as an actions assertion with a created entry. The source type tells a reader which kind of creation it was. The implementation guide from C2PA lists the digital source type vocabulary, from the IPTC, as the first of five areas it covers.

Version 2.2 of the specification also added digital source type URIs under the c2pa.org namespace, including trainedAlgorithmicData and empty, according to the specification page.

Fields named by C2PA pages, read 2026-10-02
ItemWhat the page says
Actionc2pa.created
Source type for text-to-videotrainedAlgorithmicMedia (IPTC newscodes URI)
Source type for AI-assisted editscompositedWithTrainedAlgorithmicMedia
Where prompt and model info can goIngredient assertions

What you can keep when the job finishes

A manifest is written by a signing tool. If your pipeline signs files itself, it needs facts to put into the created action: which model made the clip, when, and from which request. Sume job records give you identifiers to anchor that log.

Every video model on Sume is billed at provider list times 1.25, reserved on submit, and usage.cost is the Sume billable amount. Submits need an Idempotency-Key, so a retried request maps to one job rather than two.

  • Store the job id and the artifact URL next to the manifest you sign.
  • Store the model id you requested. sume/auto never discloses the model that ran, so for provenance prefer an explicit id.
  • Store the submit time and your own prompt text.

A note on `sume/auto`

The Sume docs say sume/auto never discloses which model ran, and job.model stays sume/auto. If a provenance record has to name the generating model, pick a catalog id such as seedance-2 or wan-3.0 from GET /v1/videos/models instead.

See Sume video models for the catalog fields, and how Sume pricing works for the billing rule.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume