Skip to main content
Discover the transformers a creative agent offers for your account. A transformer is the creative analog of a media-buy product: an agent-offered, account-scoped, selectable unit of build capability (a voice, a model, a style, a director) with a typed configuration surface and per-account pricing. You discover transformers here, then select one with transformer_id in build_creative. Response Time: ~1 second (account-scoped lookup) Authentication: Account-scoped. Transformers, their enumerable option values, and pricing are resolved for the calling credential — including custom values you configured (e.g. cloned voices) that exist only for your account. Request Schema: /schemas/3.0.19/creative/list-transformers-request.json Response Schema: /schemas/3.0.19/creative/list-transformers-response.json Offered only by agents that set creative.supports_transformers: true in get_adcp_capabilities.

Why transformers

The set of render knobs a creative agent exposes — and their legal values — is account-specific and dynamic. Your configured voices aren’t a global enum or a list you hold; the agent knows them, and the set changes when you add one. So discovery flows agent → buyer, the same way get_products surfaces account-scoped inventory. list_transformers is that discovery surface for creative build capability. The agent chooses granularity: a distinct voice or model may be its own transformer, or a single transformer may expose voice/model as an enumerable config param. Either way you use the same call — list transformers, expand a param if you want its values.

Request Parameters

The expand mode

By default the response returns each transformer’s param schemas with small closed enums inlined (e.g. mastering_preset). To get the values of an account-scoped enumerable param (e.g. your voices), name it in expand_params — that returns the first page on params[].options[]. When a param’s values are truncated, its params[].options_cursor is set; fetch the next page by passing { transformer_id, field, options_cursor } in expand_pagination (each (transformer, param) pages independently). Values are brief-filtered — “warm Spanish female voice” narrows a 300-voice catalog to a handful instead of dumping all of them. There is no separate options endpoint; value enumeration (and its pagination) is a mode of this one tool.

Response

Each transformer carries: See Transformer schema for the complete object.

Common Scenarios

Discover voices for a brief, with values

Then build with the selected transformer

Pass the chosen transformer_id and a typed config (keyed by each param’s field) to build_creative:
test=false

Error Handling

Unknown expand_params (a field no transformer exposes) are ignored, not an error — the param simply returns no options.

Learn More