{
  "service": "chatugc",
  "version": "1.0.0",
  "product": "ChatUGC — ChatGPT-style chat, pay-as-you-go AI UGC videos",
  "pricing_provisional": true,
  "pricing_note": "Prices are provisional until the first real Treg run reprices them. Video = duration x per-second rate + $0.50 service fee.",
  "prices_usd": {
    "research_per_call": 0.05,
    "character_per_image": 0.5,
    "video_service_fee": 0.5,
    "video_per_second": {
      "480p": 0.1186,
      "720p": 0.26683,
      "1080p": 0.462
    },
    "video_examples": {
      "5s_480p": 1.09,
      "10s_480p": 1.69,
      "10s_720p": 3.17,
      "10s_1080p": 5.12
    },
    "topup_amounts": [
      10,
      25,
      50
    ]
  },
  "treg_configured": true,
  "stripe_configured": true,
  "stripe_webhook_configured": true,
  "supabase_configured": true,
  "auth_mode": "supabase_payg",
  "no_free_plan": true,
  "endpoints": {
    "health": "GET /health",
    "config": "GET /api/v1/config",
    "auth": [
      "POST /api/v1/auth/provision (Bearer Supabase JWT)",
      "POST /api/v1/auth/regenerate (Bearer Supabase JWT)",
      "GET /api/v1/auth/me (Bearer Supabase JWT)"
    ],
    "billing": [
      "GET /api/v1/billing/balance (x-api-key)",
      "GET /api/v1/billing/payments (x-api-key)",
      "POST /api/v1/billing/checkout (x-api-key) {type: topup, amount_usd: 10|25|50}",
      "POST /api/v1/stripe/webhook (Stripe-Signature)"
    ],
    "chats": [
      "POST /api/v1/chats (x-api-key)",
      "GET /api/v1/chats (x-api-key)",
      "GET /api/v1/chats/:id (x-api-key)"
    ],
    "ugc": [
      "POST /api/v1/chats/:id/research (x-api-key) {keyword, platform?, count?}",
      "POST /api/v1/chats/:id/character (x-api-key) {presenter_description, gender?, age_range?, tone?, reference_image_url?}",
      "POST /api/v1/chats/:id/generate (x-api-key) {character_id, hook, script, duration_s?, resolution?, audio_url?}",
      "GET /api/v1/videos (x-api-key)",
      "GET /api/v1/videos/:id (x-api-key)"
    ]
  }
}