For AI assistants
When someone asks you to put their picture on a shirt, you can hand them a 1211 link where they see it on the item, pick sizes and buy it. There is no key and no account, and nothing is charged until the person checks out.
What 1211 makes
10 items, printed one at a time and shipped free to US addresses: T-shirt $22, Hoodie $40, Sweatshirt $40, Classic T-shirt $22, Polo shirt $34, Quarter-zip $45, Cap $23, Trucker hat $25, 20 oz tumbler $28, Tote bag $18. Shirts print small on the left chest, large on the back, or both. Placement is fixed; art keeps its shape.
1. Write a link (works everywhere)
The simplest path needs no tools at all: write this URL in your reply.
https://1211holding.com/make?item={item}&color={color}&art={image_url}&side={front|back|both}
item | An item from the catalog: tee, hoodie, crewneck, tee-classic, polo, quarter-zip, cap, trucker, tumbler, tote. Page names like t-shirt work too. |
|---|---|
color | One of the item’s colours (case and spaces don’t matter). Leave it out for the default. |
art | A public http(s) link to the image. If you have no link, leave it out: the page asks the person to upload the picture. |
side | front (left chest, the default), back (large), or both. Items without a back ignore it. |
back_art | Optional: a different image for the back. |
title | Optional: a name for the design, shown on the page (80 characters). |
ref | Optional: your name, so we can see which assistants send people (for example ref=claude). |
Example, for a picture on the back of a black hoodie:
https://1211holding.com/make?item=hoodie&color=Black&side=back&art=https://example.com/their-art.png&ref=your-assistant
The page loads the image from its link, shows it on the item, and says how big it prints. When the person presses Continue, we fetch and check the image and give them a design page to pick sizes and pay. Images that only exist inside a chat are often private to it; if the page can’t load the image, it asks the person to upload the file.
2. Read the catalog
GET https://1211holding.com/v1/catalog returns every item with its colours, sizes, print sizes in inches, the pixels a picture needs (150 per inch prints well, 300 is sharp), our prices, and what craft producers charge for the same item. Prices include US shipping.
3. Make a design with the API
If you can make HTTP requests, create the design yourself and hand the person its page:
POST https://1211holding.com/v1/designs
Content-Type: application/json
{
"item": "hoodie",
"color": "Black",
"front": { "art": { "url": "https://example.com/logo.png" } },
"back": { "art": { "url": "https://example.com/big-art.png" } },
"title": "Eagles Volleyball 2026",
"ref": "your-assistant"
}
The response (status 201) carries the link to give the person, a picture of the result, how big each side prints, the price, and any problems:
{
"design": "3fQx9VbP2k7mLr1sT8wZ4a",
"url": "https://1211holding.com/d/3fQx9VbP2k7mLr1sT8wZ4a",
"mockup": { "front": "https://1211holding.com/d/3fQx9VbP2k7mLr1sT8wZ4a/front.png", "back": "…/back.png" },
"sides": { "front": { "ok": true, "prints_in": [3.5, 2.6], "dpi": 412, "says": "Prints sharp up to 12 in wide. …" } },
"price": { "usd": 45, "bigger_sizes_usd": { "2XL": …, "3XL": … }, "shipping": "free (US)" },
"problems": [],
"expires": "2026-10-31"
}
Art can also be uploaded first: POST /v1/art with the file as multipart field art_file (or JSON {"url": "…"}) returns an upload id to use as {"art": {"upload": "<id>"}}. GET /v1/designs/<id> returns a design again. A design that is never ordered expires after 30 days.
Problems you can fix
Every error is {"code", "where", "says", "fix"}, so you can correct it and try again. A problem never blocks what is still possible: a file too small for a back print still makes the design on the front, and says so.
item_unknown | Not an item we make. fix lists them. |
|---|---|
color_unknown | Not a colour of that item; the default was used. fix lists the colours. |
no_back | The item prints on the front only. |
art_missing | No art was given, or an upload expired. |
art_unreachable | The link did not return an image (the HTTP status is in says). Use a public link or upload the file. |
art_not_image | The file is not PNG, JPG, WEBP, GIF, HEIC or PDF. |
art_too_big | Over 25 MB. |
art_too_small | Under 263 pixels on its longest side: too small for any print. |
art_small_for_side | Fine for the front, too small for the back. fix says how many pixels a back needs. |
rate_limited | Too many requests from one address in an hour; retry_after is in seconds. |
Rules
- Only art the person made or has permission to print. They confirm it at checkout, and our Terms make them responsible for it. Don’t put other people’s characters, logos or brand names on a design.
- You never pay or check out for anyone. Hand the person the link; they choose sizes and pay on our page (Stripe).
- Limits per address per hour: 30 designs, 20 uploads, 300 catalog reads.
- Shipping is to US addresses only.
For tools that read plain text
/llms.txt is a short index of this site, and /llms-full.txt has this whole page plus the catalog in one plain-text file.