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.

4 min readSume
All posts

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 composite terms and a Timeline reading (read 2026-10-04)
IPTC termIPTC wordingWhen I would pick it
compositeSyntheticComposite where at least one element is Gen AIAI clips placed with real footage
compositeWithTrainedAlgorithmicMediaEdited using Generative AIA real recording that AI then changed
trainedAlgorithmicMediaCreated using Generative AIEvery clip is AI-made
compositeComposite of several elementsNo 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

All Use cases posts

Written by Sume