gradeNot graded
get-editor-summaryAnswer
Returns the current print layout state: paper settings, photo size items with quantities, selected service set, page count, active page, placed item count, paper utilization, unplaced items, and any layout error. Photo pixel data is never included.
View tool JSON
{
"name": "get-editor-summary",
"kind": "answer",
"impl": "imperative",
"description": "Returns the current print layout state: paper settings, photo size items with quantities, selected service set, page count, active page, placed item count, paper utilization, unplaced items, and any layout error. Photo pixel data is never included.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}list-paper-presetsAnswer
Returns available standard paper presets (id, name, dimensions, unit) plus the user's saved custom paper presets. Use an id from this list as presetId in configure-paper.
View tool JSON
{
"name": "list-paper-presets",
"kind": "answer",
"impl": "imperative",
"description": "Returns available standard paper presets (id, name, dimensions, unit) plus the user's saved custom paper presets. Use an id from this list as presetId in configure-paper.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}list-photo-size-presetsAnswer
Returns available photo size presets such as ID photos, passport, wallet, and portrait prints (id, name, dimensions, unit, default quantity). Use an id from this list as presetId in add-photo-size.
View tool JSON
{
"name": "list-photo-size-presets",
"kind": "answer",
"impl": "imperative",
"description": "Returns available photo size presets such as ID photos, passport, wallet, and portrait prints (id, name, dimensions, unit, default quantity). Use an id from this list as presetId in add-photo-size.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}list-service-setsAnswer
Returns the user's saved service sets (packages of photo sizes, paper, and pricing) that can be applied to the editor in one step.
View tool JSON
{
"name": "list-service-sets",
"kind": "answer",
"impl": "imperative",
"description": "Returns the user's saved service sets (packages of photo sizes, paper, and pricing) that can be applied to the editor in one step.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}list-nameplate-presetsAnswer
Returns the available nameplate starting points (id, name, description) such as full name, name and ID, and name with department. Use an id from this list as presetId in configure-nameplate.
View tool JSON
{
"name": "list-nameplate-presets",
"kind": "answer",
"impl": "imperative",
"description": "Returns the available nameplate starting points (id, name, description) such as full name, name and ID, and name with department. Use an id from this list as presetId in configure-nameplate.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}configure-paperAction
Changes the print sheet configuration. Provide presetId to switch to a standard paper, or width/height/unit for custom dimensions. Optionally also set orientation, margin, spacing, and cutting guides. Margin and spacing values are interpreted in the resulting paper display unit. The preview updates immediately.
View tool JSON
{
"name": "configure-paper",
"kind": "act",
"impl": "imperative",
"description": "Changes the print sheet configuration. Provide presetId to switch to a standard paper, or width/height/unit for custom dimensions. Optionally also set orientation, margin, spacing, and cutting guides. Margin and spacing values are interpreted in the resulting paper display unit. The preview updates immediately.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"presetId": {
"description": "Standard paper preset id, e.g. 'letter', 'legal', 'a4', 'a3', '4r', '5r'.",
"type": "string"
},
"width": {
"description": "Custom paper width. Requires height and unit when used without presetId.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"height": {
"description": "Custom paper height.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"unit": {
"description": "Unit for custom dimensions, margin, and spacing values.",
"type": "string",
"enum": [
"in",
"cm",
"mm"
]
},
"orientation": {
"description": "Paper orientation.",
"type": "string",
"enum": [
"portrait",
"landscape"
]
},
"margin": {
"description": "Page margin in the paper's current display unit.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"horizontalSpacing": {
"description": "Gap between photos horizontally, in the display unit.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"verticalSpacing": {
"description": "Gap between photos vertically, in the display unit.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"cuttingGuidesEnabled": {
"description": "Whether cutting guides are drawn on the output.",
"type": "boolean"
}
},
"additionalProperties": false
}
}add-photo-sizeAction
Adds a photo size to the layout by presetId or custom width/height/unit, optionally with a copy quantity, and the preview updates immediately with the new placement. Returns the created item id needed by update-photo-size, remove-photo-size, and configure-nameplate.
View tool JSON
{
"name": "add-photo-size",
"kind": "act",
"impl": "imperative",
"description": "Adds a photo size to the layout by presetId or custom width/height/unit, optionally with a copy quantity, and the preview updates immediately with the new placement. Returns the created item id needed by update-photo-size, remove-photo-size, and configure-nameplate.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"presetId": {
"description": "Photo size preset id, e.g. '2x2', 'passport', 'wallet', '2r', 'half-body'. Omit to use custom dimensions.",
"type": "string"
},
"width": {
"description": "Custom photo width. Use instead of presetId together with height and unit.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100
},
"height": {
"description": "Custom photo height.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100
},
"unit": {
"description": "Unit for custom dimensions (required with custom width/height).",
"type": "string",
"enum": [
"in",
"cm",
"mm"
]
},
"quantity": {
"description": "Number of copies to place. Defaults to the preset default.",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"allowRotation": {
"description": "Allow this photo size to rotate 90° during packing.",
"type": "boolean"
}
},
"additionalProperties": false
}
}update-photo-sizeAction
Updates an existing photo size item: change quantity, allowRotation, or enable or disable its nameplate. The preview updates immediately. Identify the item with the itemId returned when it was added or listed in get-editor-summary.
View tool JSON
{
"name": "update-photo-size",
"kind": "act",
"impl": "imperative",
"description": "Updates an existing photo size item: change quantity, allowRotation, or enable or disable its nameplate. The preview updates immediately. Identify the item with the itemId returned when it was added or listed in get-editor-summary.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Id of the photo size item to update."
},
"quantity": {
"description": "New copy count for this photo size.",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"allowRotation": {
"type": "boolean"
},
"nameplateEnabled": {
"description": "Enable or disable the nameplate attached to this photo size.",
"type": "boolean"
}
},
"required": [
"itemId"
],
"additionalProperties": false
}
}remove-photo-sizeAction
Removes a photo size item from the layout and recalculates placement; the preview updates immediately.
View tool JSON
{
"name": "remove-photo-size",
"kind": "act",
"impl": "imperative",
"description": "Removes a photo size item from the layout and recalculates placement; the preview updates immediately.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Id of the photo size item to remove."
}
},
"required": [
"itemId"
],
"additionalProperties": false
}
}apply-service-setAction
Applies one of the user's service sets, replacing the current photo sizes and paper configuration with the package definition. The preview updates immediately. Disabled service sets are reported instead of applied.
View tool JSON
{
"name": "apply-service-set",
"kind": "act",
"impl": "imperative",
"description": "Applies one of the user's service sets, replacing the current photo sizes and paper configuration with the package definition. The preview updates immediately. Disabled service sets are reported instead of applied.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"serviceSetId": {
"type": "string",
"minLength": 1,
"description": "Id of the service set to apply, from list-service-sets."
}
},
"required": [
"serviceSetId"
],
"additionalProperties": false
}
}configure-nameplateAction
Creates or updates the nameplate attached to a photo size item, and the nameplate renders on the preview immediately. Optionally start from presetId (full-name, name-and-id, name-id-department, custom), then override text lines (name, ID number, department), position relative to the photo, font size and weight, alignment, and colors.
View tool JSON
{
"name": "configure-nameplate",
"kind": "act",
"impl": "imperative",
"description": "Creates or updates the nameplate attached to a photo size item, and the nameplate renders on the preview immediately. Optionally start from presetId (full-name, name-and-id, name-id-department, custom), then override text lines (name, ID number, department), position relative to the photo, font size and weight, alignment, and colors.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Id of the photo size item whose nameplate to configure."
},
"presetId": {
"description": "Start from a saved nameplate layout before applying overrides.",
"type": "string",
"enum": [
"full-name",
"name-and-id",
"name-id-department",
"custom"
]
},
"primaryText": {
"description": "Main line text, typically a full name.",
"type": "string",
"maxLength": 120
},
"secondaryText": {
"description": "Second line text, such as an ID or student number.",
"type": "string",
"maxLength": 120
},
"thirdLineText": {
"description": "Third line text, such as a department or section.",
"type": "string",
"maxLength": 120
},
"position": {
"type": "string",
"enum": [
"bottom-inside",
"bottom-outside",
"top-inside",
"top-outside"
]
},
"fontSizePoints": {
"type": "integer",
"minimum": 4,
"maximum": 72
},
"fontWeight": {
"anyOf": [
{
"type": "number",
"const": 400
},
{
"type": "number",
"const": 500
},
{
"type": "number",
"const": 600
},
{
"type": "number",
"const": 700
}
]
},
"textAlign": {
"type": "string",
"enum": [
"left",
"center",
"right"
]
},
"textColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"backgroundColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"borderEnabled": {
"type": "boolean"
},
"borderColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"required": [
"itemId"
],
"additionalProperties": false
}
}set-preview-pageAction
Shows the layout page the user should look at next in the canvas preview. Page numbers start at 1; get-editor-summary reports pageCount and the current activePageNumber.
View tool JSON
{
"name": "set-preview-page",
"kind": "act",
"impl": "imperative",
"description": "Shows the layout page the user should look at next in the canvas preview. Page numbers start at 1; get-editor-summary reports pageCount and the current activePageNumber.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"pageNumber": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Page number to display in the preview, starting at 1."
}
},
"required": [
"pageNumber"
],
"additionalProperties": false
}
}set-backgroundAction
Sets the photo background treatment: original keeps the photo as uploaded, solid composites the photo over the given hex color (defaults to white), and transparent is reserved for photos whose background has been removed. The preview updates immediately.
View tool JSON
{
"name": "set-background",
"kind": "act",
"impl": "imperative",
"description": "Sets the photo background treatment: original keeps the photo as uploaded, solid composites the photo over the given hex color (defaults to white), and transparent is reserved for photos whose background has been removed. The preview updates immediately.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"original",
"transparent",
"solid"
],
"description": "original keeps the uploaded photo, transparent suits photos with the background removed, solid composites over a color."
},
"color": {
"description": "Hex color for solid mode. Defaults to white.",
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"required": [
"mode"
],
"additionalProperties": false
}
}set-crop-modeAction
Chooses how the user's crop fills each photo size: keep-head-size preserves the subject's apparent size across sizes, fill-frame fills each frame and may crop edges, and fit-with-padding fits the whole crop inside the frame with padding. The preview updates immediately.
View tool JSON
{
"name": "set-crop-mode",
"kind": "act",
"impl": "imperative",
"description": "Chooses how the user's crop fills each photo size: keep-head-size preserves the subject's apparent size across sizes, fill-frame fills each frame and may crop edges, and fit-with-padding fits the whole crop inside the frame with padding. The preview updates immediately.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"keep-head-size",
"fill-frame",
"fit-with-padding"
],
"description": "keep-head-size preserves the subject's apparent size across sizes, fill-frame fills each frame and may crop edges, fit-with-padding fits the whole crop with padding."
}
},
"required": [
"mode"
],
"additionalProperties": false
}
}save-service-setAction
Saves the current photo sizes and paper configuration as a reusable service set with the given name and optional price, and the new service set appears in the user's list immediately for later use with apply-service-set.
View tool JSON
{
"name": "save-service-set",
"kind": "act",
"impl": "imperative",
"description": "Saves the current photo sizes and paper configuration as a reusable service set with the given name and optional price, and the new service set appears in the user's list immediately for later use with apply-service-set.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "Name for the saved service set."
},
"description": {
"description": "Short description of the package.",
"type": "string",
"maxLength": 200
},
"price": {
"description": "Price for the package. Defaults to 0.",
"type": "number",
"minimum": 0,
"maximum": 100000
},
"currencyCode": {
"description": "ISO currency code. Defaults to the user's most recent service set currency.",
"type": "string",
"minLength": 3,
"maxLength": 3
}
},
"required": [
"name"
],
"additionalProperties": false
}
}export-pdfAction
Generates a print-ready PDF of all pages at exact physical dimensions and starts the browser download immediately. Requires a loaded photo and at least one placed photo size. Returns only file metadata; image data stays in the browser. A user-visible download appears in the browser.
View tool JSON
{
"name": "export-pdf",
"kind": "act",
"impl": "imperative",
"description": "Generates a print-ready PDF of all pages at exact physical dimensions and starts the browser download immediately. Requires a loaded photo and at least one placed photo size. Returns only file metadata; image data stays in the browser. A user-visible download appears in the browser.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"filename": {
"description": "Download file name without extension. Defaults to a timestamped name.",
"type": "string",
"maxLength": 140
},
"quality": {
"description": "Raster output quality. High uses ~300 PPI. Default high.",
"type": "string",
"enum": [
"standard",
"high"
]
}
},
"additionalProperties": false
}
}open-print-dialogAction
Opens the print options dialog on screen immediately so the user can review printer settings (paper size match, Actual Size scaling, no margins) and confirm printing. Printing always requires explicit human confirmation.
View tool JSON
{
"name": "open-print-dialog",
"kind": "act",
"impl": "imperative",
"description": "Opens the print options dialog on screen immediately so the user can review printer settings (paper size match, Actual Size scaling, no margins) and confirm printing. Printing always requires explicit human confirmation.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}