Tool tree
gradeNot graded
get_page_stateAnswer
Get the current page state including project info, locale, all slide overlays, locked status, overflow flags, and comments
View tool JSON
{
"name": "get_page_state",
"kind": "answer",
"impl": "imperative",
"description": "Get the current page state including project info, locale, all slide overlays, locked status, overflow flags, and comments",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}add_localeAction
Add a new locale to the project. Use BCP 47 codes (e.g., en, de, es, ja, fr, pt-BR, zh-Hans). ChatGPT should then translate via set_overlay.
View tool JSON
{
"name": "add_locale",
"kind": "act",
"impl": "imperative",
"description": "Add a new locale to the project. Use BCP 47 codes (e.g., en, de, es, ja, fr, pt-BR, zh-Hans). ChatGPT should then translate via set_overlay.",
"inputSchema": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"description": "BCP 47 locale code (e.g., de, es, ja, fr, pt-BR, zh-Hans)"
}
},
"required": [
"locale"
],
"additionalProperties": false
}
}set_templateAction
Set the template for all unlocked slides or a specific slide. Templates: full_bleed_caption_bottom (default, screenshot fills frame with caption at bottom), caption_top (caption bar at top), framed_on_gradient (phone frame on gradient), gradient_only (gradient background only)
View tool JSON
{
"name": "set_template",
"kind": "act",
"impl": "imperative",
"description": "Set the template for all unlocked slides or a specific slide. Templates: full_bleed_caption_bottom (default, screenshot fills frame with caption at bottom), caption_top (caption bar at top), framed_on_gradient (phone frame on gradient), gradient_only (gradient background only)",
"inputSchema": {
"type": "object",
"properties": {
"template": {
"type": "string",
"enum": [
"full_bleed_caption_bottom",
"caption_top",
"framed_on_gradient",
"gradient_only"
],
"description": "Template ID to apply"
},
"slide": {
"type": "number",
"description": "Optional slide ID (1-5). If omitted, applies to all unlocked slides."
}
},
"required": [
"template"
],
"additionalProperties": false
}
}set_localeAction
Switch to a different locale from available locales
View tool JSON
{
"name": "set_locale",
"kind": "act",
"impl": "imperative",
"description": "Switch to a different locale from available locales",
"inputSchema": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"description": "Target locale code from available locales"
}
},
"required": [
"locale"
],
"additionalProperties": false
}
}set_overlayAction
Set headline and/or subhead for a specific slide in the current locale. Supports campaign slide (id=0) and product slides (id=1-5). Does not affect locked slides. Overflow is automatically measured.
View tool JSON
{
"name": "set_overlay",
"kind": "act",
"impl": "imperative",
"description": "Set headline and/or subhead for a specific slide in the current locale. Supports campaign slide (id=0) and product slides (id=1-5). Does not affect locked slides. Overflow is automatically measured.",
"inputSchema": {
"type": "object",
"properties": {
"slide": {
"type": "number",
"description": "Slide ID (0 for campaign, 1-5 for product slides)"
},
"headline": {
"type": "string",
"description": "New headline text (optional)"
},
"subhead": {
"type": "string",
"description": "New subhead text (optional)"
}
},
"required": [
"slide"
],
"additionalProperties": false
}
}check_overflowAnswer
Check overflow status for all slides in the current locale
View tool JSON
{
"name": "check_overflow",
"kind": "answer",
"impl": "imperative",
"description": "Check overflow status for all slides in the current locale",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}rewrite_overlayAction
Rewrite headline and/or subhead for a specific slide with an instruction. Does not affect locked slides. ChatGPT should generate the new text based on the instruction.
View tool JSON
{
"name": "rewrite_overlay",
"kind": "act",
"impl": "imperative",
"description": "Rewrite headline and/or subhead for a specific slide with an instruction. Does not affect locked slides. ChatGPT should generate the new text based on the instruction.",
"inputSchema": {
"type": "object",
"properties": {
"slide": {
"type": "number",
"description": "Slide ID (1-5)"
},
"instruction": {
"type": "string",
"description": "Instruction for rewriting (e.g., 'make it shorter', 'fix overflow')"
}
},
"required": [
"slide",
"instruction"
],
"additionalProperties": false
}
}apply_locale_passAction
Identify all unlocked overflowing slides for a specific locale. ChatGPT should then rewrite them via set_overlay.
View tool JSON
{
"name": "apply_locale_pass",
"kind": "act",
"impl": "imperative",
"description": "Identify all unlocked overflowing slides for a specific locale. ChatGPT should then rewrite them via set_overlay.",
"inputSchema": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"description": "Target locale code"
}
},
"required": [
"locale"
],
"additionalProperties": false
}
}comment_on_slideAction
Add a comment to a specific slide that will be visible to the human
View tool JSON
{
"name": "comment_on_slide",
"kind": "act",
"impl": "imperative",
"description": "Add a comment to a specific slide that will be visible to the human",
"inputSchema": {
"type": "object",
"properties": {
"slide": {
"type": "number",
"description": "Slide ID (1-5)"
},
"text": {
"type": "string",
"description": "Comment text"
}
},
"required": [
"slide",
"text"
],
"additionalProperties": false
}
}reset_projectSensitive Action
Clear the current project and start over with a fresh empty state (equivalent to 'Start Over' button). Wipes localStorage, clears images, resets to empty drop zone.
View tool JSON
{
"name": "reset_project",
"kind": "transact",
"impl": "imperative",
"description": "Clear the current project and start over with a fresh empty state (equivalent to 'Start Over' button). Wipes localStorage, clears images, resets to empty drop zone.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}set_slide_colorsAction
Set custom colors for a slide's Kova template (full_bleed_caption_bottom). Overrides auto-sampled colors. Does not affect locked slides. Use RGB hex format (#RRGGBB).
View tool JSON
{
"name": "set_slide_colors",
"kind": "act",
"impl": "imperative",
"description": "Set custom colors for a slide's Kova template (full_bleed_caption_bottom). Overrides auto-sampled colors. Does not affect locked slides. Use RGB hex format (#RRGGBB).",
"inputSchema": {
"type": "object",
"properties": {
"slide": {
"type": "number",
"description": "Slide ID (1-5)"
},
"text": {
"type": "string",
"description": "Text color (hex, e.g. #6d28d9). Used for headline and subhead."
},
"background": {
"type": "string",
"description": "Background color (hex, e.g. #f3e8ff). Light variant for canvas fill."
},
"accent": {
"type": "string",
"description": "Accent color (hex, e.g. #c4b5fd). Dark variant for organic blobs."
}
},
"required": [
"slide"
],
"additionalProperties": false
}
}export_zipAction
Export the current locale's slides as a ZIP of 1320x2868 PNG files (no alpha channel, sRGB)
View tool JSON
{
"name": "export_zip",
"kind": "act",
"impl": "imperative",
"description": "Export the current locale's slides as a ZIP of 1320x2868 PNG files (no alpha channel, sRGB)",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}