diff --git a/.env.example b/.env.example
index b65896d7dda..ea1623d8d41 100644
--- a/.env.example
+++ b/.env.example
@@ -58,8 +58,9 @@ PROXY=
# https://docs.librechat.ai/install/configuration/ai_endpoints.html
# GROQ_API_KEY=
-# MISTRAL_API_KEY=
+# SHUTTLEAI_KEY=
# OPENROUTER_KEY=
+# MISTRAL_API_KEY=
# ANYSCALE_API_KEY=
# FIREWORKS_API_KEY=
# PERPLEXITY_API_KEY=
diff --git a/client/public/assets/ShuttleAI_Fibonacci.png b/client/public/assets/ShuttleAI_Fibonacci.png
new file mode 100644
index 00000000000..eddeb4e362d
Binary files /dev/null and b/client/public/assets/ShuttleAI_Fibonacci.png differ
diff --git a/client/public/assets/shuttleai.png b/client/public/assets/shuttleai.png
new file mode 100644
index 00000000000..411b5ad3400
Binary files /dev/null and b/client/public/assets/shuttleai.png differ
diff --git a/client/src/components/Chat/Menus/Endpoints/UnknownIcon.tsx b/client/src/components/Chat/Menus/Endpoints/UnknownIcon.tsx
index 249cbe06fcc..eed21c57a85 100644
--- a/client/src/components/Chat/Menus/Endpoints/UnknownIcon.tsx
+++ b/client/src/components/Chat/Menus/Endpoints/UnknownIcon.tsx
@@ -38,6 +38,14 @@ export default function UnknownIcon({
alt="Groq Cloud Icon"
/>
);
+ } else if (currentEndpoint === KnownEndpoints.shuttleai) {
+ return (
+
+ );
} else if (currentEndpoint === KnownEndpoints.anyscale) {
return (
ShuttleAI API key: [shuttleai.app/keys](https://shuttleai.app/keys)
+
+**Notes:**
+
+- **Known:** icon provided, fetching list of models is recommended.
+
+```yaml
+ - name: "ShuttleAI"
+ apiKey: "${SHUTTLEAI_API_KEY}"
+ baseURL: "https://api.shuttleai.app/v1"
+ models:
+ default: [
+ "shuttle-1", "shuttle-turbo"
+ ]
+ fetch: true
+ titleConvo: true
+ titleModel: "gemini-pro"
+ summarize: false
+ summaryModel: "llama-summarize"
+ forcePrompt: false
+ modelDisplayLabel: "ShuttleAI"
+ dropParams: ["user"]
+```
+
+![image](https://github.com/danny-avila/LibreChat/client/public/assets/ShuttleAI_Fibonacci.png)
+
## Fireworks
> Fireworks API key: [fireworks.ai/api-keys](https://fireworks.ai/api-keys)
diff --git a/docs/install/configuration/dotenv.md b/docs/install/configuration/dotenv.md
index c89b2166f57..06bf58ecddc 100644
--- a/docs/install/configuration/dotenv.md
+++ b/docs/install/configuration/dotenv.md
@@ -135,8 +135,9 @@ PROXY=
```sh
GROQ_API_KEY=
-MISTRAL_API_KEY=
+SHUTTLEAI_KEY=
OPENROUTER_KEY=
+MISTRAL_API_KEY=
ANYSCALE_API_KEY=
FIREWORKS_API_KEY=
PERPLEXITY_API_KEY=
diff --git a/packages/data-provider/src/config.ts b/packages/data-provider/src/config.ts
index 4badaf04b13..6467cd565c3 100644
--- a/packages/data-provider/src/config.ts
+++ b/packages/data-provider/src/config.ts
@@ -221,6 +221,7 @@ export type TCustomConfig = z.infer;
export enum KnownEndpoints {
mistral = 'mistral',
+ shuttleai = 'shuttleai',
openrouter = 'openrouter',
groq = 'groq',
anyscale = 'anyscale',