Template
Definition
A CE.SDK scene file that has been configured for reuse. A template is not a special file format; it is a regular scene that a Creator has structured intentionally: some elements are locked and off-limits to Adopters, others are designated as placeholders or variables that Adopters or automation pipelines are expected to fill in. The template is the master; every use of it starts from that master without modifying it.
What a Template Contains
Locked Elements
Brand-critical blocks (logos, legal disclaimers, background frames, brand colors) that Adopters cannot select, move, resize, or delete. These elements define the visual identity the template enforces and are invisible to the Adopter’s editing tools.
Placeholder Blocks
Interactive content slots where Adopters swap in their own images, videos, or text. Each placeholder defines exactly what an Adopter can do (replacing content, repositioning within bounds, editing copy) through the scopes the Creator configured.
Text Variables
Named tokens embedded in text blocks that automation pipelines replace with real values at export time: names, prices, dates, product titles, addresses. Variables are defined at the scene level and can be set programmatically without opening the editor at all.
Page Structure
A template can span multiple pages, one per output format or channel. A single scene file might contain an Instagram square, a story, and a Facebook banner, all sharing the same placeholders and variables, so a single data injection produces all formats at once.
How to Create a Template in the Editor
Open the editor with the Creator role active
Only Creators can lock blocks, configure scopes, and define what Adopters are permitted to do. Start every template authoring session in Creator role.
Build the layout
Compose the full design on the canvas: backgrounds, brand imagery, text blocks, graphic blocks, any structural elements the output requires. Everything starts as a fully editable Creator-role scene.
Lock brand-critical elements
Select any block that Adopters should not be able to interact with (logos, legal text, background layers, structural frames) and remove all scopes from it. These blocks become invisible to the Adopter’s selection and editing tools.
Designate editable areas as placeholders or variables
For image and video swap zones: enable placeholder behavior on the graphic block so Adopters see a Replace button. For text that Adopters type manually: enable the relevant text editing scopes. For text injected programmatically: embed variable tokens using the double-brace syntax so the automation layer can populate them at export time.
Add multi-page structure if needed
For templates that must produce multiple output formats from one editing session, add additional pages to the scene. Each page has its own dimensions and layout, while variables and assets are shared across all pages.
Save the scene
Save the finished template as a scene file or a bundled archive. Use the archive format when the template references locally embedded assets (fonts, images) that need to travel with the scene. Store the file wherever the engine can load it by URL: a CDN, object storage, or DAM.
How to Use a Template Programmatically
Store the file in a URL-accessible location
The engine loads templates by URL. The file must be reachable from the environment where the engine runs: a CDN bucket, object storage endpoint, or any HTTP-accessible path.
Load the template into the engine
Initialize the CreativeEngine in headless mode and load the scene from the stored URL. The engine deserializes the scene and makes the full block tree and variable set available for manipulation.
Inspect the template structure
Retrieve the list of all variables defined in the scene to understand what data the template expects. Use block kind or UUID targeting to locate specific placeholder blocks before attempting to modify them.
Inject variable values and asset swaps
Set all text variable values from your data source. Replace image fills on placeholder blocks with the correct asset URLs. For batch workflows, loop over the data set and perform this step once per record.
Export to the target format
Trigger an export for each page or the whole scene. Supported output formats include PNG, JPEG, PDF, PDF/X, and MP4 for video scenes. Write the output to storage, a print queue, or a delivery pipeline.
Template Storage and the Template Library
Templates are stored wherever your infrastructure allows: object storage, a DAM, a CDN, a custom database. The engine does not manage template storage; it only needs a URL to load from.
To surface templates to users inside the editor, register the storage location as a Template Asset Source. Once registered, templates appear in the editor’s asset library panel and can be opened by Adopters directly from within the UI, with no separate template picker required. Creator-role users can update and republish a template file, and the change is reflected immediately for anyone loading it from the asset source.
Template Generation Modes
A template can be filled in three different ways, and all three can coexist in the same platform.
User-Assisted
An Adopter opens the template in the editor and fills in the placeholder content manually: swapping images, typing copy, selecting options. The export happens when they click export or submit. This is the standard interactive editing flow.
Fully Programmatic
The template is loaded headlessly, variable values are injected from a data source, and the export runs without any human interaction. Used for batch processing: generating hundreds or thousands of outputs from a single template in a single pipeline run.
Hybrid
A user edits a template in the editor, saves their customized version, and then a server pipeline loads that saved state and applies a final programmatic transformation before export, for example, adding a watermark, resizing to multiple formats, or appending metadata.
Links
Documentation and references for this concept.
Related Terms
Scene File
The native format CE.SDK uses to save a complete design scene, structured as a JSON-based document capturing the full st…
Placeholder
A design block configured as an interactive drop-zone where Adopter-role users can swap out content (an image, video, or…
Creative Automation
The practice of using CE.SDK's headless API to programmatically generate large volumes of design assets from templates a…