99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
# AI Template Pack ZIP format
|
|
|
|
Template Studio accepts authenticated ZIP uploads containing a manifest and raster assets.
|
|
|
|
## Layout
|
|
|
|
```text
|
|
my-pack.zip
|
|
├── template-pack.json
|
|
└── assets/
|
|
├── hero.webp
|
|
├── paper-bg.webp
|
|
└── page-border.png
|
|
```
|
|
|
|
## Manifest
|
|
|
|
```json
|
|
{
|
|
"format": "template-studio-pack",
|
|
"version": 1,
|
|
"template": {
|
|
"name": "AI generated customer report",
|
|
"type": "report",
|
|
"document": {
|
|
"theme": {
|
|
"backgroundColor": "#f6f1e8",
|
|
"surfaceColor": "#ffffff",
|
|
"textColor": "#172033",
|
|
"mutedColor": "#64748b",
|
|
"accentColor": "#8b5e34",
|
|
"borderColor": "#d8c7b3",
|
|
"borderRadius": 14,
|
|
"pageBackgroundImage": "asset://paper-bg",
|
|
"borderImage": "asset://page-border"
|
|
},
|
|
"blocks": [
|
|
{
|
|
"id": "hero-heading",
|
|
"type": "heading",
|
|
"props": {
|
|
"text": "Report for {{customer.name}}"
|
|
},
|
|
"style": {
|
|
"backgroundColor": "#fffaf2",
|
|
"borderColor": "#d8c7b3",
|
|
"borderWidth": 1,
|
|
"borderRadius": 12,
|
|
"padding": 18
|
|
}
|
|
},
|
|
{
|
|
"id": "hero-image",
|
|
"type": "image",
|
|
"props": {
|
|
"url": "asset://hero",
|
|
"alt": "Report hero"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"sampleData": {
|
|
"customer": {
|
|
"name": "Example Customer"
|
|
}
|
|
}
|
|
},
|
|
"assets": [
|
|
{
|
|
"key": "hero",
|
|
"file": "assets/hero.webp"
|
|
},
|
|
{
|
|
"key": "paper-bg",
|
|
"file": "assets/paper-bg.webp"
|
|
},
|
|
{
|
|
"key": "page-border",
|
|
"file": "assets/page-border.png"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
Use `asset://KEY` anywhere in the document or sample data. Import replaces it with an opaque Template Studio media URL.
|
|
|
|
### Styling
|
|
|
|
The constrained theme supports colors, border radius, background imagery and report border imagery. Blocks may also include a `style` object with background/text/border colors, border width/radius, padding and alignment. Arbitrary CSS/HTML/JavaScript is intentionally not supported.
|
|
|
|
### Limits
|
|
|
|
- ZIP upload: 20 MB compressed
|
|
- 100 files maximum
|
|
- 50 MB maximum expanded size
|
|
- 10 MB per image
|
|
- PNG, JPEG, WebP and GIF only
|
|
- `template-pack.json` must be at ZIP root
|