Pictify templates come in two flavours. Pick one with the engine field.
Engine
Authoring surface
Use it when
html
Raw HTML + Handlebars ({{var}}, {{#each}}, {{#if}}, helpers)
You want full control over markup, CSS, and copy-paste-able source.
fabric
FabricJS canvas JSON
You’re exporting from the dashboard editor or automating canvas layouts.
If you omit engine, Pictify infers it from the payload: a request with html and no
fabricJSData becomes an html template; anything else is fabric. Set it explicitly
anyway so the intent is clear.
Set engine: "html" and pass your template source in html. Pictify compile-validates
it on save and fails with HTTP 422 if a block is unclosed or a helper is unknown.
Any {{identifier}} referenced in the template body that is not declared in
variableDefinitions is automatically added as a text variable on save. The response
echoes the added names under addedVariables so your client can surface them:
This is what makes the engine=html authoring loop feel “just work” — you can type
{{price}} into your template and save; the variable appears on the next read
without a separate declaration step.
When true, rendering fails with HTTP 422 if a root-level variable referenced in the
template was not supplied. Leave off if you rely on {{#if optional}} guards.
jsEnabled
When true, scripts inside the template execute during render (Chart.js, KaTeX,
animated SVG). Off by default to prevent runaway loops. A 30s hard timeout always applies.
Both default to false and can be flipped with PUT /templates/{uid}.
HTML templates have access to the full Pictify helper library — string casing,
number and currency formatting, date formatting, array helpers, and JSON
inspection. See Handlebars syntax in Expressions for block syntax and the full helper library.
Variable schema. For engine=html, identifiers referenced in the template
body but not declared here are auto-added as text variables and returned
under addedVariables in the response.
engine=html only. When true, scripts inside the template execute at
render time. Enables Chart.js, KaTeX, and animated SVG. Disables
infinite-loop protection; the 30s hard timeout still applies.
engine=html only. Names of identifiers referenced in the template
body that were auto-added to variableDefinitions during save. Omitted
when the array would be empty.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Pictify","colors":{"primary":"#ff6b6b","light":"#ffc480","dark":"#1f2937"},"logo":{"light":"https://mintcdn.com/pictify/_rnPjuVJKzMa3CCJ/images/logo-light.svg?fit=max\u0026auto=format\u0026n=_rnPjuVJKzMa3CCJ\u0026q=85\u0026s=321207b410a66f32d35d34bb33cce797","dark":"https://mintcdn.com/pictify/_rnPjuVJKzMa3CCJ/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=_rnPjuVJKzMa3CCJ\u0026q=85\u0026s=e1ef7a77ecb744338cf1bdcbe6b6854a"},"favicon":"https://mintcdn.com/pictify/_rnPjuVJKzMa3CCJ/images/favicon.svg?fit=max\u0026auto=format\u0026n=_rnPjuVJKzMa3CCJ\u0026q=85\u0026s=06d404a317d284921e88d71597cf1892","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python","go","ruby"]},"mdx":{"auth":{"method":"bearer"}}},"background":{},"seo":{},"metadata":{"timestamp":false},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pictify","hasAudioNarration":false,"actualSubdomain":"pictify","customDomains":["docs.pictify.io"],"gitSource":{"type":"github","owner":"pictify-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aa7c65fbd8afce5b2fbfa81","collectionId":"412b4051-b021-43e0-972b-c88bdfcd7d64","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aa7c65fbd8afce5b2fbfa81"},"entitlements":{},"buildId":"6aa7c65fbd8afce5b2fbfa81","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Reference","count":42},{"language":"default","tag":"Documentation","count":13},{"language":"default","tag":"Templates","count":8},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Bindings","count":6},{"language":"default","tag":"Webhooks","count":6},{"language":"default","tag":"GIFs","count":5},{"language":"default","tag":"Images","count":5},{"language":"default","tag":"SDKs","count":5},{"language":"default","tag":"Batch","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoints/templates/create","slug":"/api-reference/endpoints/templates/create","pageMetadata":{"title":"Create Template","description":"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.","openapi":"post /templates","href":"/api-reference/endpoints/templates/create"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Note,Table}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Pictify templates come in two flavours. Pick one with the `,_jsx(_components.code,{children:`engine`}),` field.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Engine`}),_jsx(_components.th,{children:`Authoring surface`}),_jsx(_components.th,{children:`Use it when`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`html`})}),_jsxs(_components.td,{children:[`Raw HTML + Handlebars (`,_jsx(_components.code,{children:`{{var}}`}),`, `,_jsx(_components.code,{children:`{{#each}}`}),`, `,_jsx(_components.code,{children:`{{#if}}`}),`, helpers)`]}),_jsx(_components.td,{children:`You want full control over markup, CSS, and copy-paste-able source.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fabric`})}),_jsx(_components.td,{children:`FabricJS canvas JSON`}),_jsx(_components.td,{children:`You’re exporting from the dashboard editor or automating canvas layouts.`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you omit `,_jsx(_components.code,{children:`engine`}),`, Pictify infers it from the payload: a request with `,_jsx(_components.code,{children:`html`}),` and no\n`,_jsx(_components.code,{children:`fabricJSData`}),` becomes an `,_jsx(_components.code,{children:`html`}),` template; anything else is `,_jsx(_components.code,{children:`fabric`}),`. Set it explicitly\nanyway so the intent is clear.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`handlebars-html-templates`,children:`Handlebars HTML templates`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`engine: \"html\"`}),` and pass your template source in `,_jsx(_components.code,{children:`html`}),`. Pictify compile-validates\nit on save and fails with HTTP 422 if a block is unclosed or a helper is unknown.`]}),`\n`,_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`16`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.pictify.io/templates`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_TOKEN\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"OG Image\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"engine\": \"html\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"width\": 1200,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"height\": 630,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"html\": \"\u003cdiv style=\\\\\"width:1200px;height:630px;padding:64px;font-family:Inter\\\\\">\u003ch1 style=\\\\\"font-size:72px\\\\\">{{title}}\u003c/h1>\u003cp style=\\\\\"font-size:32px;color:#6b7280\\\\\">{{subtitle}}\u003c/p>{{#if showCta}}\u003cbutton>{{ctaText}}\u003c/button>{{/if}}\u003c/div>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"variableDefinitions\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` { \"name\": \"title\", \"type\": \"text\", \"defaultValue\": \"Hello world\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` { \"name\": \"subtitle\", \"type\": \"text\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` { \"name\": \"ctaLabel\", \"type\": \"text\", \"defaultValue\": \"Learn more\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` { \"name\": \"ctaText\", \"type\": \"text\", \"defaultValue\": \"Learn more\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`auto-added-variables`,children:`Auto-added variables`}),`\n`,_jsxs(_components.p,{children:[`Any `,_jsx(_components.code,{children:`{{identifier}}`}),` referenced in the template body that is `,_jsx(_components.strong,{children:`not`}),` declared in\n`,_jsx(_components.code,{children:`variableDefinitions`}),` is automatically added as a text variable on save. The response\nechoes the added names under `,_jsx(_components.code,{children:`addedVariables`}),` so your client can surface them:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tmpl_...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"engine\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"html\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"variableDefinitions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"price\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"addedVariables\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"price\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`This is what makes the `,_jsx(_components.code,{children:`engine=html`}),` authoring loop feel “just work” — you can type\n`,_jsx(_components.code,{children:`{{price}}`}),` into your template and save; the variable appears on the next read\nwithout a separate declaration step.`]}),`\n`,_jsxs(Heading,{level:`3`,id:`strictvariables-and-jsenabled`,children:[_jsx(_components.code,{children:`strictVariables`}),` and `,_jsx(_components.code,{children:`jsEnabled`})]}),`\n`,_jsx(_components.p,{children:`Two HTML-only toggles affect render behaviour:`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`strictVariables`,icon:`shield`,children:_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`true`}),`, rendering fails with HTTP 422 if a root-level variable referenced in the\ntemplate was not supplied. Leave off if you rely on `,_jsx(_components.code,{children:`{{#if optional}}`}),` guards.`]})}),_jsx(Card,{title:`jsEnabled`,icon:`code`,children:_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`true`}),`, scripts inside the template execute during render (Chart.js, KaTeX,\nanimated SVG). Off by default to prevent runaway loops. A 30s hard timeout always applies.`]})})]}),`\n`,_jsxs(_components.p,{children:[`Both default to `,_jsx(_components.code,{children:`false`}),` and can be flipped with `,_jsx(_components.code,{children:`PUT /templates/{uid}`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`helpers-and-expressions`,children:`Helpers and expressions`}),`\n`,_jsxs(_components.p,{children:[`HTML templates have access to the full Pictify helper library — string casing,\nnumber and currency formatting, date formatting, array helpers, and JSON\ninspection. See `,_jsx(_components.a,{href:`/concepts/expressions#handlebars-syntax-html-templates`,children:`Handlebars syntax in Expressions`}),` for block syntax and the full helper library.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{{titleCase title}}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{{currency price 'USD'}}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{{date publishedAt 'MMM D, YYYY'}}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{{#each items}}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`li`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{{@index}}. {{this.name}} — {{currency this.price 'USD'}}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`li`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{{/each}}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`fabricjs-canvas-templates`,children:`FabricJS canvas templates`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`engine: \"fabric\"`}),` and pass a FabricJS canvas JSON\nobject in `,_jsx(_components.code,{children:`fabricJSData`}),`. Multi-page canvases are supported via `,_jsx(_components.code,{children:`pages`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.pictify.io/templates`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_TOKEN\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"Quote card\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"engine\": \"fabric\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"width\": 1080,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"height\": 1080,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"fabricJSData\": { \"version\": \"5.3.0\", \"objects\": [] }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Base64 `,_jsx(_components.code,{children:`data:image/...`}),` sources inside `,_jsx(_components.code,{children:`fabricJSData`}),` are uploaded to Pictify storage\nduring save and replaced with CDN URLs. No extra step needed.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`rendering`,children:`Rendering`}),`\n`,_jsxs(_components.p,{children:[`Once saved, render with `,_jsx(_components.a,{href:`/api-reference/endpoints/templates/render`,children:_jsx(_components.code,{children:`POST /templates/{uid}/render`})}),`\nand pass variable values in the `,_jsx(_components.code,{children:`variables`}),` object.`]}),`\n`,_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.pictify.io/templates/tmpl_abc123/render`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_TOKEN\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"variables\": { \"title\": \"Launch day\", \"subtitle\": \"Ship it\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"format\": \"png\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create Template","description":"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.","openapi":"post /templates","href":"/api-reference/endpoints/templates/create"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Handlebars HTML templates","slug":"handlebars-html-templates","depth":2,"children":[{"title":"Auto-added variables","slug":"auto-added-variables","depth":3,"children":[]},{"title":"strictVariables and jsEnabled","slug":"strictvariables-and-jsenabled","depth":3,"children":[]},{"title":"Helpers and expressions","slug":"helpers-and-expressions","depth":3,"children":[]}]},{"title":"FabricJS canvas templates","slug":"fabricjs-canvas-templates","depth":2,"children":[]},{"title":"Rendering","slug":"rendering","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createTemplate","summary":"Create a template","description":"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.","tags":["Templates"],"requestBody":"ee86f277-7f51-457e-ac41-a01e88ae6d7f","responses":{"200":"9330ad2b-2ffd-40e0-8ff5-573f4c307119","422":"9985059a-50ab-4053-a055-f16fae321f79"},"method":"post","type":"path","servers":["162bbcc6-f7fb-4296-953e-aed565369d35"],"security":["1d47a45b-69a2-4c64-847c-97d42d304331"],"path":"/templates","baseUrlOptions":["https://api.pictify.io"],"title":"Create a template","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","go","ruby"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Human-readable template name. Shown in the dashboard.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"engine":{"type":"string","enum":["fabric","html"],"default":"fabric","description":"Template engine. Set `html` to author with Handlebars + HTML.\n","uniqueKey":"engine","typeLabel":"enum\u003cstring>"},"html":{"type":"string","description":"Required for `engine=html`. Handlebars source. Must compile.\nUndeclared `{{identifier}}` references are auto-added as text variables.\n","uniqueKey":"html","typeLabel":"string"},"fabricJSData":{"type":"object","description":"Required for `engine=fabric`. FabricJS canvas JSON.","additionalProperties":true,"uniqueKey":"fabricJSData","typeLabel":"object"},"width":{"type":"integer","description":"Render width in px.","uniqueKey":"width","typeLabel":"integer"},"height":{"type":"integer","description":"Render height in px.","uniqueKey":"height","typeLabel":"integer"},"type":{"type":"string","description":"Template type tag (e.g. `og-image`, `twitter-card`). Free-form.","uniqueKey":"type","typeLabel":"string"},"category":{"type":"string","uniqueKey":"category","typeLabel":"string"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"tags","typeLabel":"string[]"},"variableDefinitions":{"type":"array","description":"Variable schema. For `engine=html`, identifiers referenced in the template\nbody but not declared here are auto-added as text variables and returned\nunder `addedVariables` in the response.\n","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Variable identifier. Must match the name used in `{{name}}` tokens.","isRequired":true,"uniqueKey":"variableDefinitions.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["text","image","color","chart","table","array","object"],"default":"text","uniqueKey":"variableDefinitions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"defaultValue":{"description":"Fallback value when the variable is not supplied at render time.\nTyped according to `type` — string for text/image/color/url, number for number,\nboolean for boolean, ISO date string for date, JSON array/object for array/object.\n","uniqueKey":"variableDefinitions.items.[INDEX].defaultValue","typeLabel":"any"},"description":{"type":"string","uniqueKey":"variableDefinitions.items.[INDEX].description","typeLabel":"string"},"allowRawHtml":{"type":"boolean","description":"Only meaningful for `type=text` on `engine=html` templates. When true the value\nis NOT HTML-escaped at render time. Use with care — treat as trusted input.\n","default":false,"uniqueKey":"variableDefinitions.items.[INDEX].allowRawHtml","typeLabel":"boolean"},"validation":{"type":"object","properties":{"required":{"type":"boolean","uniqueKey":"variableDefinitions.items.[INDEX].validation.required","typeLabel":"boolean"},"minLength":{"type":"integer","uniqueKey":"variableDefinitions.items.[INDEX].validation.minLength","typeLabel":"integer"},"maxLength":{"type":"integer","uniqueKey":"variableDefinitions.items.[INDEX].validation.maxLength","typeLabel":"integer"}},"uniqueKey":"variableDefinitions.items.[INDEX].validation","typeLabel":"object"}},"uniqueKey":"variableDefinitions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"variableDefinitions","typeLabel":"object[]"},"jsEnabled":{"type":"boolean","default":false,"description":"`engine=html` only. When true, scripts inside the template execute at\nrender time. Enables Chart.js, KaTeX, and animated SVG. Disables\ninfinite-loop protection; the 30s hard timeout still applies.\n","uniqueKey":"jsEnabled","typeLabel":"boolean"},"strictVariables":{"type":"boolean","default":false,"description":"`engine=html` only. When true, missing root-level variables throw\nHTTP 422 at render time. Leave off if you rely on `{{#if optional}}` guards.\n","uniqueKey":"strictVariables","typeLabel":"boolean"},"outputFormat":{"type":"string","enum":["image","pdf"],"default":"image","uniqueKey":"outputFormat","typeLabel":"enum\u003cstring>"},"pdfPreset":{"type":"string","enum":["A4","A4_LANDSCAPE","LETTER","LETTER_LANDSCAPE","LEGAL","A3","TABLOID"],"default":"A4","description":"Page preset when `outputFormat=pdf`.","uniqueKey":"pdfPreset","typeLabel":"enum\u003cstring>"},"pages":{"type":"array","description":"Multi-page canvas pages (`engine=fabric` only).","items":{"type":"object","properties":{"pageNumber":{"type":"integer","uniqueKey":"pages.items.[INDEX].pageNumber","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"pages.items.[INDEX].name","typeLabel":"string"},"fabricJSData":{"type":"object","additionalProperties":true,"uniqueKey":"pages.items.[INDEX].fabricJSData","typeLabel":"object"}},"uniqueKey":"pages.items.[INDEX]","typeLabel":"object"},"uniqueKey":"pages","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"handlebars":{"title":"handlebars","value":{"name":"OG Image","engine":"html","width":1200,"height":630,"html":"\u003cdiv style=\"width:1200px;height:630px;padding:64px;font-family:Inter\">\n \u003ch1 style=\"font-size:72px\">{{title}}\u003c/h1>\n \u003cp style=\"font-size:32px;color:#6b7280\">{{subtitle}}\u003c/p>\n {{#if showCta}}\u003cbutton>{{ctaText}}\u003c/button>{{/if}}\n\u003c/div>\n","variableDefinitions":[{"name":"title","type":"text","defaultValue":"Hello world"},{"name":"subtitle","type":"text"},{"name":"showCta","type":"boolean","defaultValue":false},{"name":"ctaText","type":"text","defaultValue":"Learn more"}],"strictVariables":false,"jsEnabled":false}},"fabric":{"title":"fabric","value":{"name":"Quote card","engine":"fabric","width":1080,"height":1080,"fabricJSData":{"version":"5.3.0","objects":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"9330ad2b-2ffd-40e0-8ff5-573f4c307119":{"description":"Template created","content":{"application/json":{"schema":{"type":"object","properties":{"template":{"type":"object","properties":{"uid":{"type":"string","uniqueKey":"template.uid","typeLabel":"string"},"name":{"type":"string","uniqueKey":"template.name","typeLabel":"string"},"engine":{"type":"string","enum":["fabric","html"],"description":"Which renderer owns this template.\n- `fabric` — legacy canvas templates (fabricJSData)\n- `html` — Handlebars + HTML templates (html field, supports `{{var}}`, `{{#each}}`, `{{#if}}`, and the built-in helper library)\n","uniqueKey":"template.engine","typeLabel":"enum\u003cstring>"},"html":{"type":"string","description":"Handlebars source for `engine=html` templates.","uniqueKey":"template.html","typeLabel":"string"},"fabricJSData":{"type":"object","description":"FabricJS canvas JSON for `engine=fabric` templates.","additionalProperties":true,"uniqueKey":"template.fabricJSData","typeLabel":"object"},"jsEnabled":{"type":"boolean","description":"Only meaningful for `engine=html`. When true, scripts inside the template\nexecute during render (Chart.js, KaTeX, animated SVG). Off by default\nto prevent runaway loops; a 30s hard timeout still applies.\n","default":false,"uniqueKey":"template.jsEnabled","typeLabel":"boolean"},"strictVariables":{"type":"boolean","description":"Only meaningful for `engine=html`. When true, rendering fails with HTTP 422\nif a root-level variable referenced in the template was not supplied.\nLeave off if you rely on `{{#if optional}}` guards.\n","default":false,"uniqueKey":"template.strictVariables","typeLabel":"boolean"},"type":{"type":"string","uniqueKey":"template.type","typeLabel":"string"},"category":{"type":"string","uniqueKey":"template.category","typeLabel":"string"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"template.tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"template.tags","typeLabel":"string[]"},"width":{"type":"integer","uniqueKey":"template.width","typeLabel":"integer"},"height":{"type":"integer","uniqueKey":"template.height","typeLabel":"integer"},"thumbnail":{"type":"string","format":"uri","uniqueKey":"template.thumbnail","typeLabel":"string\u003curi>"},"outputFormat":{"type":"string","enum":["image","pdf"],"default":"image","uniqueKey":"template.outputFormat","typeLabel":"enum\u003cstring>"},"pdfPreset":{"type":"string","description":"Page preset used when `outputFormat=pdf`.","enum":["A4","A4_LANDSCAPE","LETTER","LETTER_LANDSCAPE","LEGAL","A3","TABLOID"],"default":"A4","uniqueKey":"template.pdfPreset","typeLabel":"enum\u003cstring>"},"variableDefinitions":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Variable identifier. Must match the name used in `{{name}}` tokens.","isRequired":true,"uniqueKey":"template.variableDefinitions.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","enum":["text","image","color","chart","table","array","object"],"default":"text","uniqueKey":"template.variableDefinitions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"defaultValue":{"description":"Fallback value when the variable is not supplied at render time.\nTyped according to `type` — string for text/image/color/url, number for number,\nboolean for boolean, ISO date string for date, JSON array/object for array/object.\n","uniqueKey":"template.variableDefinitions.items.[INDEX].defaultValue","typeLabel":"any"},"description":{"type":"string","uniqueKey":"template.variableDefinitions.items.[INDEX].description","typeLabel":"string"},"allowRawHtml":{"type":"boolean","description":"Only meaningful for `type=text` on `engine=html` templates. When true the value\nis NOT HTML-escaped at render time. Use with care — treat as trusted input.\n","default":false,"uniqueKey":"template.variableDefinitions.items.[INDEX].allowRawHtml","typeLabel":"boolean"},"validation":{"type":"object","properties":{"required":{"type":"boolean","uniqueKey":"template.variableDefinitions.items.[INDEX].validation.required","typeLabel":"boolean"},"minLength":{"type":"integer","uniqueKey":"template.variableDefinitions.items.[INDEX].validation.minLength","typeLabel":"integer"},"maxLength":{"type":"integer","uniqueKey":"template.variableDefinitions.items.[INDEX].validation.maxLength","typeLabel":"integer"}},"uniqueKey":"template.variableDefinitions.items.[INDEX].validation","typeLabel":"object"}},"uniqueKey":"template.variableDefinitions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"template.variableDefinitions","typeLabel":"object[]"},"pages":{"type":"array","description":"Multi-page canvas pages (fabric engine).","items":{"type":"object","properties":{"pageNumber":{"type":"integer","uniqueKey":"template.pages.items.[INDEX].pageNumber","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"template.pages.items.[INDEX].name","typeLabel":"string"},"fabricJSData":{"type":"object","additionalProperties":true,"uniqueKey":"template.pages.items.[INDEX].fabricJSData","typeLabel":"object"}},"uniqueKey":"template.pages.items.[INDEX]","typeLabel":"object"},"uniqueKey":"template.pages","typeLabel":"object[]"},"layouts":{"type":"object","description":"Named layout variants. Keys are short identifiers matching\n`^[a-z0-9-]{1,64}$` (e.g. `twitter-post`, `og-image`). Each value\noverrides `width`, `height`, and renderer-specific data for that\nvariant. Limit: 20 layouts per template.\n","additionalProperties":{"type":"object","uniqueKey":"template.layouts.additionalProperties","typeLabel":"object"},"uniqueKey":"template.layouts","typeLabel":"object"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"template.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"template.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"template","typeLabel":"object"},"addedVariables":{"type":"array","description":"`engine=html` only. Names of identifiers referenced in the template\nbody that were auto-added to `variableDefinitions` during save. Omitted\nwhen the array would be empty.\n","items":{"type":"string","uniqueKey":"addedVariables.items.[INDEX]","typeLabel":"string"},"uniqueKey":"addedVariables","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"template":{"uid":"\u003cstring>","name":"\u003cstring>","engine":"fabric","html":"\u003cstring>","fabricJSData":{},"jsEnabled":false,"strictVariables":false,"type":"\u003cstring>","category":"\u003cstring>","tags":["\u003cstring>"],"width":123,"height":123,"thumbnail":"\u003cstring>","outputFormat":"image","pdfPreset":"A4","variableDefinitions":[{"name":"\u003cstring>","type":"text","defaultValue":"\u003cunknown>","description":"\u003cstring>","allowRawHtml":false,"validation":{"required":true,"minLength":123,"maxLength":123}}],"pages":[{"pageNumber":123,"name":"\u003cstring>","fabricJSData":{}}],"layouts":{},"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z"},"addedVariables":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"9985059a-50ab-4053-a055-f16fae321f79":{"description":"Validation failed. Typical causes for `engine=html`: unclosed Handlebars block,\nunknown helper, or (when `strictVariables=true`) a referenced variable without\na definition.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","context":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1d47a45b-69a2-4c64-847c-97d42d304331":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key obtained from the Pictify dashboard","scopes":[]}}},"servers":{"162bbcc6-f7fb-4296-953e-aed565369d35":{"url":"https://api.pictify.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key obtained from the Pictify dashboard","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key obtained from the Pictify dashboard","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/v1.yaml"},"subdomain":"pictify","siteName":"Pictify","title":"Create Template - Pictify","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-14T10:04:15.342Z","originalFileLocation":"api-reference/endpoints/templates/create.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Pictify\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Template - Pictify\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Pictify\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pictify.io/api-reference/endpoints/templates/create\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pictify.mintlify.app/_mintlify/api/og/v2?division=Templates\u0026amp;title=Create+Template\u0026amp;description=Create+a+template+with+either+the+Handlebars+HTML+engine+or+the+FabricJS+canvas+engine.\u0026amp;theme=0afe05f04b19418cf9bba64c\u0026amp;signature=1dea4055e31a33c7475fecd8914467b500eff8dbcfd80619e7e25f8cb5c1fdc5\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create Template - Pictify\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pictify.mintlify.app/_mintlify/api/og/v2?division=Templates\u0026amp;title=Create+Template\u0026amp;description=Create+a+template+with+either+the+Handlebars+HTML+engine+or+the+FabricJS+canvas+engine.\u0026amp;theme=0afe05f04b19418cf9bba64c\u0026amp;signature=1dea4055e31a33c7475fecd8914467b500eff8dbcfd80619e7e25f8cb5c1fdc5\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/pictify/f8xrAqExVZh47wMk/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Pictify\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6b6b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pictify.io/api-reference/endpoints/templates/create\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/templates/create.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pictify.io/#organization\",\"name\":\"Pictify\",\"url\":\"https://docs.pictify.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pictify/_rnPjuVJKzMa3CCJ/images/logo-light.svg?fit=max\u0026auto=format\u0026n=_rnPjuVJKzMa3CCJ\u0026q=85\u0026s=321207b410a66f32d35d34bb33cce797\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pictify.io#website\",\"name\":\"Pictify\",\"url\":\"https://docs.pictify.io\",\"publisher\":{\"@id\":\"https://docs.pictify.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pictify.io/api-reference/endpoints/templates/create#webpage\",\"url\":\"https://docs.pictify.io/api-reference/endpoints/templates/create\",\"name\":\"Create Template\",\"description\":\"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.\",\"dateModified\":\"2026-09-14T10:04:15.342Z\",\"isPartOf\":{\"@id\":\"https://docs.pictify.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pictify.io/api-reference/endpoints/templates/create#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pictify.io/api-reference/endpoints/templates/create#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Templates\",\"item\":\"https://docs.pictify.io/api-reference/templates\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Template\",\"item\":\"https://docs.pictify.io/api-reference/endpoints/templates/create\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pictify.io/api-reference/endpoints/templates/create#apireference\",\"headline\":\"Create Template\",\"name\":\"Create Template\",\"description\":\"Create a template with either the Handlebars HTML engine or the FabricJS canvas engine.\",\"url\":\"https://docs.pictify.io/api-reference/endpoints/templates/create\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pictify.io/api-reference/endpoints/templates/create#webpage\"},\"dateModified\":\"2026-09-14T10:04:15.342Z\",\"publisher\":{\"@id\":\"https://docs.pictify.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pictify.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pictify\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Pictify","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Overview","href":"/api-reference/overview"},{"title":"Error Handling","href":"/api-reference/errors"}]},{"group":"Images","pages":[{"title":"HTML to Image API","openapi":"post /image","href":"/api-reference/generation/images"},{"title":"Generate Image","openapi":"post /image","href":"/api-reference/endpoints/images/generate"},{"title":"List Images","openapi":"get /image","href":"/api-reference/endpoints/images/list"},{"title":"Get Image","openapi":"get /image/{uid}","href":"/api-reference/endpoints/images/get"},{"title":"Create Canvas Image","openapi":"post /image/canvas","href":"/api-reference/endpoints/images/canvas"}]},{"group":"GIFs","pages":[{"title":"HTML to GIF API","openapi":"post /gif","href":"/api-reference/generation/gifs"},{"title":"Create GIF","openapi":"post /gif","href":"/api-reference/endpoints/gifs/create"},{"title":"List GIFs","openapi":"get /gif","href":"/api-reference/endpoints/gifs/list"},{"title":"Get GIF","openapi":"get /gif/{uid}","href":"/api-reference/endpoints/gifs/get"},{"title":"Capture GIF from URL","openapi":"post /gif/capture","href":"/api-reference/endpoints/gifs/capture"}]},{"group":"PDFs","pages":[{"title":"PDF Generation API","openapi":"post /pdf/render","href":"/api-reference/generation/pdfs"},{"title":"Render PDF","openapi":"post /pdf/render","href":"/api-reference/endpoints/pdfs/render"},{"title":"Render Multi-Page PDF","openapi":"post /pdf/multi-page","href":"/api-reference/endpoints/pdfs/multi-page"},{"title":"Get PDF Presets","openapi":"get /pdf/presets","href":"/api-reference/endpoints/pdfs/presets"}]},{"group":"Templates","pages":[{"title":"Templates","openapi":"get /templates","href":"/api-reference/templates"},{"title":"List Templates","openapi":"get /templates","description":null,"href":"/api-reference/endpoints/templates/list"},{"title":"Create Template","openapi":"post /templates","href":"/api-reference/endpoints/templates/create"},{"title":"Get Template","openapi":"get /templates/{uid}","description":null,"href":"/api-reference/endpoints/templates/get"},{"title":"Update Template","openapi":"put /templates/{uid}","href":"/api-reference/endpoints/templates/update"},{"title":"Delete Template","openapi":"delete /templates/{uid}","href":"/api-reference/endpoints/templates/delete"},{"title":"Render Template","openapi":"post /templates/{uid}/render","href":"/api-reference/endpoints/templates/render"},{"title":"Get Template Variables","openapi":"get /templates/{uid}/variables","href":"/api-reference/endpoints/templates/variables"}]},{"group":"Batch","pages":[{"title":"Batch Operations","openapi":"post /templates/{uid}/batch-render","href":"/api-reference/batch"},{"title":"Batch Render","openapi":"post /templates/{uid}/batch-render","href":"/api-reference/endpoints/batch/render"},{"title":"Get Batch Results","openapi":"get /templates/batch/{batchId}/results","href":"/api-reference/endpoints/batch/results"},{"title":"Cancel Batch","openapi":"post /templates/batch/{batchId}/cancel","href":"/api-reference/endpoints/batch/cancel"}]},{"group":"URL Rendering","pages":[{"title":"URL Rendering","href":"/api-reference/url-rendering"}]},{"group":"Video","pages":[{"title":"Video Generation API","href":"/api-reference/video"}]},{"group":"Webhooks","pages":[{"title":"Webhook Subscriptions","openapi":"get /webhook-subscriptions","href":"/api-reference/webhooks"},{"title":"List Webhooks","openapi":"get /webhook-subscriptions","href":"/api-reference/endpoints/webhooks/list"},{"title":"Create Webhook","openapi":"post /webhook-subscriptions","href":"/api-reference/endpoints/webhooks/create"},{"title":"Get Webhook","openapi":"get /webhook-subscriptions/{uid}","href":"/api-reference/endpoints/webhooks/get"},{"title":"Update Webhook","openapi":"put /webhook-subscriptions/{uid}","href":"/api-reference/endpoints/webhooks/update"},{"title":"Delete Webhook","openapi":"delete /webhook-subscriptions/{uid}","href":"/api-reference/endpoints/webhooks/delete"}]},{"group":"Bindings","pages":[{"title":"Bindings","openapi":"get /bindings","href":"/api-reference/bindings"},{"title":"List Bindings","openapi":"get /bindings","href":"/api-reference/endpoints/bindings/list"},{"title":"Create Binding","openapi":"post /bindings","href":"/api-reference/endpoints/bindings/create"},{"title":"Get Binding","openapi":"get /bindings/{uid}","href":"/api-reference/endpoints/bindings/get"},{"title":"Update Binding","openapi":"put /bindings/{uid}","href":"/api-reference/endpoints/bindings/update"},{"title":"Delete Binding","openapi":"delete /bindings/{uid}","href":"/api-reference/endpoints/bindings/delete"}]}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/nodejs"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/dashboard/templates"}]}]},"title":"Create Template - Pictify","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}