Design custom T-shirts, preview artwork, personalize team shirts and prepare a checkout link.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add uploaded or existing artwork to the specified area. Use the returned asset or the supported imageFile transport. Do not confuse an upload with the target of an existing-image edit.
The exact subject returned by start_design_session.
Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID.
The private expiring capability returned by start_design_session. Do not publish it.
Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add uploaded or existing artwork to the specified area. Use the returned asset or the supported imageFile transport. Do not confuse an upload with the target of an existing-image edit.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"base64": {
"type": "string"
},
"height": {
"type": "number"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"dataUrl": {
"type": "string"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"fileType": {
"type": "string",
"description": "Image extension, e.g. png."
},
"filename": {
"type": "string",
"description": "Filename with extension, e.g. artwork.png."
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageData": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"sourceUrl": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"contentType": {
"type": "string",
"description": "Image MIME type, e.g. image/png."
},
"instruction": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"applyToDesign": {
"type": "boolean"
},
"preserveImageBox": {
"type": "boolean"
},
"preserveReplacementBox": {
"type": "boolean"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Apply a keyline to the explicit elementId and areaId. Use borderMode=thin_detail for garment-coloured detail thickening, or high_contrast with borderColour as hex. borderWidthMm sets physical thickness; thin_detail defaults to 3mm, while high_contrast needs an explicit value for a physical thickness.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"elementId": {
"type": "string"
},
"operation": {
"type": "string"
},
"borderMode": {
"enum": [
"thin_detail",
"high_contrast"
],
"type": "string",
"description": "thin_detail uses the garment colour; high_contrast accepts an explicit borderColour."
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"borderColour": {
"type": "string",
"description": "Hex colour for high_contrast, for example #ffffff; colour names are not supported."
},
"borderWidthMm": {
"type": "number",
"description": "Physical keyline thickness in millimetres. thin_detail defaults to 3; set explicitly for high_contrast."
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Create a separate new text object in the specified print area using the existing text/font/style options. Preserve the user's exact wording. Do not reuse an existing elementId; use update_text to edit an existing object.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"fill": {
"type": "string"
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"fill": {
"type": "string"
},
"text": {
"type": "string"
},
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"fontSize": {
"type": "number"
},
"rotation": {
"type": "number"
},
"fontFamily": {
"type": "string",
"description": "Use current designOptions fonts."
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"additionalProperties": true
}
],
"description": "Text string or object: text, fontFamily, fontSize, fill, align, x, y, width, coordinateSpace."
},
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"scale": {
"type": "number"
},
"value": {
"type": "string"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"allText": {
"type": "boolean"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"fontSize": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"nameText": {
"type": "string"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"textColor": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fontFamily": {
"type": "string",
"description": "Use a fontFamily returned in current designOptions."
},
"fontSizeMm": {
"type": "number"
},
"numberText": {
"type": "string"
},
"textColour": {
"type": "string"
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Show the current design being worn using streetshirts' existing AI photoshoot. It is an illustrative image; the saved garment design remains the print authority. May return pending work and uses a bounded allowance.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"prompt": {
"type": "string"
},
"product": {
"type": "object",
"additionalProperties": true
},
"quantity": {
"type": [
"string",
"integer"
]
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Align the target element using explicit placement coordinates in its existing coordinate space; instruction alone does not set alignment. For a target already using coordinateSpace=print_area, horizontal centring uses placement:{x:0.5}, preserving y and all other geometry. Text alignment within its box is separate from the box position. Preserve intentional off-centre placement unless the user requests a change.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
},
"targetElementIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Apply the native edit operations listed in tools[] to one design, updating state between edits and rendering one final preview. Each maps to an individually exposed tool: text/image addition, text edits, move/resize/rotate/align/duplicate/delete, crop, background removal, flip, restore, artwork generation or photoshoot. Use explicit elementId/areaId and native text/asset/placement/options objects; standalone workflow shorthand is not normalized inside a batch. May overwrite or delete content. Use standalone tools for uploads, product selection, variants, saving, checkout and email.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"tools": {
"type": "array",
"items": {
"type": "object",
"anyOf": [
{
"title": "add_text",
"properties": {
"tool": {
"enum": [
"add_text"
]
}
},
"description": "Native edit for the standalone add_text tool."
},
{
"title": "update_text",
"properties": {
"tool": {
"enum": [
"update_text"
]
}
},
"description": "Native edit for the standalone update_text tool."
},
{
"title": "add_image",
"properties": {
"tool": {
"enum": [
"add_image"
]
}
},
"description": "Native edit for the standalone add_image tool."
},
{
"title": "generate_artwork",
"properties": {
"tool": {
"enum": [
"generate_artwork"
]
}
},
"description": "Native edit for the standalone generate_artwork tool."
},
{
"title": "move_element",
"properties": {
"tool": {
"enum": [
"move_element"
]
}
},
"description": "Native edit for the standalone move_element tool."
},
{
"title": "resize_element",
"properties": {
"tool": {
"enum": [
"resize_element"
]
}
},
"description": "Native edit for the standalone resize_element tool."
},
{
"title": "rotate_element",
"properties": {
"tool": {
"enum": [
"rotate_element"
]
}
},
"description": "Native edit for the standalone rotate_element tool."
},
{
"title": "align_element",
"properties": {
"tool": {
"enum": [
"align_element"
]
}
},
"description": "Native edit for the standalone align_element tool."
},
{
"title": "duplicate_element",
"properties": {
"tool": {
"enum": [
"duplicate_element"
]
}
},
"description": "Native edit for the standalone duplicate_element tool."
},
{
"title": "delete_element",
"properties": {
"tool": {
"enum": [
"delete_element"
]
}
},
"description": "Native edit for the standalone delete_element tool."
},
{
"title": "remove_background",
"properties": {
"tool": {
"enum": [
"remove_background"
]
}
},
"description": "Native edit for the standalone remove_background tool."
},
{
"title": "crop_image",
"properties": {
"tool": {
"enum": [
"crop_image"
]
}
},
"description": "Native edit for the standalone crop_image tool."
},
{
"title": "flip_image",
"properties": {
"tool": {
"enum": [
"flip_image"
]
}
},
"description": "Native edit for the standalone flip_image tool."
},
{
"title": "restore_original_image",
"properties": {
"tool": {
"enum": [
"restore_original_image"
]
}
},
"description": "Native edit for the standalone restore_original_image tool."
},
{
"title": "ai_photoshoot",
"properties": {
"tool": {
"enum": [
"ai_photoshoot"
]
}
},
"description": "Native edit for the standalone ai_photoshoot tool."
},
{
"title": "Existing native compatibility names",
"properties": {
"tool": {
"not": {
"enum": [
"add_text",
"update_text",
"add_image",
"move_element",
"resize_element",
"rotate_element",
"align_element",
"duplicate_element",
"delete_element",
"crop_image",
"remove_background",
"flip_image",
"restore_original_image",
"generate_artwork",
"ai_photoshoot"
]
},
"type": "string"
}
},
"description": "Existing native operation aliases retain their normal behavior and permission checks; this metadata does not create additional operations."
}
],
"properties": {
"crop": {
"type": "object",
"properties": {
"top": {
"type": "number"
},
"left": {
"type": "number"
},
"right": {
"type": "number"
},
"bottom": {
"type": "number"
}
},
"description": "Fractions removed from each image edge; omitted sides remain zero.",
"additionalProperties": true
},
"text": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"fill": {
"type": "string"
},
"text": {
"type": "string"
},
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"fontSize": {
"type": "number"
},
"rotation": {
"type": "number"
},
"fontFamily": {
"type": "string",
"description": "Use current designOptions fonts."
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "Native text object, e.g. {text:'Hello',fontFamily:'...',fontSize:40,fill:'#ffffff'}. Use the standalone add_text/update_text tool for string shorthand.",
"additionalProperties": true
},
"tool": {
"type": "string",
"examples": [
"add_text",
"update_text",
"add_image",
"move_element",
"resize_element",
"rotate_element",
"align_element",
"duplicate_element",
"delete_element",
"crop_image",
"remove_background",
"flip_image",
"restore_original_image",
"generate_artwork",
"ai_photoshoot"
],
"description": "Native operation listed below. Existing native compatibility names (for example flip_horizontal, flip_vertical, add_asset, update_element and crop_edge_lines) remain accepted. Workflow-only verbs such as checkout, designkey, load or select_product do not run in this batch."
},
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"value": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"count": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"fileType": {
"type": "string"
},
"filename": {
"type": "string"
},
"direction": {
"type": "string",
"examples": [
"horizontal",
"vertical"
]
},
"imageCount": {
"type": "integer"
},
"singleResult": {
"type": "boolean"
}
},
"description": "Native image options: flip direction=horizontal|vertical; native generation prompt, mode, singleResult, imageCount. This object is public options.options.",
"additionalProperties": true
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"instruction": {
"type": "string"
}
},
"additionalProperties": true
},
"maxItems": 100,
"description": "Ordered native edits with tool, areaId/elementId and text/asset/placement/options objects. Flip uses item.options.direction; generate_artwork uses item.options.prompt (or value), plus optional singleResult/imageCount there. Updated design feeds the next item; one final preview. Use standalone tools for workflow shortcuts such as widthCm, uploads, variants, saving or checkout."
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"stopOnError": {
"type": "boolean"
},
"renderPreview": {
"type": "boolean"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Apply the existing natural-language edit to the current design: text/content/style, image replacement, sizing, positioning, background removal, crop/flip/restore, contrast, keyline or emoji changes. These capabilities also have individually named tools in this list. Preserve the user's exact instruction and intended element/print area. Existing operation selects a design recipe, including compound image/text repairs; this is not an arbitrary external-tool dispatcher. Edits can overwrite content. Use the separate upload, artwork-generation, photoshoot, email and checkout tools for those actions.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"fill": {
"type": "string"
},
"kind": {
"type": "string"
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"fill": {
"type": "string"
},
"text": {
"type": "string"
},
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"fontSize": {
"type": "number"
},
"rotation": {
"type": "number"
},
"fontFamily": {
"type": "string",
"description": "Use current designOptions fonts."
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"additionalProperties": true
}
],
"description": "Text string or object: text, fontFamily, fontSize, fill, align, x, y, width, coordinateSpace."
},
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"patch": {
"type": "object",
"additionalProperties": true
},
"scale": {
"type": "number"
},
"value": {
"type": "string"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"base64": {
"type": "string"
},
"change": {
"type": "string"
},
"design": {
"type": "object",
"additionalProperties": true
},
"height": {
"type": "number"
},
"method": {
"type": "string"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"dataUrl": {
"type": "string"
},
"feather": {
"type": "integer"
},
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"count": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"fileType": {
"type": "string"
},
"filename": {
"type": "string"
},
"direction": {
"type": "string",
"examples": [
"horizontal",
"vertical"
]
},
"imageCount": {
"type": "integer"
},
"singleResult": {
"type": "boolean"
}
},
"description": "Native image options: flip direction=horizontal|vertical; native generation prompt, mode, singleResult, imageCount. This object is public options.options.",
"additionalProperties": true
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"fileType": {
"type": "string",
"description": "Image extension, e.g. png."
},
"filename": {
"type": "string",
"description": "Filename with extension, e.g. artwork.png."
},
"fontSize": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"nameText": {
"type": "string"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageData": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"operation": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"sourceUrl": {
"type": "string"
},
"textColor": {
"type": "string"
},
"tolerance": {
"type": "integer"
},
"changeType": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fontFamily": {
"type": "string",
"description": "Use a fontFamily returned in current designOptions."
},
"fontSizeMm": {
"type": "number"
},
"numberText": {
"type": "string"
},
"textColour": {
"type": "string"
},
"colorKeyHex": {
"type": "string"
},
"contentType": {
"type": "string",
"description": "Image MIME type, e.g. image/png."
},
"instruction": {
"type": "string"
},
"colourKeyHex": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"applyToDesign": {
"type": "boolean"
},
"currentDesign": {
"type": "object",
"additionalProperties": true
},
"backgroundColor": {
"type": "string"
},
"preserveImageBox": {
"type": "boolean"
},
"preserveReplacementBox": {
"type": "boolean"
},
"backgroundRemovalMethod": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Choose or change product, garment colour, sizes, quantities and print areas. Existing artwork is preserved. Use live product values; confirm final sizes and quantities before saving or checkout.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"product": {
"type": "object",
"additionalProperties": true
},
"quantity": {
"type": [
"string",
"integer"
]
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Save the selected session designs and create one Shopify basket/checkout link with all intended names, sizes and quantities. Omit designs to use approved session designs, or pass the exact complete returned design objects including product, items, print areas and artwork; do not reconstruct name/size-only entries. This does not pay or place an order. Only create it when the user wants a purchase link.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"designs": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Pass exact complete designs returned by the session/variant result; preserve product, items, print areas and artwork."
},
"product": {
"type": "object",
"additionalProperties": true
},
"quantity": {
"type": [
"string",
"integer"
]
},
"variants": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "New variant rows: nameText, numberText, size, quantity, optional product/items. Checkout uses the complete returned designs."
},
"elementId": {
"type": "string"
},
"saveScope": {
"enum": [
"all"
],
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
},
"savePreview": {
"type": "boolean"
},
"saveAllDesigns": {
"type": "boolean"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Create another independent blank design in this session. Use product, colour, size, quantity and print areas as needed. It does not inherit artwork from the active design.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"product": {
"type": "object",
"additionalProperties": true
},
"quantity": {
"type": [
"string",
"integer"
]
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Clone the active/base design into personalised designs. Supply areaId and variants with nameText, numberText, size, quantity and optional product/items. This replaces existing name/number text objects: first ensure separate name and number templates exist in the intended print area, adding missing templates with add_text. It does not create those text objects itself. Set append:true to retain existing session designs; otherwise the variants replace that collection. Preserve the common artwork and check each supplied name and number. Pass only the complete intended designs to checkout.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"append": {
"type": "boolean",
"description": "Retain existing session designs when adding variants. Defaults false, replacing that collection."
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"designs": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Pass exact complete designs returned by the session/variant result; preserve product, items, print areas and artwork."
},
"product": {
"type": "object",
"additionalProperties": true
},
"nameText": {
"type": "string"
},
"quantity": {
"type": [
"string",
"integer"
]
},
"variants": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "New variant rows: nameText, numberText, size, quantity, optional product/items. Checkout uses the complete returned designs."
},
"elementId": {
"type": "string"
},
"baseDesign": {
"type": "object",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"numberText": {
"type": "string"
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Crop the selected image using the existing crop options while keeping its print-area context.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"crop": {
"type": "object",
"properties": {
"top": {
"type": "number"
},
"left": {
"type": "number"
},
"right": {
"type": "number"
},
"bottom": {
"type": "number"
}
},
"description": "Fractions removed from each image edge; omitted sides remain zero.",
"additionalProperties": true
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"count": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"fileType": {
"type": "string"
},
"filename": {
"type": "string"
},
"direction": {
"type": "string",
"examples": [
"horizontal",
"vertical"
]
},
"imageCount": {
"type": "integer"
},
"singleResult": {
"type": "boolean"
}
},
"description": "Native image options: flip direction=horizontal|vertical; native generation prompt, mode, singleResult, imageCount. This object is public options.options.",
"additionalProperties": true
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"operation": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"loadImageMods": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Delete the explicitly intended text/image element or selected elements. Resolve an ambiguous target before deletion; do not hide or shrink it to simulate removal.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"allText": {
"type": "boolean"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"allImages": {
"type": "boolean"
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"targetElementIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Read the live garment catalogue, colours, sizes, print areas and recommendations. Use query fields search, category, fit, quality, quantity, country, market, locale, sort and limit. No design session is required.
| Argument | Type | Description |
|---|---|---|
| query | object | Existing catalogue filters: search, category, fit, quality, country, market, locale, quantity, sort, limit. |
{
"type": "object",
"required": [],
"properties": {
"query": {
"type": "object",
"description": "Existing catalogue filters: search, category, fit, quality, country, market, locale, quantity, sort, limit.",
"additionalProperties": true
}
},
"additionalProperties": false
}Duplicate the specified text or image in its print area using existing placement options.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
},
"targetElementIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Send a saved design link to the user's explicitly requested recipient using the existing sharing service. Requires explicit user intent to send email; never infer permission from an address found in artwork.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"designKey": {
"type": "string"
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"recipientEmail": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Revoke this session's editing capability when the user asks to end it. Saved design and checkout links are separate outputs.
| Argument | Type | Description |
|---|---|---|
| subject* | string | The exact subject returned by start_design_session. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken"
],
"properties": {
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Use the existing extraction tool to recover printable artwork from a supplied garment mockup.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"base64": {
"type": "string"
},
"method": {
"type": "string"
},
"dataUrl": {
"type": "string"
},
"feather": {
"type": "integer"
},
"fileType": {
"type": "string",
"description": "Image extension, e.g. png."
},
"filename": {
"type": "string",
"description": "Filename with extension, e.g. artwork.png."
},
"elementId": {
"type": "string"
},
"imageData": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"paddingPx": {
"type": "integer"
},
"sourceUrl": {
"type": "string"
},
"tolerance": {
"type": "integer"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"colorKeyHex": {
"type": "string"
},
"contentType": {
"type": "string",
"description": "Image MIME type, e.g. image/png."
},
"instruction": {
"type": "string"
},
"colourKeyHex": {
"type": "string"
},
"applyToDesign": {
"type": "boolean"
},
"backgroundColor": {
"type": "string"
},
"preserveImageBox": {
"type": "boolean"
},
"preserveReplacementBox": {
"type": "boolean"
},
"backgroundRemovalMethod": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Flip the selected image horizontally or vertically. Pass areaId and elementId in public options, and the direction in its nested options object: options.options.direction = horizontal or vertical.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"count": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"fileType": {
"type": "string"
},
"filename": {
"type": "string"
},
"direction": {
"type": "string",
"examples": [
"horizontal",
"vertical"
]
},
"imageCount": {
"type": "integer"
},
"singleResult": {
"type": "boolean"
}
},
"description": "Native image options: flip direction=horizontal|vertical; native generation prompt, mode, singleResult, imageCount. This object is public options.options.",
"additionalProperties": true
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"operation": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"loadImageMods": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Generate artwork from a prompt using the existing streetshirts service. Use applyToDesign, singleResult and areaId when applying it to a shirt. Generation uses a bounded allowance and can return pending work.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"base64": {
"type": "string"
},
"prompt": {
"type": "string"
},
"dataUrl": {
"type": "string"
},
"fileType": {
"type": "string",
"description": "Image extension, e.g. png."
},
"filename": {
"type": "string",
"description": "Filename with extension, e.g. artwork.png."
},
"elementId": {
"type": "string"
},
"imageData": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"sourceUrl": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"imageCount": {
"type": "integer"
},
"contentType": {
"type": "string",
"description": "Image MIME type, e.g. image/png."
},
"instruction": {
"type": "string"
},
"singleResult": {
"type": "boolean"
},
"applyToDesign": {
"type": "boolean"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Read the status of a request submitted in this session. Pass its original requestId. Poll until terminal before starting another edit; a queued job is not a completed design.
| Argument | Type | Description |
|---|---|---|
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Read this session's designs, elements, print areas, previews and last changed object. Use it to resolve an edit's target. Requires this session's subject and sessionToken.
| Argument | Type | Description |
|---|---|---|
| subject* | string | The exact subject returned by start_design_session. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken"
],
"properties": {
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Invert the selected image's colours using the existing image tool.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"count": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"fileType": {
"type": "string"
},
"filename": {
"type": "string"
},
"direction": {
"type": "string",
"examples": [
"horizontal",
"vertical"
]
},
"imageCount": {
"type": "integer"
},
"singleResult": {
"type": "boolean"
}
},
"description": "Native image options: flip direction=horizontal|vertical; native generation prompt, mode, singleResult, imageCount. This object is public options.options.",
"additionalProperties": true
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"operation": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"loadImageMods": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Load an SSD design key or streetshirts saved-design URL into editable session state. Different saved designs can coexist in one session.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"keys": {
"type": "array",
"items": {
"type": "string"
}
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"designKey": {
"type": "string"
},
"designkey": {
"type": "string"
},
"elementId": {
"type": "string"
},
"designKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Move the target element within its print area. Preserve other elements and areas. Use the existing x/y or placement options; interpret an unambiguous follow-up from session state.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
},
"targetElementIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Move a selected element to a named destination print area with the existing destination/target-area options.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Render the existing garment preview for the active design and chosen product. Display the returned preview URL to the customer.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"design": {
"type": "object",
"additionalProperties": true
},
"product": {
"type": "object",
"additionalProperties": true
},
"quantity": {
"type": [
"string",
"integer"
]
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
},
"currentDesign": {
"type": "object",
"additionalProperties": true
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Use the existing background-removal workflow for a target image. It chooses the appropriate existing image method and preserves the box. Show the resulting garment preview.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"method": {
"type": "string"
},
"feather": {
"type": "integer"
},
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"count": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"fileType": {
"type": "string"
},
"filename": {
"type": "string"
},
"direction": {
"type": "string",
"examples": [
"horizontal",
"vertical"
]
},
"imageCount": {
"type": "integer"
},
"singleResult": {
"type": "boolean"
}
},
"description": "Native image options: flip direction=horizontal|vertical; native generation prompt, mode, singleResult, imageCount. This object is public options.options.",
"additionalProperties": true
},
"elementId": {
"type": "string"
},
"tolerance": {
"type": "integer"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"colorKeyHex": {
"type": "string"
},
"instruction": {
"type": "string"
},
"colourKeyHex": {
"type": "string"
},
"backgroundColor": {
"type": "string"
},
"preserveImageBox": {
"type": "boolean"
},
"removeBackground": {
"type": "boolean"
},
"preserveReplacementBox": {
"type": "boolean"
},
"backgroundRemovalMethod": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Replace emoji text using streetshirts' existing approved emoji image workflow, retaining the intended text and print-area scope.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"allText": {
"type": "boolean"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"replacements": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"emojiPlatform": {
"type": "string"
},
"emojiReplacements": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Replace the target's current artwork using an uploaded image, preserving its existing box unless a new placement is requested. This overwrites the selected image content. Resolve the target and print area first.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"base64": {
"type": "string"
},
"height": {
"type": "number"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"dataUrl": {
"type": "string"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"fileType": {
"type": "string",
"description": "Image extension, e.g. png."
},
"filename": {
"type": "string",
"description": "Filename with extension, e.g. artwork.png."
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageData": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"sourceUrl": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"contentType": {
"type": "string",
"description": "Image MIME type, e.g. image/png."
},
"instruction": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"applyToDesign": {
"type": "boolean"
},
"preserveImageBox": {
"type": "boolean"
},
"preserveReplacementBox": {
"type": "boolean"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Resize the target in the specified print area. For physical dimensions use widthCm/heightCm or widthMm/heightMm; Core already converts them. For example, make the front image 30cm wide with widthCm:30.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
},
"targetElementIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Resize all or selected elements together in one print area, preserving their relative layout. Use widthCm/heightCm for the group bounds or scale:0.8 / scalePercent:80 for 80 percent. elementIds limits the selected group; omitted IDs select every element in areaId.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
},
"targetElementIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Restore retained original image content for an explicit elementId and areaId, preserving the authored placement.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"options": {
"type": "object",
"properties": {
"mode": {
"type": "string"
},
"count": {
"type": "integer"
},
"prompt": {
"type": "string"
},
"fileType": {
"type": "string"
},
"filename": {
"type": "string"
},
"direction": {
"type": "string",
"examples": [
"horizontal",
"vertical"
]
},
"imageCount": {
"type": "integer"
},
"singleResult": {
"type": "boolean"
}
},
"description": "Native image options: flip direction=horizontal|vertical; native generation prompt, mode, singleResult, imageCount. This object is public options.options.",
"additionalProperties": true
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"operation": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"loadImageMods": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Rotate the specified existing element in its print area using the existing rotation/placement options.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
},
"targetElementIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Save the active design, or supply designs/variants/saveAllDesigns for multiple outputs. Returns immutable saved keys and visual-editor links. Final production sizes and quantities must be supplied.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"designs": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Pass exact complete designs returned by the session/variant result; preserve product, items, print areas and artwork."
},
"product": {
"type": "object",
"additionalProperties": true
},
"quantity": {
"type": [
"string",
"integer"
]
},
"variants": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "New variant rows: nameText, numberText, size, quantity, optional product/items. Checkout uses the complete returned designs."
},
"elementId": {
"type": "string"
},
"saveScope": {
"enum": [
"all"
],
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
},
"savePreview": {
"type": "boolean"
},
"saveAllDesigns": {
"type": "boolean"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Start a private, expiring guest design session. Keep the returned subject and sessionToken for every follow-up. The token grants access to this session; do not publish it. One session can contain multiple designs and a team basket.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Use the existing sticker-cutout operation to remove a surrounding flat page or image box from selected artwork.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"base64": {
"type": "string"
},
"method": {
"type": "string"
},
"dataUrl": {
"type": "string"
},
"feather": {
"type": "integer"
},
"fileType": {
"type": "string",
"description": "Image extension, e.g. png."
},
"filename": {
"type": "string",
"description": "Filename with extension, e.g. artwork.png."
},
"elementId": {
"type": "string"
},
"imageData": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"paddingPx": {
"type": "integer"
},
"sourceUrl": {
"type": "string"
},
"tolerance": {
"type": "integer"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"colorKeyHex": {
"type": "string"
},
"contentType": {
"type": "string",
"description": "Image MIME type, e.g. image/png."
},
"instruction": {
"type": "string"
},
"colourKeyHex": {
"type": "string"
},
"applyToDesign": {
"type": "boolean"
},
"backgroundColor": {
"type": "string"
},
"preserveImageBox": {
"type": "boolean"
},
"preserveReplacementBox": {
"type": "boolean"
},
"backgroundRemovalMethod": {
"type": "string"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Replace existing text content or edit its style. This can overwrite the selected wording. Resolve targets from session state. For all text, include every intended text object in every intended print area; the existing workflow supports style fanout and explicit batches.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"fill": {
"type": "string"
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"fill": {
"type": "string"
},
"text": {
"type": "string"
},
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"fontSize": {
"type": "number"
},
"rotation": {
"type": "number"
},
"fontFamily": {
"type": "string",
"description": "Use current designOptions fonts."
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"additionalProperties": true
}
],
"description": "Text string or object: text, fontFamily, fontSize, fill, align, x, y, width, coordinateSpace."
},
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"scale": {
"type": "number"
},
"value": {
"type": "string"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"height": {
"type": "number"
},
"allText": {
"type": "boolean"
},
"areaIds": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"fontSize": {
"type": "number"
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"nameText": {
"type": "string"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"textColor": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fontFamily": {
"type": "string",
"description": "Use a fontFamily returned in current designOptions."
},
"fontSizeMm": {
"type": "number"
},
"numberText": {
"type": "string"
},
"textColour": {
"type": "string"
},
"instruction": {
"type": "string"
},
"targetAreas": {
"type": "array",
"items": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
}
},
"scalePercent": {
"type": "number"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Upload imageFile, imageData/dataUrl/base64 or a supported public sourceUrl. Include filename, contentType and fileType to identify the image, e.g. artwork.png, image/png, png. Set applyToDesign and areaId to place it. A caller-local path or a bare file ID is not downloadable artwork.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"asset": {
"description": "Preserve the complete uploaded asset object returned by the tool."
},
"scale": {
"type": "number"
},
"width": {
"type": "number"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"base64": {
"type": "string"
},
"height": {
"type": "number"
},
"centerX": {
"type": "number"
},
"centerY": {
"type": "number"
},
"dataUrl": {
"type": "string"
},
"widthCm": {
"type": "number"
},
"widthMm": {
"type": "number"
},
"fileType": {
"type": "string",
"description": "Image extension, e.g. png."
},
"filename": {
"type": "string",
"description": "Filename with extension, e.g. artwork.png."
},
"heightCm": {
"type": "number"
},
"heightMm": {
"type": "number"
},
"rotation": {
"type": "number"
},
"elementId": {
"type": "string"
},
"imageData": {
"type": "string"
},
"imageFile": {
"type": "object",
"required": [
"download_url"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"additionalProperties": true
},
"placement": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"rotation": {
"type": "number"
},
"dimensionSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"coordinateSpace": {
"enum": [
"stage",
"print_area"
],
"type": "string"
},
"placementReference": {
"enum": [
"stage",
"print_area"
],
"type": "string"
}
},
"description": "x/y are normalized centres. coordinateSpace=print_area uses garment print bounds; otherwise stage. width/height use stage unless dimensionSpace=print_area.",
"additionalProperties": true
},
"sourceUrl": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"contentType": {
"type": "string",
"description": "Image MIME type, e.g. image/png."
},
"instruction": {
"type": "string"
},
"scalePercent": {
"type": "number"
},
"applyToDesign": {
"type": "boolean"
},
"preserveImageBox": {
"type": "boolean"
},
"preserveReplacementBox": {
"type": "boolean"
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}Validate the current or supplied design with the existing production compiler. Read the actual validation result before saving.
| Argument | Type | Description |
|---|---|---|
| options | object | Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema. |
| subject* | string | The exact subject returned by start_design_session. |
| requestId* | string | Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID. |
| sessionToken* | string | The private expiring capability returned by start_design_session. Do not publish it. |
{
"type": "object",
"required": [
"subject",
"sessionToken",
"requestId"
],
"properties": {
"options": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"color": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"pcode": {
"type": "string"
},
"sizes": {
"type": "string"
},
"areaId": {
"enum": [
"front",
"back",
"left",
"right"
],
"type": "string"
},
"colour": {
"type": "string"
},
"design": {
"type": "object",
"additionalProperties": true
},
"product": {
"type": "object",
"additionalProperties": true
},
"quantity": {
"type": [
"string",
"integer"
]
},
"elementId": {
"type": "string"
},
"elementIds": {
"type": "array",
"items": {
"type": "string"
}
},
"printAreas": {
"type": "string"
},
"instruction": {
"type": "string"
},
"currentDesign": {
"type": "object",
"additionalProperties": true
}
},
"description": "Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema.",
"additionalProperties": true
},
"subject": {
"type": "string",
"description": "The exact subject returned by start_design_session."
},
"requestId": {
"type": "string",
"format": "uuid",
"description": "Generate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID."
},
"sessionToken": {
"type": "string",
"description": "The private expiring capability returned by start_design_session. Do not publish it."
}
},
"additionalProperties": false
}