IPTC compositeSynthetic vs compositeWithTrainedAlgorithmicMedia
Both IPTC terms mean a composite with generative AI in it. One says edited using generative AI; the other says a composite where at least one element is Gen AI.

IPTC defines compositeSynthetic as a composite in which at least one element is generative AI, and compositeWithTrainedAlgorithmicMedia as media edited using generative AI. When a Timeline holds one AI-generated clip and one real clip, either could describe it, so choose by whether you edited a real file with AI or assembled new AI content with real parts. Sume's docs do not write either term into the output.
The terms next to a Timeline
Wording is from the IPTC page. The fourth column is how I would apply it to a Timeline, which is a judgement and not an IPTC rule.
| IPTC term | IPTC wording | When I would pick it |
|---|---|---|
| compositeSynthetic | Composite where at least one element is Gen AI | AI clips placed with real footage |
| compositeWithTrainedAlgorithmicMedia | Edited using Generative AI | A real recording that AI then changed |
| trainedAlgorithmicMedia | Created using Generative AI | Every clip is AI-made |
| composite | Composite of several elements | No AI in any clip |
How a mixed Timeline arises
Timeline places clips from Sume-hosted URLs on a single output. The Video Router can supply a generated clip. Mixing them yields a composite in the IPTC sense.
A rule of thumb in code
A small decision function, which you should adapt to your own policy before relying on it.
import asyncio
def source_type(clip_kinds):
# clip_kinds: list of "real" or "ai" for each timeline clip
ai = clip_kinds.count("ai")
if ai == 0:
return "humanEdits"
if ai == len(clip_kinds):
return "trainedAlgorithmicMedia"
return "compositeWithTrainedAlgorithmicMedia"
async def main():
print(source_type(["real", "real"]))
print(source_type(["real", "ai"]))
print(source_type(["ai", "ai"]))
asyncio.run(main())Keep a record
- Store which clip came from which route in your job notes.
- Use the job metadata object for that note, since Sume keeps it on the job.
- Pick the term at export, because Sume does not embed it.
Sources
Related posts
More in Use cases
- Jacket try-on over the shopper's own outfit: prompt wording that holds
A jacket goes over clothes, not instead of them. Prompt wording and a two-reference Sume image call that keep the shopper's shirt visible, plus layering checks.
- Keep one character consistent in a 30-second Seedance 2.5 clip
Character consistency in a single 30 s Seedance 2.5 pass: send reference_image_urls on Sume, test at 480p, and judge stills. No guarantee, a cheap test plan.
- Kettle or air fryer product photos: cord, spout and counter scene
Kitchen appliances fail on cords, handles and dials. Generate counter scenes with Sume's image API from one reference and check the parts that go wrong first.
- Kling 4.0 keyframes at 0, 6, 12, 20, 28 s: a 30-second ad on Sume
Kling's guide suggests keyframes near 0, 6, 12, 20 and 28 seconds for a product ad. How to build the same plan on Sume with first-and-last-frame clips.
Written by Sume