Print a photo or idea on a poster, canvas, mug, t-shirt, card or puzzle, with proof and price.
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.
Create a new design with our image model, fitted to the product (aspect ratio, transparent background for clothing). Takes about 45 seconds.
Product reference
Rich description of the image: subject, pose, style, colours, mood
Exact text on the design, only if the user wants text
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a new design with our image model, fitted to the product (aspect ratio, transparent background for clothing). Takes about 45 seconds.
| Argument | Type | Description |
|---|---|---|
| text | any | Exact text on the design, only if the user wants text |
| product* | string | Product reference |
| description* | string | Rich description of the image: subject, pose, style, colours, mood |
{
"type": "object",
"title": "maak_ontwerpArguments",
"required": [
"description",
"product"
],
"properties": {
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Text",
"default": null,
"description": "Exact text on the design, only if the user wants text"
},
"product": {
"type": "string",
"title": "Product",
"description": "Product reference"
},
"description": {
"type": "string",
"title": "Description",
"description": "Rich description of the image: subject, pose, style, colours, mood"
}
}
}Makes the print-ready files and a mockup that shows exactly what will be printed. Returns a proof id.
| Argument | Type | Description |
|---|---|---|
| design* | string | Design id (ont_...) |
| options | any | Options as {type: value} from get_product, e.g. {'type_garment_size': 'l', 'colours_garment': 'Black'} |
| product* | string | Product reference |
| language | string | Language of the user for text on the product (calendar months): nl, en, de, fr, es |
| quantity | integer | Number of copies |
{
"type": "object",
"title": "maak_proefArguments",
"required": [
"design",
"product"
],
"properties": {
"design": {
"type": "string",
"title": "Design",
"description": "Design id (ont_...)"
},
"options": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Options",
"default": null,
"description": "Options as {type: value} from get_product, e.g. {'type_garment_size': 'l', 'colours_garment': 'Black'}"
},
"product": {
"type": "string",
"title": "Product",
"description": "Product reference"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "Language of the user for text on the product (calendar months): nl, en, de, fr, es"
},
"quantity": {
"type": "integer",
"title": "Quantity",
"default": 1,
"maximum": 1500,
"minimum": 1,
"description": "Number of copies"
}
}
}Change a design or the user's own photo in plain words: add a short text, a name or a date, add a frame, change colours or remove something. Only that change is made. Creates a new design; the original is kept. Takes about 45 seconds.
| Argument | Type | Description |
|---|---|---|
| design* | string | Design id (ont_...) |
| product | any | Product reference it will be printed on; the result then gets the shape of that product (e.g. wide for a mug), with text inside the printed area |
| instruction* | string | What should change |
{
"type": "object",
"title": "bewerk_ontwerpArguments",
"required": [
"design",
"instruction"
],
"properties": {
"design": {
"type": "string",
"title": "Design",
"description": "Design id (ont_...)"
},
"product": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product",
"default": null,
"description": "Product reference it will be printed on; the result then gets the shape of that product (e.g. wide for a mug), with text inside the printed area"
},
"instruction": {
"type": "string",
"title": "Instruction",
"description": "What should change"
}
}
}Status and tracking of an order.
| Argument | Type | Description |
|---|---|---|
| order* | string | Order number, format GP-XXXXXXXX |
{
"type": "object",
"title": "order_statusArguments",
"required": [
"order"
],
"properties": {
"order": {
"type": "string",
"title": "Order",
"description": "Order number, format GP-XXXXXXXX"
}
}
}Price including shipping and VAT for the delivery country. This is exactly what the user pays.
| Argument | Type | Description |
|---|---|---|
| proof* | string | Proof id (prf_...) |
| state | any | US and Canada only: state or province (NY, CA, ON, BC, ...) |
| country* | string | Delivery country, ISO code (NL, DE, US, ...) |
| postcode | any | Spain and Canada only: postcode, needed for the shipping price |
{
"type": "object",
"title": "bereken_prijsArguments",
"required": [
"proof",
"country"
],
"properties": {
"proof": {
"type": "string",
"title": "Proof",
"description": "Proof id (prf_...)"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null,
"description": "US and Canada only: state or province (NY, CA, ON, BC, ...)"
},
"country": {
"type": "string",
"title": "Country",
"maxLength": 2,
"minLength": 2,
"description": "Delivery country, ISO code (NL, DE, US, ...)"
},
"postcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Postcode",
"default": null,
"description": "Spain and Canada only: postcode, needed for the shipping price"
}
}
}Details of one product: options (size, colour, paper, frame), quantities and dimensions.
| Argument | Type | Description |
|---|---|---|
| product* | string | Product reference from search_products |
{
"type": "object",
"title": "toon_productArguments",
"required": [
"product"
],
"properties": {
"product": {
"type": "string",
"title": "Product",
"description": "Product reference from search_products"
}
}
}Checks whether the user uploaded a file through the upload link; returns the design id when it is there.
| Argument | Type | Description |
|---|---|---|
| upload* | string | Upload id (upl_...) |
{
"type": "object",
"title": "upload_statusArguments",
"required": [
"upload"
],
"properties": {
"upload": {
"type": "string",
"title": "Upload",
"description": "Upload id (upl_...)"
}
}
}Returns a secure link (valid 24 hours) where the user uploads their own photo, drawing or design from their device.
| Argument | Type | Description |
|---|---|---|
| product | any | Optional: product reference |
{
"type": "object",
"title": "upload_linkArguments",
"properties": {
"product": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product",
"default": null,
"description": "Optional: product reference"
}
}
}Creates an unpaid order for an approved proof and returns the link to the checkout page on myimage2life.com (Stripe). Nothing is printed before payment.
| Argument | Type | Description |
|---|---|---|
| price* | string | Price id (prs_...) from get_price |
{
"type": "object",
"title": "bestellenArguments",
"required": [
"price"
],
"properties": {
"price": {
"type": "string",
"title": "Price",
"description": "Price id (prs_...) from get_price"
}
}
}Redraws a design or the user's own photo in an illustration style, keeping people and animals recognisable and their colours the same. Creates a new design; the original is kept. Takes about 45 seconds.
| Argument | Type | Description |
|---|---|---|
| style* | string | Illustration style |
| design* | string | Design id (ont_...), also for an uploaded photo |
| details | any | Optional extra wish, e.g. 'warm autumn colours' or 'white background' |
| product | any | Product reference it will be printed on; the result then gets the shape of that product (e.g. wide for a mug), with text inside the printed area |
{
"type": "object",
"title": "hertekenArguments",
"required": [
"design",
"style"
],
"properties": {
"style": {
"enum": [
"watercolour",
"cartoon",
"pencil",
"line-art",
"pop-art",
"oil-painting",
"storybook"
],
"type": "string",
"title": "Style",
"description": "Illustration style"
},
"design": {
"type": "string",
"title": "Design",
"description": "Design id (ont_...), also for an uploaded photo"
},
"details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Details",
"default": null,
"description": "Optional extra wish, e.g. 'warm autumn colours' or 'white background'"
},
"product": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product",
"default": null,
"description": "Product reference it will be printed on; the result then gets the shape of that product (e.g. wide for a mug), with text inside the printed area"
}
}
}Search printable products. Returns a reference, name and size per product.
| Argument | Type | Description |
|---|---|---|
| group | any | Optional group: poster, wall_art, clothing, mug, card, calendar, puzzle, photo_book, home, sticker |
| query* | string | What the user wants, e.g. 'black t-shirt' or 'poster 50x70' |
{
"type": "object",
"title": "zoek_productenArguments",
"required": [
"query"
],
"properties": {
"group": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Group",
"default": null,
"description": "Optional group: poster, wall_art, clothing, mug, card, calendar, puzzle, photo_book, home, sticker"
},
"query": {
"type": "string",
"title": "Query",
"description": "What the user wants, e.g. 'black t-shirt' or 'poster 50x70'"
}
}
}Use an image the user put in the chat as the design.
| Argument | Type | Description |
|---|---|---|
| file* | object | File from the chat |
{
"type": "object",
"title": "ontvang_bestandArguments",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"title": "File",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
},
"description": "File from the chat",
"additionalProperties": true
}
}
}