Per-render image branding
datamachine/render-image-template accepts an optional brand object alongside
template_id, data, preset, and format:
{
"template_id": "poster",
"data": { "title": "Community gathering", "background": "none" },
"brand": {
"colors": { "background_dark": "#123456", "accent": "#f80" },
"fonts": { "heading": "/srv/assets/heading.ttf" },
"logo_path": 123,
"brand_text": "Community"
}
}CLI callers pass the same object with --brand='<json>':
wp datamachine image render --template_id=poster --data='{"title":"Community gathering"}' --brand='{"colors":{"accent":"#f80"}}'Overrides apply after the site-wide datamachine/image_template/brand_tokens
filter. Omitted or invalid entries retain the resolved site token. Colors accept
#RGB or #RRGGBB, using the existing color token keys. Font roles are heading,
display, body, brand, and mono. Fonts, logo_path, and
logo_path_inverse accept readable local files or media-library attachment IDs
(including numeric strings); no remote assets are downloaded. Fonts must be in a
GD-compatible format such as TTF/OTF. brand_text accepts a string.
The render scope covers all BrandTokens accessors, including templates registered
by extensions, and is restored even if rendering throws. Direct PHP consumers can
also pass overrides as the third argument to BrandTokens::get().