format_id — structured reference object
format_id is always a JSON object, never a plain string. It identifies a format by the agent that declared it and the format’s local slug:
format_id is a pointer — it names a format without carrying its definition.
format — full definition object
format is the complete specification of a creative format. It is returned by list_creative_formats and related tasks. A format object contains a format_id as one of its properties, plus the asset requirements, render specs, and all other metadata:
format is a definition — it describes what the format requires and how it renders.
Contrast at a glance
Two named failure modes
Anti-pattern A — string in a format_id slot
Wrong — format_id must be an object, not a plain string:
format_id must be of type object. Cause: the .id string inside the format_id object looks like a self-contained name and is sometimes extracted and used directly.
Anti-pattern B — format_id object in a format / formats slot
Wrong — a formats[] element must be a full definition object, not a bare format_id:
formats[0] must have required property 'name'. Cause: format_id and format are both objects; the shorter object is sometimes put in the slot that expects the larger one.
See also
- Creative Formats — full format object structure, asset types, and render specs
- Template Format IDs — parameterized format IDs for dimension-variable templates