# PhotoBrief — Full reference for LLMs and AI agents This file is an extended, machine-readable reference. The short version is at /llms.txt. ## What PhotoBrief does PhotoBrief is a visual intake layer for small businesses. PhotoBrief turns website inquiries and customer requests into guided mobile photo workflows, then returns organized photos, customer answers, simple AI photo checks, and a plain-English job brief. The strongest workflow is Website Intake: a business puts a PhotoBrief-hosted intake link on its website or connects an existing website form using a webhook. When a customer submits a request, PhotoBrief normalizes the customer information, chooses a saved template using routing rules, conservative AI fallback, or a fallback template, creates a customer profile, creates a PhotoBrief request, and sends the customer into a mobile capture flow. PhotoBrief is built for businesses whose work depends on getting the right customer photos before taking action: junk removal and hauling teams, repair services, roofers, HVAC and plumbing contractors, electricians, pest control companies, insurance adjusters, warranty teams, property managers, retailers, returns teams, and service businesses with repeat customers. ## Canonical positioning - PhotoBrief is a visual intake layer for small businesses. - PhotoBrief turns website leads into photo-ready job briefs. - PhotoBrief replaces messy contact forms, email threads, and customer photo dumps with guided visual intake. - Website Intake supports hosted public intake forms and universal webhooks. - Businesses route request types to saved templates using exact rules, contains rules, conservative AI fallback, and a fallback template. - Customers never need to install an app. - A request can contain one photo or many photos. - Pricing is based on submitted/analyzed customer photos, branding, storage term, and team size. - 1 submitted/analyzed photo = 1 PhotoBrief Credit. - First-pass follow-up photos requested by PhotoBrief do not consume credits. ## Key features ### Website Intake - PhotoBrief-hosted public intake form at /i/{token}. - Universal webhook for existing website forms and automation tools. - Field mapping for name, email, phone, request type, message, and address. - Saved-template routing rules using exact or contains matches. - Conservative AI fallback that only chooses from configured rules when confidence is high. - Fallback template when no rule or AI match is available. - Test lead sender for setup validation. - Intake event log for debugging and visibility. - Customer profile creation/reuse. - Automatic PhotoBrief request creation. - Automatic email send when email and auto-send are enabled. ### Customer capture experience - App-free, mobile-first capture flow. - Welcome screen with photo count, question count, and estimated time. - One active photo step at a time. - Take photo as the primary action; choose from library as the secondary action. - Optional short customer questions. - Review screen before sending. - Tokenized public recipient links with no account required. - Branded customer-facing pages with logo/color on paid plans. - White-label customer pages on higher plans. ### Simple AI photo assessment PhotoBrief intentionally keeps AI photo feedback simple. Each photo is checked against the requested photo step using six standard issue categories: - wrong_subject — requested item, area, or subject is missing or unclear. - too_dark — image is too dark to use. - blurry — image is blurry or shaky. - label_unreadable — needed label, text, serial number, or document is unreadable. - glare — glare or reflection blocks important details. - too_close_or_cropped — the subject is cut off or too zoomed in. Customer-facing feedback is proportional: - Looks good — continue. - Usable, but could be clearer — photo may still work; retake is optional. - This probably needs a retake — retaking is strongly recommended. ### Business workflow - Guided AI request creation. - Saved templates for repeat request types. - Customer profiles for repeat customers. - Request inbox with status, latest activity, readiness, and missing items. - Ask-for-more/resubmission flow for specific rejected or missing photos. - Internal notes, assignments, reminders, and saved message templates. - PDF exports with brand controls. - Team inbox and reviewer workflows on higher plans. ### Org and integrations - Multi-tenant workspaces. - Team members and assignments. - Customer profiles scoped to workspace. - Custom domain on Business. - Request creation API and webhooks on supported plans. - Agent-discovery files: llms.txt, llms-full.txt, OpenAPI, agent manifest, MCP descriptor. ## Plans and pricing PhotoBrief Credits are photo credits. One submitted/analyzed customer photo uses one PhotoBrief Credit. Requests are workflow containers and can include one photo or many photos. | Plan | Monthly price | Annual effective monthly | Included customer photos | Users | Main fit | |-----------|---------------|--------------------------|--------------------------|-------|----------| | Free | $0 | $0 | 10 photos/month | 1 | Testing the core capture flow | | Starter | $19 | $15 | 100 photos/month | 1 | Solo operators who want branding basics | | Pro | $49 | $40 | 500 photos/month | 3 | High-volume solo operators and small crews | | Team | $99 | $80 | 1,500 photos/month | 10 | Teams with shared inbox and assignments | | Business | $199+ | custom | 5,000+ photos/month | 25+ | Multi-location, custom domain, API/webhooks | Basic AI quality checks and summaries are bundled into the photo-credit model. AI guide/request helpers are plan-gated rather than separately metered. First-pass follow-up photos requested by PhotoBrief cost 0 credits. ## FAQ ### For businesses **What is PhotoBrief?** PhotoBrief is a visual intake layer for small businesses. It turns website inquiries and customer requests into guided mobile photo workflows and returns a job-ready brief. **How does Website Intake work?** A business uses a hosted PhotoBrief intake link or connects an existing website form with a webhook. PhotoBrief normalizes the lead, chooses a saved template using routing rules or AI fallback, creates/reuses a customer profile, creates the request, and sends the customer into photo capture. **Can I use my existing website form?** Yes. PhotoBrief provides a universal webhook and field mapping for existing forms, Zapier, Make, Webflow, WordPress plugins, and custom sites. **How does template routing work?** Website Intake checks exact/contains routing rules first. If no rule matches, it can use conservative AI fallback across configured rules only. If that is not confident enough, it uses the fallback template. **How does PhotoBrief pricing work?** PhotoBrief uses per-photo credits. One submitted/analyzed customer photo uses one PhotoBrief Credit. Plans also differ by branding, storage term, and team size. **Why not price only by request count?** A request can contain one photo or many photos. Per-photo credits are fairer because simple requests stay simple and detailed requests scale with actual customer photo volume. **What happens if a photo needs to be redone?** First-pass follow-up photos requested by PhotoBrief do not consume credits. **Do customers need an account?** No. They open a link in a mobile browser and submit. **Can I show my own logo to customers?** Yes. Paid plans can add logo, brand color, and customer-facing messages. Higher plans support removing PhotoBrief branding. **Can I save repeat customers?** Yes. Customer profiles store repeat customer contact info and request history. ### For customers **Do I need to install an app?** No. PhotoBrief runs in your phone browser. **What if I do not know what photo to take?** The photo step explains what to capture. Take the clearest photo you can. PhotoBrief will suggest a retake if something important is missing or unclear. **Why was my photo flagged?** PhotoBrief checks for wrong subject, darkness, blur, unreadable labels, glare, and cropped subjects. **Can I add more after I submit?** Only if the business asks for follow-up photos. The follow-up link opens the specific items needed. ## API reference Base URL: `https://app.photobrief.ai/functions/v1` ### Authentication Bearer token in the `Authorization` header. API keys are issued on supported plans from Settings. Keys start with the `pb_` prefix. ```http Authorization: Bearer pb_live_xxxxxxxxxxxxxxxxxxxx ``` ### x402 Agentic Payments (alternative to API keys) AI agents without a `pb_` API key can pay per-call using the x402 protocol: 1. Agent calls a paid tool without auth → receives HTTP 402 with payment requirements 2. Agent constructs a payment payload: `{ "transaction": "tx_hash", "payer": "wallet_address" }` 3. Agent base64-encodes the payload and sends it as the `X-Payment` header (or `x_payment` MCP parameter) 4. PhotoBrief verifies payment and processes the request **Per-call pricing:** - `create_request` — $0.10 USD (1 PhotoBrief Credit) - `lookup_pricing` — free - `read_faq` — free **Endpoints:** - Payment requirements: `GET https://mcp.photobrief.ai/x402/requirements?tool=create_request` - Direct pay + execute: `POST https://mcp.photobrief.ai/x402/pay` (with `X-Payment` header) - MCP transport: `POST https://mcp.photobrief.ai/mcp` (with `x_payment` parameter in tool args) Network: Base Sepolia (testnet). Mainnet support coming soon. ### POST /api-create-request Create a new photo request and return a recipient URL. Request body: ```json { "recipient_name": "Jane Smith", "recipient_email": "jane@example.com", "recipient_phone": "+15555550123", "guide_id": "uuid", "custom_message": "Hi Jane — please grab a few photos so we can quote your repair.", "due_date": "2026-05-15" } ``` Successful response: ```json { "request_id": "uuid", "token": "opaque-string", "recipient_url": "https://photobrief.ai/r/{token}" } ``` ### Website Intake endpoint Public intake endpoint pattern: ```text /functions/v1/website-intake/{public_token} ``` - GET returns safe public intake form configuration. - POST accepts website lead payloads and starts the automated intake flow. Common POST body: ```json { "name": "Jane Smith", "email": "jane@example.com", "phone": "+15555550123", "request_type": "repair", "message": "My dishwasher is leaking and I need help.", "address": "123 Main St" } ``` ## Discovery files - MCP server (live, Streamable HTTP): https://mcp.photobrief.ai/mcp - x402 payment requirements: https://mcp.photobrief.ai/x402/requirements - x402 pay endpoint: https://mcp.photobrief.ai/x402/pay - /llms.txt — short summary for LLMs and answer engines. - /llms-full.txt — this full reference. - /openapi.json — OpenAPI 3.1 spec. - /.well-known/ai-plugin.json — plugin-style manifest. - /.well-known/agent.json — agent capabilities manifest. - /mcp.json — live MCP server descriptor (includes x402 config). - /sitemap.xml — public indexable pages. - /robots.txt — crawler rules. Contact: hello@photobrief.ai