12 direct provider keys, 1 already via OpenRouter, 5 recommended to switch before beta.
| Provider | Key | Kind | Purpose | Used by | Recommendation | Reason |
|---|---|---|---|---|---|---|
| OpenAI | OPENAI_API_KEY | direct | chat / post generation / agent chat | bamfaiapp/supabase/functions/openai-proxy/index.ts bamfaiapp/supabase/functions/_shared/openai.ts bamfaiapp/supabase/functions/_shared/providerSecrets.ts bamfaiapp/supabase/functions/computer-use-step/index.ts bamfsite/supabase/functions/bamf-admin-agent-chat/index.ts | Switch to OpenRouter | Plain chat.completions/responses text calls with no provider-only feature in use. |
| OpenAI | OPENAI_API_KEY | direct | image generation | bamfaiapp/supabase/functions/openai-image-proxy/index.ts bamfaiapp/supabase/functions/image-gen/index.ts bamfsite/supabase/functions/generate-blog-image/index.ts | Keep direct | OpenAI images/generations and image-edit endpoints are provider-specific; not exposed as OpenRouter chat completions. |
| OpenAI | OPENAI_API_KEY | direct | transcription (Whisper) / TTS | bamfaiapp/supabase/functions/openai-audio-proxy/index.ts | Keep direct | Audio transcription and TTS endpoints are not OpenRouter chat-completion compatible. |
| OpenAI | OPENAI_API_KEY | direct | chat (comment moderation reply, site chat widget) | bamfsite/supabase/functions/_shared/comment-ai-gateway.ts bamfsite/supabase/functions/chat-widget-ai/index.ts | Switch to OpenRouter | Plain chat.completions text calls, no provider-only feature in use. |
| OpenAI | OPENAI_API_KEY | direct | research fallback chat (OPENAI_RESEARCH_MODEL) | bamfaiapp/supabase/functions/perplexity-proxy/index.ts | Switch to OpenRouter | Text-only responses call in the fallback chain; already sits alongside an OpenRouter fallback branch in this same file. |
| Anthropic | ANTHROPIC_API_KEY | direct | chat / post generation / admin agent chat | bamfaiapp/supabase/functions/anthropic-proxy/index.ts bamfaiapp/supabase/functions/_shared/providerSecrets.ts bamfsite/supabase/functions/bamf-admin-agent-chat/index.ts | Switch to OpenRouter | Standard messages API calls with no evidence of prompt-caching or computer-use beta headers in these call sites; verify caching headers before switching bamf-admin-agent-chat specifically. |
| Google Gemini | GOOGLE_GEMINI_API_KEY / GOOGLE_API_KEY / GEMINI_API_KEY | direct | image generation (imagen-3.0-fast, gemini-*-image) | bamfaiapp/supabase/functions/gemini-proxy/index.ts bamfaiapp/supabase/functions/image-gen/index.ts bamfaiapp/supabase/functions/image-gen-portrait/index.ts bamfaiapp/supabase/functions/_shared/providerSecrets.ts | Keep direct | Google's native generateContent image endpoints are not available through OpenRouter's chat-completions surface. |
| xAI (Grok) | XAI_API_KEY | direct | trend/research chat | bamfaiapp/supabase/functions/xai-trends/index.ts bamfaiapp/supabase/functions/perplexity-proxy/index.ts | Switch to OpenRouter | Plain chat completions; both files already implement an OpenRouter fallback path (OPENROUTER_API_KEY / OPENROUTER_MODEL), so this could become the primary path instead of a fallback. |
| OpenRouter | OPENROUTER_API_KEY | openrouter | chat fallback | bamfaiapp/supabase/functions/xai-trends/index.ts bamfaiapp/supabase/functions/perplexity-proxy/index.ts | Not applicable | Already routed through OpenRouter. |
| Perplexity | PERPLEXITY_API_KEY | direct | research chat with web search | bamfaiapp/supabase/functions/_shared/providerSecrets.ts bamfaiapp/supabase/functions/perplexity-proxy/index.ts | Keep direct | Perplexity's value is its own hosted web-search grounding, which is not reproduced by routing the same model id through OpenRouter. |
| ElevenLabs | ELEVENLABS_API_KEY | direct | voice cloning / text-to-speech (creator voice) | bamfaiapp/supabase/functions/elevenlabs-proxy/index.ts | Keep direct | Voice synthesis is a dedicated non-LLM-text API; not an OpenRouter-covered surface. |
| Apify | APIFY_TOKEN / APIFY_ACTOR_ID / APIFY_AUTHOR_POSTS_ACTOR_ID | direct | LinkedIn / social scraping actors | bamfaiapp/supabase/functions/_shared/apify-linkedin-posts.ts bamfaiapp/supabase/functions/_shared/apify-account-budget.ts bamfaiapp/supabase/functions/apify-probe/index.ts bamfaiapp/supabase/functions/inspiration-scrape-profiles/index.ts bamfaiapp/supabase/functions/viral-clip-scraper/index.ts | Not applicable | Apify is a scraping/actor platform, not an LLM provider. |
| OpenAI | OPENAI_API_KEY | direct | computer-use agent step (responses API) | bamfaiapp/supabase/functions/computer-use-step/index.ts | Keep direct | Uncertain — computer-use style tool responses may depend on OpenAI-specific beta tool schemas; verify before switching. |