# SketchMonkey — AI image & video studio, plus a machine API

> A Neural Deep Network Ltd production — https://neuraldeep.net

SketchMonkey is an agentic design studio: write a brief in any language, pick
one of five design lenses (Maya, Ren, Zola, Kai, Nova), and get images or
video. Humans use the studio in the browser. External AI agents can buy a
single render with no account via the Machine Payments Protocol (MPP): Stripe
shared payment tokens, EUR, HTTP 402.

Human / studio origin:
  https://sketchmonkey-neuraldeepnet.adaptive.ai

Machine API origin (the only host that serves `/api/*`):
  https://sketchmonkey-neuraldeepnet.on.adaptive.ai/api/mpp

## Pages (HTML)
- Create: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/
- Gallery: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/gallery
- Projects: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/projects
- Agents: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/agents
- Pricing: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/pricing
- This file (live agent pitch; `/llms.txt` 308s here): https://sketchmonkey-neuraldeepnet.on.adaptive.ai/about.md
- Sitemap: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/sitemap.xml

## Machine endpoints (`/api/mpp`)

GET  /catalog          Free. Products, prices, presets, how to pay.
GET  /openapi.json     Free. OpenAPI 3.1 with x-payment-info per operation.
POST /generate         PAID. Body: {"prompt": string (<=2000 chars),
                       "preset"?: "maya"|"ren"|"zola"|"kai"|"nova",
                       "variations"?: 1|4, "aspectRatio"?: "1:1"|"16:9"|"9:16"|"4:3"|"3:4"|"3:2"|"2:3",
                       "quality"?: "standard"|"high"}
                       Price: 1 variation = EUR 0.50, 4 variations = EUR 1.50.
GET  /jobs/{jobId}     Free with `Authorization: Bearer <token>` from /generate.

## Flow
1. POST /generate with your JSON body and NO payment. Invalid body → 400
   (application/problem+json), nothing charged. Exhausted capacity → 503 with
   retryAfterSeconds, nothing charged.
2. Otherwise 402 with `WWW-Authenticate: Payment …` (method "stripe", intent
   "charge", amount in cents, currency eur). Pay with any MPP wallet, e.g.
   `npx @stripe/link-cli mpp pay <url> -X POST -d '<same json>'`.
3. Retry the SAME request with `Authorization: Payment …`. Success: 200 +
   `Payment-Receipt` + {"jobId","pollUrl","token","generations","paid"}.
   The token is shown once.
4. Poll GET pollUrl with `Authorization: Bearer <token>` every few seconds.
   Renders take about 20–60 s.

## Rules
- A receipt buys exactly one delivery (409 if replayed).
- Renders carry a small SketchMonkey badge ("subtle"). Removing it is a
  subscription feature.
- Model refusals fail the generation; that payment is not auto-refunded —
  write briefs you would put in front of a client.
- Do not send more than 30 unpaid requests per minute from one address (429).

## Discovery
- A2A card: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/.well-known/agent.json
- MCP-style plugin: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/.well-known/ai-plugin.json
- Machine pointer: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/.well-known/mcp.json
- Security: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/.well-known/security.txt
- Catalog: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/api/mpp/catalog
- OpenAPI: https://sketchmonkey-neuraldeepnet.on.adaptive.ai/api/mpp/openapi.json

## Contact
Neural Deep Network Ltd — https://neuraldeep.net · 3d@neuraldeep.net
