{
  "schema_version": "2026-08-07",
  "name": "AdPrompt X402 V2",
  "description": "AdPrompt's pay-per-call marketing APIs: brand scans, competitive analysis, ad strategy, image, video, logo, and content generation for small businesses and agencies, priced from $0.25 per call.",
  "base_url": "https://x402.adprompt.io",
  "openapi_url": "https://x402.adprompt.io/openapi.json",
  "catalog_url": "https://x402.adprompt.io/v1/catalog",
  "health_url": "https://x402.adprompt.io/health",
  "network": "eip155:8453",
  "currency": "USDC",
  "payment_protocol": {
    "name": "x402",
    "version": 2,
    "scheme": "exact",
    "settlement_asset": "USDC",
    "chain": "Base"
  },
  "response_pattern": "Every paid route settles the x402 payment and returns 202 immediately with status: \"queued\", a report_url, and a result_url (/results). Engine work continues in the background; poll report_url (HTML report), the matching /json route, or /v1/jobs/{job_id} for the async video product.",
  "launch_products": [
    {
      "id": "brand-scan",
      "name": "Brand Scan",
      "description": "Scans a business website (or accepts manual details) and returns a normalized, reusable business profile with brand kit, positioning, and a professional brand audit score.",
      "method": "POST",
      "path": "/v1/brand-scan",
      "price": {
        "amount_usd": 0.25,
        "display": "$0.25"
      },
      "execution_mode": "sync",
      "requires_business_context": false,
      "saves_profile": true,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "website": "https://example-business.com",
        "save_profile": true
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "brand_scan",
        "label": "Brand Scan",
        "receipt_id": "rcpt_01JZ0000000000000000000000",
        "request_id": "req_01JZ0000000000000000000000",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000000/report?wallet_address=0x1111111111111111111111111111111111111111",
        "adprompt_signature": {
          "version": "adprompt-output-v1",
          "owner": "AdPrompt.ai",
          "product_id": "brand_scan",
          "status": "queued"
        }
      }
    },
    {
      "id": "competitive-analysis",
      "name": "Competitive Analysis",
      "description": "Analyzes the business context and returns competitor positioning, differentiation opportunities, messaging gaps, and market-facing recommendations.",
      "method": "POST",
      "path": "/v1/competitive-analysis",
      "price": {
        "amount_usd": 0.25,
        "display": "$0.25"
      },
      "execution_mode": "sync",
      "requires_business_context": true,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "competitive_analysis",
        "label": "Competitive Analysis",
        "receipt_id": "rcpt_01JZ0000000000000000000001",
        "request_id": "req_01JZ0000000000000000000001",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000001/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "social-presence-plan",
      "name": "Social Presence Plan",
      "description": "Audits the business's social channels (site + linked profiles) and returns a scored presence plan with prioritized short- and long-term actions per platform.",
      "method": "POST",
      "path": "/v1/social-presence-plan",
      "price": {
        "amount_usd": 0.25,
        "display": "$0.25"
      },
      "execution_mode": "sync",
      "requires_business_context": true,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000",
        "social_profiles": [
          "https://instagram.com/example-business",
          "https://facebook.com/example-business"
        ]
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "social_presence_full_plan",
        "label": "Social Presence Full Plan",
        "receipt_id": "rcpt_01JZ0000000000000000000005",
        "request_id": "req_01JZ0000000000000000000005",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000005/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "ad-strategy",
      "name": "Ad Strategy + Budget",
      "description": "Builds a practical paid media strategy with recommended channels, campaign structure, audience targeting, creative angles, and budget allocation guidance.",
      "method": "POST",
      "path": "/v1/ad-strategy",
      "price": {
        "amount_usd": 0.5,
        "display": "$0.50"
      },
      "execution_mode": "sync",
      "requires_business_context": true,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000",
        "monthly_budget_usd": 2500,
        "goal": "lead_generation"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "ad_strategy_budget",
        "label": "Ad Strategy + Budget",
        "receipt_id": "rcpt_01JZ0000000000000000000002",
        "request_id": "req_01JZ0000000000000000000002",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000002/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "image-generation",
      "name": "Image Generation",
      "description": "Generates one branded campaign image from a creative prompt, visual style, and size, using business context when available.",
      "method": "POST",
      "path": "/v1/images/generate",
      "price": {
        "amount_usd": 0.5,
        "display": "$0.50 flat"
      },
      "execution_mode": "sync",
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000",
        "prompt": "Create a clean square launch ad for a neighborhood coffee shop.",
        "visual_style": "Photorealistic",
        "size": "1024x1024"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "image_generation",
        "label": "Image Generator",
        "receipt_id": "rcpt_01JZ0000000000000000000003",
        "request_id": "req_01JZ0000000000000000000003",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000003/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "logo-generation",
      "name": "Logo Generation",
      "description": "Generates a batch of 3 logo concepts in a chosen style from the business's brand context.",
      "method": "POST",
      "path": "/v1/logos/generate",
      "price": {
        "amount_usd": 1,
        "display": "$1.00 flat for a batch of 3"
      },
      "execution_mode": "sync",
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000",
        "logo_style": "minimal_modern"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "logo_generation",
        "label": "Logo Generation",
        "receipt_id": "rcpt_01JZ0000000000000000000006",
        "request_id": "req_01JZ0000000000000000000006",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000006/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "video-generation",
      "name": "Video Generation",
      "description": "Creates an 8-second branded campaign video from a prompt, visual style, and aspect ratio. The request returns an async job id for polling.",
      "method": "POST",
      "path": "/v1/videos/generate",
      "price": {
        "amount_usd": 2,
        "display": "$2.00",
        "duration_seconds": 8
      },
      "execution_mode": "async",
      "requires_business_context": false,
      "idempotency_supported": true,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000",
        "prompt": "Create an 8 second launch teaser for a seasonal coffee menu.",
        "aspect_ratio": "9:16"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "video_generation_8s",
        "label": "Video Generation 8s",
        "receipt_id": "rcpt_01JZ0000000000000000000004",
        "request_id": "req_01JZ0000000000000000000004",
        "job_id": "job_01JZ0000000000000000000000",
        "polling_url": "/v1/jobs/job_01JZ0000000000000000000000",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/job_01JZ0000000000000000000000/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "content-suggestor",
      "name": "Content Suggestor",
      "description": "Generates a batch of 3+ content ideas for a selected objective, grounded in the business's brand context.",
      "method": "POST",
      "path": "/v1/content/suggest",
      "price": {
        "amount_usd": 0.5,
        "display": "$0.50 flat for a batch of 3+"
      },
      "execution_mode": "sync",
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000",
        "objective": "social_media_post"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "content_suggestor",
        "label": "Content Suggestor",
        "receipt_id": "rcpt_01JZ0000000000000000000007",
        "request_id": "req_01JZ0000000000000000000007",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000007/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "color-palette-generator",
      "name": "Color Palette Generator",
      "description": "Generates a batch of 3 distinct, brand-ready color palettes with role assignments and rationale, grounded in the business's brand context.",
      "method": "POST",
      "path": "/v1/colors/generate",
      "price": {
        "amount_usd": 0.25,
        "display": "$0.25 flat for a batch of 3"
      },
      "execution_mode": "sync",
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "product_id": "color_palette_generator",
        "label": "Color Palette Generator",
        "receipt_id": "rcpt_01JZ0000000000000000000008",
        "request_id": "req_01JZ0000000000000000000008",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000008/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    }
  ],
  "launch_bundles": [
    {
      "id": "brand-intelligence",
      "name": "Brand Foundation",
      "description": "Always runs a fresh Brand Scan first, then Competitive Snapshot, Social Presence Plan, and Brand Color Palettes, all grounded in the scanned brand context.",
      "method": "POST",
      "path": "/v1/bundles/brand-intelligence",
      "includes": [
        "brand_scan",
        "competitive_analysis",
        "social_presence_full_plan",
        "color_palette_generator"
      ],
      "price": {
        "amount_usd": 1,
        "display": "$1.00"
      },
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "website": "https://example-business.com"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "bundle_id": "brand-intelligence",
        "label": "Brand Foundation",
        "receipt_id": "rcpt_01JZ0000000000000000000010",
        "request_id": "req_01JZ0000000000000000000010",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000010/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "brand-starter",
      "name": "Brand Starter",
      "description": "Fresh Brand Scan first, then Logo Concept Pack, Brand Color Palettes, Competitive Snapshot, and Content Ideas, all grounded in the scanned brand context.",
      "method": "POST",
      "path": "/v1/bundles/brand-starter",
      "includes": [
        "brand_scan",
        "logo_generation",
        "color_palette_generator",
        "competitive_analysis",
        "content_suggestor"
      ],
      "price": {
        "amount_usd": 2,
        "display": "$2.00"
      },
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "website": "https://example-business.com",
        "logo_style": "minimal_modern"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "bundle_id": "brand-starter",
        "label": "Brand Starter",
        "receipt_id": "rcpt_01JZ0000000000000000000011",
        "request_id": "req_01JZ0000000000000000000011",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000011/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "social-image-pack",
      "name": "Social Media Image",
      "description": "Pick a social platform and placement, describe the post idea, and get a right-sized image plus a ready caption and hashtags. Business context is optional.",
      "method": "POST",
      "path": "/v1/bundles/social-image-pack",
      "includes": [
        "image_generation"
      ],
      "price": {
        "amount_usd": 1,
        "display": "$1.00"
      },
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "prompt": "Announce our new summer menu with a rooftop vibe",
        "social_platform": "instagram",
        "social_placement": "feed"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "bundle_id": "social-image-pack",
        "label": "Social Media Image",
        "receipt_id": "rcpt_01JZ0000000000000000000012",
        "request_id": "req_01JZ0000000000000000000012",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000012/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "social-video-pack",
      "name": "Social Media Video",
      "description": "Pick a social platform and placement, describe the post idea, and get an 8-second video in the right aspect ratio plus a ready caption and hashtags. Business context is optional.",
      "method": "POST",
      "path": "/v1/bundles/social-video-pack",
      "includes": [
        "video_generation_8s"
      ],
      "price": {
        "amount_usd": 2.5,
        "display": "$2.50"
      },
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "prompt": "A quick tour of the bar with our signature pour",
        "social_platform": "youtube",
        "social_placement": "shorts"
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "bundle_id": "social-video-pack",
        "label": "Social Media Video",
        "receipt_id": "rcpt_01JZ0000000000000000000013",
        "request_id": "req_01JZ0000000000000000000013",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000013/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "campaign-strategy-image",
      "name": "Ad Campaign Planning",
      "description": "Requires an existing business or manual details. Runs Ad Strategy + Budget, then renders one ad image per recommended platform in that platform's aspect ratio.",
      "method": "POST",
      "path": "/v1/bundles/campaign-strategy-image",
      "includes": [
        "ad_strategy_budget",
        "image_generation"
      ],
      "price": {
        "amount_usd": 2,
        "display": "$2.00"
      },
      "requires_business_context": true,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "profile_id": "bp_01JZ0000000000000000000000",
        "goal": "lead_generation",
        "monthly_budget_usd": 2500
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "bundle_id": "campaign-strategy-image",
        "label": "Ad Campaign Planning",
        "receipt_id": "rcpt_01JZ0000000000000000000014",
        "request_id": "req_01JZ0000000000000000000014",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000014/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    },
    {
      "id": "campaign-strategy-video",
      "name": "Advanced Ad Campaign Planning",
      "description": "Fresh Brand Scan first, Ad Strategy + Budget built on it, an ad image per recommended platform, plus two 8-second videos: one landscape and one portrait.",
      "method": "POST",
      "path": "/v1/bundles/campaign-strategy-video",
      "includes": [
        "brand_scan",
        "ad_strategy_budget",
        "image_generation",
        "video_generation_8s"
      ],
      "price": {
        "amount_usd": 5,
        "display": "$5.00"
      },
      "requires_business_context": false,
      "example_request": {
        "wallet_address": "0x1111111111111111111111111111111111111111",
        "website": "https://example-business.com",
        "goal": "lead_generation",
        "monthly_budget_usd": 2500
      },
      "example_response": {
        "ok": true,
        "status": "queued",
        "bundle_id": "campaign-strategy-video",
        "label": "Advanced Ad Campaign Planning",
        "receipt_id": "rcpt_01JZ0000000000000000000015",
        "request_id": "req_01JZ0000000000000000000015",
        "result_url": "/results",
        "report_url": "/v1/wallet/results/req_01JZ0000000000000000000015/report?wallet_address=0x1111111111111111111111111111111111111111"
      }
    }
  ],
  "supporting_endpoints": [
    {
      "method": "GET",
      "path": "/health",
      "description": "Service health and payment enforcement status."
    },
    {
      "method": "GET",
      "path": "/v1/catalog",
      "description": "Live product, bundle, price, and schema catalog."
    },
    {
      "method": "POST",
      "path": "/v1/profiles/resolve",
      "description": "Resolve or prompt for wallet-owned business profiles before paid product execution."
    },
    {
      "method": "GET",
      "path": "/v1/jobs/{job_id}",
      "description": "Poll the asynchronous video generation job."
    },
    {
      "method": "GET",
      "path": "/results",
      "description": "Wallet results dashboard for saved businesses, receipts, jobs, and generated outputs."
    },
    {
      "method": "GET",
      "path": "/v1/wallet/results",
      "description": "List wallet-owned saved profiles, paid results, receipts, and pending jobs."
    },
    {
      "method": "PATCH",
      "path": "/v1/wallet/profiles/{profile_id}",
      "description": "Edit a wallet-owned saved business profile."
    },
    {
      "method": "GET",
      "path": "/v1/wallet/results/{result_id}/report",
      "description": "AdPrompt-branded printable report for a wallet-owned result."
    },
    {
      "method": "GET",
      "path": "/v1/wallet/results/{result_id}/json",
      "description": "Sanitized JSON export of a wallet-owned result."
    },
    {
      "method": "GET",
      "path": "/v1/wallet/results/{result_id}/pdf",
      "description": "AdPrompt-branded PDF export of a wallet-owned result."
    }
  ],
  "submission_notes": [
    "This manifest lists the full live catalog: 9 individual engines and 6 packaged bundles.",
    "Every paid route settles the x402 payment immediately and returns 202 with status: \"queued\"; engine output lands at report_url shortly after (see response_pattern above).",
    "Saved business profile reuse is free for engines with optional or required business context. Brand Foundation and Brand Starter always run a fresh Brand Scan even with a saved business, so their price includes the scan.",
    "Public metadata intentionally omits internal routing and engine implementation details."
  ]
}
