Skip to content
Back to FrameAnyPhoto

Card snapshot

frameanyphoto.com · 2026-10-09 03:17:33 UTC · 716d0e89f03a31f30032c262402d1874598e46553e0365b13dd51f84f433ac44

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "FrameAnyPhoto",
  "url": "https://frameanyphoto.com/a2a",
  "description": "Museum-quality framed prints of public-domain art. Agents can search works, price prints, and create a Stripe checkout link for the buyer to pay.",
  "version": "1.1.0",
  "documentationUrl": "https://frameanyphoto.com/llms.txt",
  "iconUrl": null,
  "defaultInputModes": [
    "text",
    "application/json"
  ],
  "defaultOutputModes": [
    "text",
    "application/json"
  ],
  "skills": [
    {
      "id": "search-works",
      "name": "Search works",
      "description": "Find works by title, artist, series, or keywords. Send text.",
      "tags": [
        "collection",
        "search"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "get-work",
      "name": "Get work",
      "description": "One work\u2019s id, size in pixels, PPI, image URL, and museum record.",
      "tags": [
        "collection"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "list-series",
      "name": "List series",
      "description": "Collection rows and work counts.",
      "tags": [
        "collection"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "get-print-options",
      "name": "Print options",
      "description": "Sizes, frames, and prices offered for one work.",
      "tags": [
        "order",
        "price"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "quote-order",
      "name": "Quote order",
      "description": "Total for a work, size, frame, and quantity, with shipping. Tax is added at checkout.",
      "tags": [
        "order",
        "price"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "create-checkout",
      "name": "Create checkout",
      "description": "Stripe Checkout link for the buyer to pay. Never charges a card.",
      "tags": [
        "order",
        "checkout"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "get-order-status",
      "name": "Order status",
      "description": "Payment and shipping status for an order_ref from create-checkout. No personal data.",
      "tags": [
        "order"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    },
    {
      "id": "get-policies",
      "name": "Store policies",
      "description": "Shipping, returns, payment, tax, and contact (ceo@frameanyphoto.com) as JSON. Also at https://frameanyphoto.com/.well-known/policies.json.",
      "tags": [
        "order",
        "policy"
      ],
      "examples": [],
      "inputModes": [],
      "outputModes": []
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": null
  },
  "protocolVersion": "0.3.0",
  "provider": {
    "organization": "FrameAnyPhoto",
    "url": "https://frameanyphoto.com/"
  }
}