diff --git a/.env.example b/.env.example index cd3440e..f4470d1 100644 --- a/.env.example +++ b/.env.example @@ -93,6 +93,5 @@ FFMPEG_BIN= # NEXT_PUBLIC_RESTRICT_USER_API_KEYS=true # NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=custom-openai # NEXT_PUBLIC_DEFAULT_TTS_MODEL=kokoro -# NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=true # NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true # NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false diff --git a/docs-site/docs/configure/admin-panel.md b/docs-site/docs/configure/admin-panel.md index 4def5a3..01e0d23 100644 --- a/docs-site/docs/configure/admin-panel.md +++ b/docs-site/docs/configure/admin-panel.md @@ -67,7 +67,6 @@ Runtime-editable settings, one row per key: | `defaultTtsProvider` | Default provider id new users start with (built-in id or shared slug). | | `restrictUserApiKeys` | Restrict user-supplied API keys/base URLs; when `true`, only admin shared providers are allowed. | | `enableTtsProvidersTab` | Whether the user-facing TTS Provider tab in Settings is shown. | -| `showAllDeepInfraModels` | Show the full DeepInfra catalog vs. the Kokoro-only subset. | | `showAllProviderModels` | When `false`, users are restricted to each provider's default model (shared provider `defaultModel` or built-in provider default). | | `enableWordHighlight` | Enable whisper.cpp word-by-word highlighting during TTS playback. | | `enableAudiobookExport` | Show the audiobook export entry points on PDF/EPUB pages. | diff --git a/docs-site/docs/deploy/vercel-deployment.md b/docs-site/docs/deploy/vercel-deployment.md index 43fdce5..a32c0e3 100644 --- a/docs-site/docs/deploy/vercel-deployment.md +++ b/docs-site/docs/deploy/vercel-deployment.md @@ -56,7 +56,6 @@ After the first successful deploy and admin login, open **Settings → Admin** a - `restrictUserApiKeys=true` to block user BYOK through the hosted server. - `defaultTtsProvider=replicate` (or your preferred shared slug). - `showAllProviderModels=false` if you want users locked to each provider's default model. - - `showAllDeepInfraModels=false` if you want a narrower default catalog. - `enableAudiobookExport=true`. - `enableWordHighlight=false` unless your timestamp stack is configured. diff --git a/docs-site/docs/reference/environment-variables.md b/docs-site/docs/reference/environment-variables.md index 8fb4db7..3aff3e1 100644 --- a/docs-site/docs/reference/environment-variables.md +++ b/docs-site/docs/reference/environment-variables.md @@ -405,12 +405,6 @@ Sets the default TTS provider for new users. `showAllProviderModels` is a runtime-only admin setting (no env seed). Configure it in **Settings → Admin → Site features**. -### NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS - -Controls whether the DeepInfra model list shows all models or just the free tier when no API key is set. - -- Default: `true` (show all) -- Runtime key: `showAllDeepInfraModels` ### NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT diff --git a/docs-site/versioned_docs/version-v2.0.0/deploy/vercel-deployment.md b/docs-site/versioned_docs/version-v2.0.0/deploy/vercel-deployment.md index ebe0b6c..31dd142 100644 --- a/docs-site/versioned_docs/version-v2.0.0/deploy/vercel-deployment.md +++ b/docs-site/versioned_docs/version-v2.0.0/deploy/vercel-deployment.md @@ -34,7 +34,6 @@ NEXT_PUBLIC_ENABLE_DOCX_CONVERSION=false NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M -NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false # Optional (non-AWS S3-compatible providers): @@ -49,7 +48,6 @@ We recommend setting these defaults for a production-like environment: - `NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false`: Hides destructive "Delete All" actions - `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra`: Points default TTS to a scalable provider - `NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M`: Uses a high-quality default model -- `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false`: Restricts usage to free models if no key is provided - `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true`: (Optional) Controls audiobook export UI - `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false`: (Optional) Controls word highlighting UI (requires timestamp backend) ::: diff --git a/docs-site/versioned_docs/version-v2.0.0/reference/environment-variables.md b/docs-site/versioned_docs/version-v2.0.0/reference/environment-variables.md index 152d693..8925f84 100644 --- a/docs-site/versioned_docs/version-v2.0.0/reference/environment-variables.md +++ b/docs-site/versioned_docs/version-v2.0.0/reference/environment-variables.md @@ -13,7 +13,6 @@ This is the single reference page for OpenReader environment variables. | `NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS` | Client feature flags | `true` unless set to `false` | Set `false` to hide destructive actions | | `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER` | Client feature flags | `custom-openai` | Override default TTS provider | | `NEXT_PUBLIC_DEFAULT_TTS_MODEL` | Client feature flags | `kokoro` | Override default TTS model | -| `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS` | Client feature flags | `true` unless set to `false` | Set `false` to restrict DeepInfra models | | `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT` | Client feature flags | `true` unless set to `false` | Set `false` to hide audiobook export UI | | `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT` | Client feature flags | `true` unless set to `false` | Set `false` to disable word highlight + alignment | | `API_BASE` | TTS provider | none | Point to your OpenAI-compatible TTS base URL | @@ -376,13 +375,6 @@ Absolute path or executable name for the ffmpeg binary used by audiobook/process - Default: `kokoro` - Example values: `hexgrad/Kokoro-82M`, `tts-1` - - ### NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS - - Controls whether the DeepInfra model list shows all models or just the free tier when no API key is set. - - - Default: `true` (show all) - - Set `false` to restrict to free tier models when no API key is provided ### NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT diff --git a/docs-site/versioned_docs/version-v2.0.1/deploy/vercel-deployment.md b/docs-site/versioned_docs/version-v2.0.1/deploy/vercel-deployment.md index ebe0b6c..31dd142 100644 --- a/docs-site/versioned_docs/version-v2.0.1/deploy/vercel-deployment.md +++ b/docs-site/versioned_docs/version-v2.0.1/deploy/vercel-deployment.md @@ -34,7 +34,6 @@ NEXT_PUBLIC_ENABLE_DOCX_CONVERSION=false NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M -NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false # Optional (non-AWS S3-compatible providers): @@ -49,7 +48,6 @@ We recommend setting these defaults for a production-like environment: - `NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false`: Hides destructive "Delete All" actions - `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra`: Points default TTS to a scalable provider - `NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M`: Uses a high-quality default model -- `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false`: Restricts usage to free models if no key is provided - `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true`: (Optional) Controls audiobook export UI - `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false`: (Optional) Controls word highlighting UI (requires timestamp backend) ::: diff --git a/docs-site/versioned_docs/version-v2.0.1/reference/environment-variables.md b/docs-site/versioned_docs/version-v2.0.1/reference/environment-variables.md index 152d693..8925f84 100644 --- a/docs-site/versioned_docs/version-v2.0.1/reference/environment-variables.md +++ b/docs-site/versioned_docs/version-v2.0.1/reference/environment-variables.md @@ -13,7 +13,6 @@ This is the single reference page for OpenReader environment variables. | `NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS` | Client feature flags | `true` unless set to `false` | Set `false` to hide destructive actions | | `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER` | Client feature flags | `custom-openai` | Override default TTS provider | | `NEXT_PUBLIC_DEFAULT_TTS_MODEL` | Client feature flags | `kokoro` | Override default TTS model | -| `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS` | Client feature flags | `true` unless set to `false` | Set `false` to restrict DeepInfra models | | `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT` | Client feature flags | `true` unless set to `false` | Set `false` to hide audiobook export UI | | `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT` | Client feature flags | `true` unless set to `false` | Set `false` to disable word highlight + alignment | | `API_BASE` | TTS provider | none | Point to your OpenAI-compatible TTS base URL | @@ -376,13 +375,6 @@ Absolute path or executable name for the ffmpeg binary used by audiobook/process - Default: `kokoro` - Example values: `hexgrad/Kokoro-82M`, `tts-1` - - ### NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS - - Controls whether the DeepInfra model list shows all models or just the free tier when no API key is set. - - - Default: `true` (show all) - - Set `false` to restrict to free tier models when no API key is provided ### NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT diff --git a/docs-site/versioned_docs/version-v2.1.0/deploy/vercel-deployment.md b/docs-site/versioned_docs/version-v2.1.0/deploy/vercel-deployment.md index 1bede11..e484c85 100644 --- a/docs-site/versioned_docs/version-v2.1.0/deploy/vercel-deployment.md +++ b/docs-site/versioned_docs/version-v2.1.0/deploy/vercel-deployment.md @@ -35,7 +35,6 @@ NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M -NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false # Optional (non-AWS S3-compatible providers): @@ -51,7 +50,6 @@ We recommend setting these defaults for a production-like environment: - `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false`: Hides the Settings -> TTS Provider section - `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra`: Points default TTS to a scalable provider - `NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M`: Uses a high-quality default model -- `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false`: Restricts usage to free models if no key is provided - `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true`: (Optional) Controls audiobook export UI - `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false`: (Optional) Controls word highlighting UI (requires timestamp backend) ::: diff --git a/docs-site/versioned_docs/version-v2.1.0/reference/environment-variables.md b/docs-site/versioned_docs/version-v2.1.0/reference/environment-variables.md index 0c525c8..c9ad0d0 100644 --- a/docs-site/versioned_docs/version-v2.1.0/reference/environment-variables.md +++ b/docs-site/versioned_docs/version-v2.1.0/reference/environment-variables.md @@ -14,7 +14,6 @@ This is the single reference page for OpenReader environment variables. | `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB` | Client feature flags | `true` unless set to `false` | Set `false` to hide the TTS Provider settings tab | | `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER` | Client feature flags | `custom-openai` | Override default TTS provider | | `NEXT_PUBLIC_DEFAULT_TTS_MODEL` | Client feature flags | `kokoro` | Override default TTS model | -| `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS` | Client feature flags | `true` unless set to `false` | Set `false` to restrict DeepInfra models | | `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT` | Client feature flags | `true` unless set to `false` | Set `false` to hide audiobook export UI | | `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT` | Client feature flags | `true` unless set to `false` | Set `false` to disable word highlight + alignment | | `API_BASE` | TTS provider | none | Point to your OpenAI-compatible TTS base URL | @@ -387,13 +386,6 @@ Controls whether the **TTS Provider** section appears in the Settings modal. - Default: `kokoro` - Example values: `hexgrad/Kokoro-82M`, `tts-1` - - ### NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS - - Controls whether the DeepInfra model list shows all models or just the free tier when no API key is set. - - - Default: `true` (show all) - - Set `false` to restrict to free tier models when no API key is provided ### NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT diff --git a/docs-site/versioned_docs/version-v2.1.1/deploy/vercel-deployment.md b/docs-site/versioned_docs/version-v2.1.1/deploy/vercel-deployment.md index 1bede11..e484c85 100644 --- a/docs-site/versioned_docs/version-v2.1.1/deploy/vercel-deployment.md +++ b/docs-site/versioned_docs/version-v2.1.1/deploy/vercel-deployment.md @@ -35,7 +35,6 @@ NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M -NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false # Optional (non-AWS S3-compatible providers): @@ -51,7 +50,6 @@ We recommend setting these defaults for a production-like environment: - `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false`: Hides the Settings -> TTS Provider section - `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra`: Points default TTS to a scalable provider - `NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M`: Uses a high-quality default model -- `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false`: Restricts usage to free models if no key is provided - `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true`: (Optional) Controls audiobook export UI - `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false`: (Optional) Controls word highlighting UI (requires timestamp backend) ::: diff --git a/docs-site/versioned_docs/version-v2.1.1/reference/environment-variables.md b/docs-site/versioned_docs/version-v2.1.1/reference/environment-variables.md index 0c525c8..c9ad0d0 100644 --- a/docs-site/versioned_docs/version-v2.1.1/reference/environment-variables.md +++ b/docs-site/versioned_docs/version-v2.1.1/reference/environment-variables.md @@ -14,7 +14,6 @@ This is the single reference page for OpenReader environment variables. | `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB` | Client feature flags | `true` unless set to `false` | Set `false` to hide the TTS Provider settings tab | | `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER` | Client feature flags | `custom-openai` | Override default TTS provider | | `NEXT_PUBLIC_DEFAULT_TTS_MODEL` | Client feature flags | `kokoro` | Override default TTS model | -| `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS` | Client feature flags | `true` unless set to `false` | Set `false` to restrict DeepInfra models | | `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT` | Client feature flags | `true` unless set to `false` | Set `false` to hide audiobook export UI | | `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT` | Client feature flags | `true` unless set to `false` | Set `false` to disable word highlight + alignment | | `API_BASE` | TTS provider | none | Point to your OpenAI-compatible TTS base URL | @@ -387,13 +386,6 @@ Controls whether the **TTS Provider** section appears in the Settings modal. - Default: `kokoro` - Example values: `hexgrad/Kokoro-82M`, `tts-1` - - ### NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS - - Controls whether the DeepInfra model list shows all models or just the free tier when no API key is set. - - - Default: `true` (show all) - - Set `false` to restrict to free tier models when no API key is provided ### NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT diff --git a/docs-site/versioned_docs/version-v2.1.2/deploy/vercel-deployment.md b/docs-site/versioned_docs/version-v2.1.2/deploy/vercel-deployment.md index 1bede11..e484c85 100644 --- a/docs-site/versioned_docs/version-v2.1.2/deploy/vercel-deployment.md +++ b/docs-site/versioned_docs/version-v2.1.2/deploy/vercel-deployment.md @@ -35,7 +35,6 @@ NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M -NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false # Optional (non-AWS S3-compatible providers): @@ -51,7 +50,6 @@ We recommend setting these defaults for a production-like environment: - `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false`: Hides the Settings -> TTS Provider section - `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=deepinfra`: Points default TTS to a scalable provider - `NEXT_PUBLIC_DEFAULT_TTS_MODEL=hexgrad/Kokoro-82M`: Uses a high-quality default model -- `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false`: Restricts usage to free models if no key is provided - `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true`: (Optional) Controls audiobook export UI - `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false`: (Optional) Controls word highlighting UI (requires timestamp backend) ::: diff --git a/docs-site/versioned_docs/version-v2.1.2/reference/environment-variables.md b/docs-site/versioned_docs/version-v2.1.2/reference/environment-variables.md index 0c525c8..c9ad0d0 100644 --- a/docs-site/versioned_docs/version-v2.1.2/reference/environment-variables.md +++ b/docs-site/versioned_docs/version-v2.1.2/reference/environment-variables.md @@ -14,7 +14,6 @@ This is the single reference page for OpenReader environment variables. | `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB` | Client feature flags | `true` unless set to `false` | Set `false` to hide the TTS Provider settings tab | | `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER` | Client feature flags | `custom-openai` | Override default TTS provider | | `NEXT_PUBLIC_DEFAULT_TTS_MODEL` | Client feature flags | `kokoro` | Override default TTS model | -| `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS` | Client feature flags | `true` unless set to `false` | Set `false` to restrict DeepInfra models | | `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT` | Client feature flags | `true` unless set to `false` | Set `false` to hide audiobook export UI | | `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT` | Client feature flags | `true` unless set to `false` | Set `false` to disable word highlight + alignment | | `API_BASE` | TTS provider | none | Point to your OpenAI-compatible TTS base URL | @@ -387,13 +386,6 @@ Controls whether the **TTS Provider** section appears in the Settings modal. - Default: `kokoro` - Example values: `hexgrad/Kokoro-82M`, `tts-1` - - ### NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS - - Controls whether the DeepInfra model list shows all models or just the free tier when no API key is set. - - - Default: `true` (show all) - - Set `false` to restrict to free tier models when no API key is provided ### NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT diff --git a/docs-site/versioned_docs/version-v2.2.0/deploy/vercel-deployment.md b/docs-site/versioned_docs/version-v2.2.0/deploy/vercel-deployment.md index c5a7e0c..5f04f9a 100644 --- a/docs-site/versioned_docs/version-v2.2.0/deploy/vercel-deployment.md +++ b/docs-site/versioned_docs/version-v2.2.0/deploy/vercel-deployment.md @@ -34,7 +34,6 @@ NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS=false NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=replicate NEXT_PUBLIC_DEFAULT_TTS_MODEL=alphanumericuser/kokoro-82m:89b6fa84e4fa2dd6bd3a96be3e1f12827a3516c9fda8fddbac7a0be131c9a6f5 -NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false # Optional (non-AWS S3-compatible providers): @@ -50,7 +49,6 @@ We recommend setting these defaults for a production-like environment: - `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB=false`: Hides the Settings -> TTS Provider section - `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER=replicate`: Points default TTS to a scalable provider - `NEXT_PUBLIC_DEFAULT_TTS_MODEL=alphanumericuser/kokoro-82m:89b6fa84e4fa2dd6bd3a96be3e1f12827a3516c9fda8fddbac7a0be131c9a6f5`: Uses a low-cost default model -- `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS=false`: Restricts usage to free models if no key is provided - `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT=true`: (Optional) Controls audiobook export UI - `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT=false`: (Optional) Controls word highlighting UI (requires timestamp backend) ::: diff --git a/docs-site/versioned_docs/version-v2.2.0/reference/environment-variables.md b/docs-site/versioned_docs/version-v2.2.0/reference/environment-variables.md index 2f1ff0b..de13b14 100644 --- a/docs-site/versioned_docs/version-v2.2.0/reference/environment-variables.md +++ b/docs-site/versioned_docs/version-v2.2.0/reference/environment-variables.md @@ -14,7 +14,6 @@ This is the single reference page for OpenReader environment variables. | `NEXT_PUBLIC_ENABLE_TTS_PROVIDERS_TAB` | Client feature flags | `true` unless set to `false` | Set `false` to hide the TTS Provider settings tab | | `NEXT_PUBLIC_DEFAULT_TTS_PROVIDER` | Client feature flags | `custom-openai` | Override default TTS provider | | `NEXT_PUBLIC_DEFAULT_TTS_MODEL` | Client feature flags | `kokoro` | Override default TTS model | -| `NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS` | Client feature flags | `true` unless set to `false` | Set `false` to restrict DeepInfra models | | `NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT` | Client feature flags | `true` unless set to `false` | Set `false` to hide audiobook export UI | | `NEXT_PUBLIC_ENABLE_WORD_HIGHLIGHT` | Client feature flags | `true` unless set to `false` | Set `false` to disable word highlight + alignment | | `API_BASE` | TTS provider | none | Point to your OpenAI-compatible TTS base URL | @@ -387,13 +386,6 @@ Controls whether the **TTS Provider** section appears in the Settings modal. - Default: `kokoro` - Example values: `hexgrad/Kokoro-82M`, `tts-1` - - ### NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS - - Controls whether the DeepInfra model list shows all models or just the free tier when no API key is set. - - - Default: `true` (show all) - - Set `false` to restrict to free tier models when no API key is provided ### NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT diff --git a/src/components/SettingsModal.tsx b/src/components/SettingsModal.tsx index c41093e..d5aa550 100644 --- a/src/components/SettingsModal.tsx +++ b/src/components/SettingsModal.tsx @@ -127,7 +127,6 @@ type AdminSubTab = 'providers' | 'features'; export function SettingsModal({ className = '' }: { className?: string }) { const runtimeConfig = useRuntimeConfig(); const enableDestructiveDelete = runtimeConfig.enableDestructiveDeleteActions; - const showAllDeepInfra = runtimeConfig.showAllDeepInfraModels; const showAllProviderModels = runtimeConfig.showAllProviderModels; const enableTTSProvidersTab = runtimeConfig.enableTtsProvidersTab; const restrictUserApiKeys = runtimeConfig.restrictUserApiKeys; @@ -191,11 +190,10 @@ export function SettingsModal({ className = '' }: { className?: string }) { apiKey: localApiKey, modelValue, customModelInput, - showAllDeepInfra, showAllProviderModels, sharedProviders, allowBuiltInProviders: !restrictUserApiKeys, - }), [localProviderRef, localProviderType, localApiKey, modelValue, customModelInput, showAllDeepInfra, showAllProviderModels, sharedProviders, restrictUserApiKeys]); + }), [localProviderRef, localProviderType, localApiKey, modelValue, customModelInput, showAllProviderModels, sharedProviders, restrictUserApiKeys]); const isSharedSelected = Boolean(selectedSharedProvider); const selectedProviderOption = ttsProviders.find((p) => p.id === localProviderRef) ?? ttsProviders[0]; @@ -715,7 +713,7 @@ export function SettingsModal({ className = '' }: { className?: string }) { type="password" value={localApiKey} onChange={(e) => handleInputChange('apiKey', e.target.value)} - placeholder={!showAllDeepInfra && providerModelPolicy.providerType === 'deepinfra' ? "Deepinfra free or use your API key" : "Using environment variable"} + placeholder="Using environment variable" className={inputClass} /> diff --git a/src/components/admin/AdminFeaturesPanel.tsx b/src/components/admin/AdminFeaturesPanel.tsx index 59bc198..14c6e69 100644 --- a/src/components/admin/AdminFeaturesPanel.tsx +++ b/src/components/admin/AdminFeaturesPanel.tsx @@ -264,14 +264,6 @@ export function AdminFeaturesPanel() { right={renderSource('enableTtsProvidersTab')} variant="flat" /> - updateDraft('showAllDeepInfraModels', checked)} - right={renderSource('showAllDeepInfraModels')} - variant="flat" - /> { } export function AdminProvidersPanel() { - const runtimeConfig = useRuntimeConfig(); const queryClient = useQueryClient(); const [editingId, setEditingId] = useState(null); const [form, setForm] = useState(() => createEmptyForm()); @@ -212,9 +210,8 @@ export function AdminProvidersPanel() { const modelDefinitions: TtsModelDefinition[] = useMemo( () => resolveProviderModels(form.providerType, { apiKey: form.apiKey, - showAllDeepInfra: runtimeConfig.showAllDeepInfraModels, }), - [form.providerType, form.apiKey, runtimeConfig.showAllDeepInfraModels], + [form.providerType, form.apiKey], ); const supportsCustomModel = providerSupportsCustomModel(form.providerType); const modelIsPreset = modelDefinitions.some((model) => model.id === form.defaultModel); diff --git a/src/contexts/RuntimeConfigContext.tsx b/src/contexts/RuntimeConfigContext.tsx index 6d7051d..5f3882d 100644 --- a/src/contexts/RuntimeConfigContext.tsx +++ b/src/contexts/RuntimeConfigContext.tsx @@ -19,7 +19,6 @@ export interface RuntimeConfig { enableAudiobookExport: boolean; enableDocxConversion: boolean; enableDestructiveDeleteActions: boolean; - showAllDeepInfraModels: boolean; showAllProviderModels: boolean; } @@ -31,7 +30,6 @@ const RUNTIME_DEFAULTS: RuntimeConfig = { enableAudiobookExport: true, enableDocxConversion: true, enableDestructiveDeleteActions: true, - showAllDeepInfraModels: true, showAllProviderModels: true, }; diff --git a/src/lib/client/settings/tts-settings.ts b/src/lib/client/settings/tts-settings.ts index 771361e..49f4007 100644 --- a/src/lib/client/settings/tts-settings.ts +++ b/src/lib/client/settings/tts-settings.ts @@ -22,7 +22,6 @@ export interface ResolveTtsSettingsViewModelOptions { apiKey?: string; modelValue: string; customModelInput: string; - showAllDeepInfra: boolean; showAllProviderModels: boolean; sharedProviders?: SharedProviderEntry[]; allowBuiltInProviders?: boolean; @@ -59,7 +58,6 @@ export function resolveTtsSettingsViewModel({ apiKey, modelValue, customModelInput, - showAllDeepInfra, showAllProviderModels, sharedProviders = [], allowBuiltInProviders = true, @@ -98,7 +96,6 @@ export function resolveTtsSettingsViewModel({ const catalogModels = resolveProviderModels(knownProviderType ?? 'custom-openai', { apiKey, - showAllDeepInfra, }); const providerDefaults = resolveProviderDefaults({ providerRef: selectedProviderRef, diff --git a/src/lib/server/admin/settings.ts b/src/lib/server/admin/settings.ts index ce5b19e..425489e 100644 --- a/src/lib/server/admin/settings.ts +++ b/src/lib/server/admin/settings.ts @@ -84,7 +84,6 @@ export const RUNTIME_CONFIG_SCHEMA = { enableAudiobookExport: booleanFlag(true, 'NEXT_PUBLIC_ENABLE_AUDIOBOOK_EXPORT'), enableDocxConversion: booleanFlag(true, 'NEXT_PUBLIC_ENABLE_DOCX_CONVERSION'), enableDestructiveDeleteActions: booleanFlag(true, 'NEXT_PUBLIC_ENABLE_DESTRUCTIVE_DELETE_ACTIONS'), - showAllDeepInfraModels: booleanFlag(true, 'NEXT_PUBLIC_SHOW_ALL_DEEPINFRA_MODELS'), showAllProviderModels: runtimeBoolean(true), } as const satisfies Record>; diff --git a/src/lib/shared/tts-provider-catalog.ts b/src/lib/shared/tts-provider-catalog.ts index f356843..86c1466 100644 --- a/src/lib/shared/tts-provider-catalog.ts +++ b/src/lib/shared/tts-provider-catalog.ts @@ -26,7 +26,6 @@ export interface TtsProviderDefinition { export interface ResolveProviderModelsContext { apiKey?: string; - showAllDeepInfra?: boolean; } export interface ResolveVoicesOptions { @@ -59,10 +58,6 @@ const DEEPINFRA_MODELS_FULL: TtsModelDefinition[] = [ { id: 'custom', name: 'Other' }, ]; -const DEEPINFRA_MODELS_LIMITED: TtsModelDefinition[] = [ - { id: 'hexgrad/Kokoro-82M', name: 'hexgrad/Kokoro-82M' }, -]; - export const REPLICATE_KOKORO_82M_VERSIONED_MODEL = 'alphanumericuser/kokoro-82m:89b6fa84e4fa2dd6bd3a96be3e1f12827a3516c9fda8fddbac7a0be131c9a6f5' as const; @@ -148,12 +143,7 @@ export const TTS_PROVIDER_DEFINITIONS: TtsProviderDefinition[] = [ id: 'deepinfra', name: 'Deepinfra', supportsCustomModel: true, - models: (context) => { - if (!context?.showAllDeepInfra && !context?.apiKey) { - return DEEPINFRA_MODELS_LIMITED; - } - return DEEPINFRA_MODELS_FULL; - }, + models: () => DEEPINFRA_MODELS_FULL, }, { id: 'openai', diff --git a/tests/unit/tts-provider-catalog.spec.ts b/tests/unit/tts-provider-catalog.spec.ts index 0fe08b8..3c40372 100644 --- a/tests/unit/tts-provider-catalog.spec.ts +++ b/tests/unit/tts-provider-catalog.spec.ts @@ -14,7 +14,7 @@ import { applyConfigUpdate, getVoicePreferenceKey } from '../../src/lib/client/c import { buildSyncedPreferencePatch } from '../../src/lib/client/config/preferences'; test.describe('tts provider catalog', () => { - test('resolves provider models with Deepinfra gating unchanged', () => { + test('resolves provider models with fixed Deepinfra catalog', () => { expect(resolveProviderModels('openai').map((model) => model.id)).toEqual([ 'tts-1', 'tts-1-hd', @@ -22,15 +22,7 @@ test.describe('tts provider catalog', () => { ]); expect(resolveProviderModels('deepinfra', { - showAllDeepInfra: false, apiKey: '', - }).map((model) => model.id)).toEqual([ - 'hexgrad/Kokoro-82M', - ]); - - expect(resolveProviderModels('deepinfra', { - showAllDeepInfra: false, - apiKey: 'token', }).map((model) => model.id)).toEqual([ 'hexgrad/Kokoro-82M', 'canopylabs/orpheus-3b-0.1-ft', diff --git a/tests/unit/tts-settings-admin-view-model.spec.ts b/tests/unit/tts-settings-admin-view-model.spec.ts index 13b2055..c207ce6 100644 --- a/tests/unit/tts-settings-admin-view-model.spec.ts +++ b/tests/unit/tts-settings-admin-view-model.spec.ts @@ -27,7 +27,6 @@ test.describe('resolveTtsSettingsViewModel (admin/shared modes)', () => { providerType: 'unknown', modelValue: 'kokoro', customModelInput: '', - showAllDeepInfra: false, showAllProviderModels: true, sharedProviders: [ { @@ -53,7 +52,6 @@ test.describe('resolveTtsSettingsViewModel (admin/shared modes)', () => { providerType: 'unknown', modelValue: 'gpt-4o-mini-tts', customModelInput: '', - showAllDeepInfra: false, showAllProviderModels: true, sharedProviders: SHARED, allowBuiltInProviders: false, @@ -69,7 +67,6 @@ test.describe('resolveTtsSettingsViewModel (admin/shared modes)', () => { providerType: 'unknown', modelValue: 'kokoro', customModelInput: '', - showAllDeepInfra: false, showAllProviderModels: true, sharedProviders: SHARED, allowBuiltInProviders: false, @@ -85,7 +82,6 @@ test.describe('resolveTtsSettingsViewModel (admin/shared modes)', () => { providerType: 'unknown', modelValue: 'my-custom-model', customModelInput: '', - showAllDeepInfra: false, showAllProviderModels: true, sharedProviders: SHARED, allowBuiltInProviders: false, @@ -102,7 +98,6 @@ test.describe('resolveTtsSettingsViewModel (admin/shared modes)', () => { providerType: 'unknown', modelValue: 'not-in-presets', customModelInput: '', - showAllDeepInfra: false, showAllProviderModels: true, sharedProviders: SHARED, allowBuiltInProviders: false, @@ -119,7 +114,6 @@ test.describe('resolveTtsSettingsViewModel (admin/shared modes)', () => { providerType: 'unknown', modelValue: 'kokoro', customModelInput: '', - showAllDeepInfra: false, showAllProviderModels: true, sharedProviders: SHARED, allowBuiltInProviders: false, @@ -135,7 +129,6 @@ test.describe('resolveTtsSettingsViewModel (admin/shared modes)', () => { providerType: 'unknown', modelValue: 'my-custom-model', customModelInput: 'my-custom-model', - showAllDeepInfra: false, showAllProviderModels: false, sharedProviders: SHARED, allowBuiltInProviders: false,