@@ -29,7 +29,7 @@ A substantial part of the code is based on an early fork of the brilliant work b
2929 + [ Google Gemini API] ( https://ai.google.dev/gemini-api/docs )
3030 + [ xAI API] ( https://console.x.ai )
3131 + Local and offline serving via [ ollama] ( https://github.com/ollama/ollama )
32- + Any custom OpenAI-compatible endpoint with configurable functions; also supports [ Perplexity.ai API] ( https://blog.perplexity.ai/blog/introducing-pplx-api ) , [ Mistral API] ( https://docs.mistral.ai/api/ ) , [ Groq API] ( https://console.groq.com ) , [ DeepSeek API] ( https://platform.deepseek.com ) , [ GitHub Models] ( https://github.com/marketplace/models ) , and [ NVIDIA API] ( https://docs.api.nvidia.com )
32+ + Any custom OpenAI-compatible endpoint with configurable functions; also supports [ Perplexity.ai API] ( https://blog.perplexity.ai/blog/introducing-pplx-api ) , [ Mistral API] ( https://docs.mistral.ai/api/ ) , [ Groq API] ( https://console.groq.com ) , [ DeepSeek API] ( https://platform.deepseek.com ) , [ GitHub Models] ( https://github.com/marketplace/models ) , [ NVIDIA API] ( https://docs.api.nvidia.com ) , and [ EveryAPI ] ( https://everyapi.ai ) (multi-provider gateway · 240+ models behind one key )
3333- Flexible API credential management from various sources:
3434 + Environment variables
3535 + Bash commands
@@ -728,6 +728,53 @@ providers = {
728728```
729729</details >
730730
731+ <details >
732+ <summary >EveryAPI (OpenAI-compatible gateway · 240+ models behind one key)</summary >
733+
734+ [ EveryAPI] ( https://everyapi.ai ) aggregates Claude / GPT / Gemini / DeepSeek / Mistral / Bedrock / Azure / …
735+ behind a single OpenAI-compatible ` /v1 ` endpoint, so one ` api_key ` and one
736+ ` endpoint ` covers every upstream model your account has access to. Configure
737+ exactly like any OpenAI-compatible provider:
738+
739+ ``` lua
740+ providers = {
741+ everyapi = {
742+ name = " everyapi" ,
743+ endpoint = " https://api.everyapi.ai/v1/chat/completions" ,
744+ model_endpoint = " https://api.everyapi.ai/v1/models" ,
745+ api_key = os.getenv (" EVERYAPI_API_KEY" ),
746+ params = {
747+ chat = { temperature = 0.7 , top_p = 1 },
748+ command = { temperature = 0.7 , top_p = 1 },
749+ },
750+ topic = {
751+ model = " deepseek-chat" ,
752+ params = { max_tokens = 64 },
753+ },
754+ headers = function (self )
755+ return {
756+ [" Content-Type" ] = " application/json" ,
757+ [" Authorization" ] = " Bearer " .. self .api_key ,
758+ }
759+ end ,
760+ -- Drop the explicit `models` list to let parrot auto-fetch from
761+ -- /v1/models (the `model_endpoint` above) — useful when your
762+ -- EveryAPI account has access to a moving set of upstream models.
763+ models = {
764+ " claude-3-5-sonnet" ,
765+ " gpt-4o" ,
766+ " gemini-2.5-pro" ,
767+ " deepseek-chat" ,
768+ " deepseek-reasoner" ,
769+ },
770+ },
771+ }
772+ ```
773+
774+ Create the API key at https://app.everyapi.ai . The same key works for every
775+ upstream model EveryAPI proxies — no per-provider rotation.
776+ </details >
777+
731778### Adding a new command
732779
733780#### Ask a single-turn question and receive the answer in a popup window
0 commit comments