diff --git a/app/components/settings.tsx b/app/components/settings.tsx
index 7db09940d..3d77a2631 100644
--- a/app/components/settings.tsx
+++ b/app/components/settings.tsx
@@ -54,6 +54,7 @@ import {
   Anthropic,
   Azure,
   Baidu,
+  ByteDance,
   Google,
   OPENAI_BASE_URL,
   Path,
@@ -1249,6 +1250,51 @@ export function Settings() {
                       </ListItem>
                     </>
                   )}
+
+                  {accessStore.provider === ServiceProvider.ByteDance && (
+                    <>
+                      <ListItem
+                        title={Locale.Settings.Access.ByteDance.Endpoint.Title}
+                        subTitle={
+                          Locale.Settings.Access.Anthropic.Endpoint.SubTitle +
+                          ByteDance.ExampleEndpoint
+                        }
+                      >
+                        <input
+                          type="text"
+                          value={accessStore.bytedanceUrl}
+                          placeholder={ByteDance.ExampleEndpoint}
+                          onChange={(e) =>
+                            accessStore.update(
+                              (access) =>
+                                (access.bytedanceUrl = e.currentTarget.value),
+                            )
+                          }
+                        ></input>
+                      </ListItem>
+                      <ListItem
+                        title={Locale.Settings.Access.ByteDance.ApiKey.Title}
+                        subTitle={
+                          Locale.Settings.Access.ByteDance.ApiKey.SubTitle
+                        }
+                      >
+                        <PasswordInput
+                          value={accessStore.bytedanceApiKey}
+                          type="text"
+                          placeholder={
+                            Locale.Settings.Access.ByteDance.ApiKey.Placeholder
+                          }
+                          onChange={(e) => {
+                            accessStore.update(
+                              (access) =>
+                                (access.bytedanceApiKey =
+                                  e.currentTarget.value),
+                            );
+                          }}
+                        />
+                      </ListItem>
+                    </>
+                  )}
                 </>
               )}
             </>
diff --git a/app/locales/cn.ts b/app/locales/cn.ts
index d7268807c..d60526870 100644
--- a/app/locales/cn.ts
+++ b/app/locales/cn.ts
@@ -363,6 +363,17 @@ const cn = {
           SubTitle: "样例:",
         },
       },
+      ByteDance: {
+        ApiKey: {
+          Title: "接口密钥",
+          SubTitle: "使用自定义 ByteDance API Key",
+          Placeholder: "ByteDance API Key",
+        },
+        Endpoint: {
+          Title: "接口地址",
+          SubTitle: "样例:",
+        },
+      },
       CustomModel: {
         Title: "自定义模型名",
         SubTitle: "增加自定义模型可选项,使用英文逗号隔开",
diff --git a/app/locales/en.ts b/app/locales/en.ts
index 3c0d8851f..136a5bbac 100644
--- a/app/locales/en.ts
+++ b/app/locales/en.ts
@@ -350,6 +350,17 @@ const en: LocaleType = {
           SubTitle: "Example:",
         },
       },
+      ByteDance: {
+        ApiKey: {
+          Title: "ByteDance API Key",
+          SubTitle: "Use a custom ByteDance API Key",
+          Placeholder: "ByteDance API Key",
+        },
+        Endpoint: {
+          Title: "Endpoint Address",
+          SubTitle: "Example:",
+        },
+      },
       CustomModel: {
         Title: "Custom Models",
         SubTitle: "Custom model options, seperated by comma",