{"service":"ai-guard","version":"2.0.76","description":"Universal AI cost protection proxy - prevents catastrophic cost spikes","endpoints":{"complete":"POST /v1/complete","chatCompletions":"POST /v1/chat/completions (OpenAI-compatible)","decisions":"POST /v1/decisions (TypeSafe JEV typed decisions via OpenRouter; noul/choice/score, no text)","embeddings":"POST /v1/embeddings (bounded OpenRouter text embeddings; no retained inputs or vectors)","stream":"POST /v1/stream (SSE streaming, no cache)","ocr":"POST /v1/ocr","transcribe":"POST /v1/transcribe","imageGen":"POST /v1/image-gen (image generation with eval+revision)","agentJobs":"POST /v1/agent-jobs queue · GET /v1/agent-jobs/:jobId poll (HyperAgent agents on grant credits; JSON schema checked; background work that can wait)","video":"POST /v1/video submit · POST /v1/video/:jobId poll · POST /v1/video/:jobId/content fetch (OpenRouter async video on the caller key; held, then settled at the provider cost; cached on every input)","imageGrid":"POST /v1/image-grid (Gemini grid generation + deterministic slicing via IMG)","productPhoto":"POST /v1/product-photo (green-screen plate generation + deterministic replacement of the screen with a real capture via IMG)","spriteSheet":"POST /v1/sprite-sheet (Gemini sprite-sheet generation + deterministic frame slicing via IMG)","soundEffects":"POST /v1/sound-effects (ElevenLabs text-to-SFX with caching)","audioConvert":"POST /v1/audio-convert (proxy → media /audio/convert, ffmpeg transcode)","speech":"POST /v1/speech (OpenRouter text-to-speech, multi-voice segments → opus/mp3/wav)","music":"POST /v1/music (bring-your-own-key music: OpenRouter Lyria or Replicate e.g. minimax/music-2.5 → mp3/wav; never cached)","bgRemoval":"POST /v1/bg-removal (AI background removal, outputs transparent PNG)","makeTransparent":"POST /v1/make-transparent (any icon → chroma green → lab-despill → transparent PNG)","logoOptimize":"POST /v1/logo-optimize (replicate bg removal + IMG crop/frame/optimize for centered white-bg logos)","activateAgentExecution":"POST /v1/internal/activate-agent-execution/{complete,recover} (default-off exact private lane)","servingDispatchRecovery":"POST /v1/internal/serving-dispatch/recover (output-blind exact receipt lookup)","capabilities":{"list":"GET /v1/capabilities","details":"GET /v1/capabilities/:id","execute":"POST /v1/capabilities/:id","available":["mermaid-diagrams"]},"health":"GET /health","metrics":"GET /metrics","admin":{"refreshPricing":"POST /admin/refresh-pricing","getPricing":"GET /admin/pricing","upsertPricing":"POST /admin/pricing","listPolicyBlocks":"GET /admin/policy/blocks","upsertPolicyBlock":"POST /admin/policy/blocks","unblockPolicyBlock":"POST /admin/policy/blocks/:id/unblock","listPolicyAllowances":"GET /admin/policy/allowances","createPolicyAllowance":"POST /admin/policy/allowances","revokePolicyAllowance":"POST /admin/policy/allowances/:id/revoke","checkPolicy":"GET /admin/policy/check?namespace=&service=&model=","usageSummary":"GET /admin/usage/summary?since=7d&groupBy=namespace,model","usageCompare":"GET /admin/usage/compare?since=1d","usageOverhead":"GET /admin/usage/overhead?since=1d","usageKeys":"GET /admin/usage/keys?since=30d","labGpuDepartures":"GET /admin/lab-gpu/departures","registerLabGpuDeparture":"POST /admin/lab-gpu/departures","closeLabGpuDeparture":"DELETE /admin/lab-gpu/departures/:id"}}}