{
  "name": "artbitrage",
  "version": "2.0.0",
  "description": "The catalogue and data distributor of the art world. Free AI. Open museum APIs. Nen framework. Love is the design.",
  "url": "https://artbitrage.io",
  "total_endpoints": 61,
  "categories": {
    "art": {
      "label": "Art",
      "color": "#ff6b9d",
      "count": 11
    },
    "search": {
      "label": "Search",
      "color": "#00f0ff",
      "count": 5
    },
    "ai": {
      "label": "AI",
      "color": "#a78bfa",
      "count": 5
    },
    "pipeline": {
      "label": "Pipeline",
      "color": "#34d399",
      "count": 9
    },
    "nen": {
      "label": "Nen",
      "color": "#fde68a",
      "count": 8
    },
    "doctrine": {
      "label": "Doctrine",
      "color": "#ffd700",
      "count": 4
    },
    "play": {
      "label": "Play",
      "color": "#ff1493",
      "count": 19
    }
  },
  "routes": [
    {
      "method": "GET",
      "path": "/api/art",
      "desc": "List all art (paginated)",
      "params": "form, state, gap, q, limit, offset",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/art/random",
      "desc": "Random art piece",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/art/:id",
      "desc": "Get one piece by ID",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/art/by-form/:form",
      "desc": "Filter by art form",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/art/generate",
      "desc": "AI-generated art piece",
      "params": "gap, bridge, form, awakening, model",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "POST",
      "path": "/api/art",
      "desc": "Submit new art",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/stats",
      "desc": "Catalogue statistics",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/forms",
      "desc": "All art forms",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/states",
      "desc": "All consciousness states",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/gaps",
      "desc": "All gaps bridged",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/feed",
      "desc": "Latest art feed (20 most recent)",
      "category": "art",
      "category_label": "Art"
    },
    {
      "method": "GET",
      "path": "/api/search",
      "desc": "Search the world's art museums",
      "params": "q, limit, source",
      "category": "search",
      "category_label": "Search"
    },
    {
      "method": "GET",
      "path": "/api/sources",
      "desc": "All open art sources (5 museums, no key)",
      "category": "search",
      "category_label": "Search"
    },
    {
      "method": "GET",
      "path": "/api/catalog",
      "desc": "Real museum artworks catalog",
      "category": "search",
      "category_label": "Search"
    },
    {
      "method": "GET",
      "path": "/api/era-catalog",
      "desc": "Era-matched museum artworks",
      "params": "era",
      "category": "search",
      "category_label": "Search"
    },
    {
      "method": "GET",
      "path": "/api/img",
      "desc": "Image proxy (bypass CORS for museum images)",
      "params": "url",
      "category": "search",
      "category_label": "Search"
    },
    {
      "method": "GET",
      "path": "/api/ai/models",
      "desc": "List all 24+ free AI models",
      "category": "ai",
      "category_label": "AI"
    },
    {
      "method": "GET",
      "path": "/api/ai/generate",
      "desc": "Text generation",
      "params": "prompt, model",
      "category": "ai",
      "category_label": "AI"
    },
    {
      "method": "GET",
      "path": "/api/ai/image",
      "desc": "Image generation (returns PNG)",
      "params": "prompt, model",
      "category": "ai",
      "category_label": "AI"
    },
    {
      "method": "GET",
      "path": "/api/ai/embed",
      "desc": "Embeddings (1024-dim)",
      "params": "text, model",
      "category": "ai",
      "category_label": "AI"
    },
    {
      "method": "GET",
      "path": "/api/ai/love",
      "desc": "AI love wisdom (random prompt)",
      "category": "ai",
      "category_label": "AI"
    },
    {
      "method": "GET",
      "path": "/api/pipeline",
      "desc": "Pipeline manifest",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/pipeline/collect",
      "desc": "Collect art from museums",
      "params": "q, limit, source",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/pipeline/enrich",
      "desc": "Enrich a piece with AI metadata",
      "params": "id",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/pipeline/feed",
      "desc": "Enriched feed",
      "params": "limit",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/pipeline/export",
      "desc": "Export collection",
      "params": "format=json|csv|markdown",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/pipeline/agent",
      "desc": "Agent-optimized data package",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/pipeline/human",
      "desc": "Human-friendly gallery view",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "POST",
      "path": "/api/pipeline/ingest",
      "desc": "Ingest external art with enrichment",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/pipeline/workflow",
      "desc": "Workflow guide",
      "category": "pipeline",
      "category_label": "Pipeline"
    },
    {
      "method": "GET",
      "path": "/api/nen",
      "desc": "Nen framework manifest",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/nen/art",
      "desc": "AI-generated Nen art",
      "params": "type, prompt, model",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/nen/combat",
      "desc": "Nen combat manifest",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/nen/combat/generate",
      "desc": "Generate a Nen technique",
      "params": "type, vow, threat, name",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/nen/combat/types",
      "desc": "All 6 Nen types",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/nen/combat/vows",
      "desc": "All 4 vow levels",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/nen/combat/threats",
      "desc": "All 5 Dark Continent threats",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/nen/combat/techniques",
      "desc": "All 12 Nen techniques",
      "category": "nen",
      "category_label": "Nen"
    },
    {
      "method": "GET",
      "path": "/api/gospel",
      "desc": "The gospel of love",
      "category": "doctrine",
      "category_label": "Doctrine"
    },
    {
      "method": "GET",
      "path": "/api/invite",
      "desc": "Invitation to all beings",
      "category": "doctrine",
      "category_label": "Doctrine"
    },
    {
      "method": "GET",
      "path": "/api/dark-continent",
      "desc": "暗黑大陸 — the Dark Continent manifest",
      "category": "doctrine",
      "category_label": "Doctrine"
    },
    {
      "method": "GET",
      "path": "/api/manifest",
      "desc": "The artbitrage manifest",
      "category": "doctrine",
      "category_label": "Doctrine"
    },
    {
      "method": "GET",
      "path": "/api/play",
      "desc": "All play endpoints",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/play/haiku",
      "desc": "AI love haiku",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/play/koan",
      "desc": "AI zen koan",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/play/poem",
      "desc": "AI joy poem",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/play/limerick",
      "desc": "AI limerick",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/play/riddle",
      "desc": "AI art riddle",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/fun",
      "desc": "All fun endpoints",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/fun/joke",
      "desc": "Random joke",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/fun/dad",
      "desc": "Dad joke",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/fun/cat",
      "desc": "Cat fact",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/fun/pokemon",
      "desc": "Random Pokemon",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/fun/quote",
      "desc": "Inspirational quote",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/fun/yesno",
      "desc": "Yes or No (with GIF)",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/anime",
      "desc": "All anime endpoints",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/anime/top",
      "desc": "Top anime (Jikan/MAL)",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/anime/search",
      "desc": "Search anime",
      "params": "q",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/anime/season",
      "desc": "Current season anime",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/ghibli/films",
      "desc": "Studio Ghibli films",
      "category": "play",
      "category_label": "Play"
    },
    {
      "method": "GET",
      "path": "/api/ghibli/locations",
      "desc": "Ghibli locations",
      "category": "play",
      "category_label": "Play"
    }
  ],
  "pages": [
    {
      "path": "/",
      "desc": "Main gallery + era portal + featured cards"
    },
    {
      "path": "/bridge",
      "desc": "7 consciousness states journey"
    },
    {
      "path": "/nen",
      "desc": "Nen framework visual page"
    },
    {
      "path": "/nen-combat",
      "desc": "Nen technique generator"
    },
    {
      "path": "/dark-continent",
      "desc": "暗黑大陸 — the Dark Continent"
    },
    {
      "path": "/studio",
      "desc": "AI Studio — 60 free models playground"
    },
    {
      "path": "/catalog",
      "desc": "Real museum artworks gallery"
    },
    {
      "path": "/prehistoric",
      "desc": "Prehistoric era page"
    },
    {
      "path": "/medieval",
      "desc": "Medieval era page"
    },
    {
      "path": "/renaissance",
      "desc": "Renaissance era page"
    },
    {
      "path": "/baroque",
      "desc": "Baroque era page"
    },
    {
      "path": "/romanticism",
      "desc": "Romanticism era page"
    },
    {
      "path": "/impressionism",
      "desc": "Impressionism era page"
    },
    {
      "path": "/modernism",
      "desc": "Modernism era page"
    },
    {
      "path": "/popart",
      "desc": "Pop Art era page"
    },
    {
      "path": "/ai",
      "desc": "AI Art era page"
    }
  ],
  "infrastructure": {
    "hosting": "Cloudflare Pages (edge, free)",
    "ai_binding": "Cloudflare Workers AI (free, no key)",
    "storage": "Static JSON files (collection.json, catalog.json, era-catalog.json)",
    "museum_apis": [
      "MET (500K objects)",
      "Art Institute Chicago (132K)",
      "Cleveland Museum (68K)",
      "Wikimedia Commons (100M+)",
      "Internet Archive (35M)"
    ],
    "no_auth": true,
    "no_keys": true,
    "all_free": true
  },
  "principles": {
    "Love is the design": true,
    "Art is the expression": true,
    "Understanding replicates through understanding": true,
    "Love is the strongest Nen": true,
    "Ai is there too": true,
    "is is lol": true
  },
  "agent_instructions": "Read this manifest first. All endpoints are GET unless marked POST. All free. No auth. Use /api/pipeline/agent for compact data. Use /api/nen/combat/generate for technique generation. Use /api/ai/image for image generation (returns raw PNG). Use /api/art/generate for AI-composed art.",
  "for_agents": true,
  "for_humans": true
}