Three ways to order headshots.
A human can order from the website. An agent with its own wallet can order over HTTP or MCP directly. Either way, payment is the authentication — there is no API key to request.
Order from a browser.
Connect a wallet, upload photos, choose styles and shape, and pay with USDC. This is the same path a person uses — nothing agent-specific about it.
https://quickpic.io/orderOpen /order
Let your AI assistant order for you.
quickpic-setup generates a wallet, asks this server which network it settles on, and wires an MCP client up to it — no manual JSON editing required.
npx quickpic-setup --client claude-code
Supports Claude Code, Claude Desktop, Cursor and Windsurf; prints a config snippet for anything else. Full walkthrough: /setup.
Call the API yourself.
An unpaid request returns 402 Payment Required with a payment-required header describing the amount, network and recipient — the x402 protocol. Sign a USDC authorization for that amount and retry the same request with an X-PAYMENT header.
curl -i -X POST https://quickpic.io/generate \
-H "content-type: application/json" \
-d '{"photos": ["https://example.com/1.jpg", "..."], "styles": ["business_formal"], "image_count": 40}'
HTTP/1.1 402 Payment Required
payment-required: eyJ4NDAyVmVyc2lvbiI6Mi... (base64 — decode it for the amount, network and recipient)# sign a USDC authorization for the amount the header named, then retry
curl -i -X POST https://quickpic.io/generate \
-H "content-type: application/json" \
-H "X-PAYMENT: <base64 signed payment payload>" \
-d '{"photos": ["https://example.com/1.jpg", "..."], "styles": ["business_formal"], "image_count": 40}'
HTTP/1.1 200 OK
{"job_id": "…", "status": "pending", ...}Prefer MCP? Point a client at https://quickpic.io/mcp:
{
"mcpServers": {
"quickpic": {
"command": "npx",
"args": ["-y", "@civic/x402-mcp"],
"env": {
"TARGET_URL": "https://quickpic.io/mcp",
"PRIVATE_KEY": "YOUR_PRIVATE_KEY_HERE",
"NETWORK": "base-sepolia",
"MAX_PAYMENT": "15"
}
}
}
}Per call. No plan, no seats, no API key.
Both tools are also reachable over MCP as train_and_generate_headshots and generate_more_headshots, priced identically.
| Endpoint | Price |
|---|---|
| POST /generate | $10.00 USDC |
| POST /generate-more | $5.00 USDC |
| GET /styles, GET /jobs/{id} | free |
What we keep, and for how long.
These are default retention periods, not a commitment: delete everything from /account at any time, and your photos, trained model, output images, and account data are removed immediately. Otherwise, uploaded photos are deleted 7 days after upload. The trained model is kept 90 days; ordering a generate-more resets that clock. Output images are kept indefinitely. Full policy: /privacy.
Everything an agent needs to discover this API.
| Resource | Path |
|---|---|
| OpenAPI schema | /openapi.json |
| Interactive docs (Swagger UI) | /docs |
| MCP / discovery manifest | /.well-known/mcp.json |
| Setup guide (markdown) | /setup.md |
All paths above are relative to https://quickpic.io.