Skip to main content

Configure Providers

A provider is Neiroha's connection entry for an external TTS backend. It stores how to access the service. The actual voices used by projects are bound later in Voice Characters and Voice Banks.

Provider configuration page

Core Relationship

LayerLocation in NeirohaPurpose
ProviderProvidersStores Base URL, API key, adapter type, concurrency, and rate limits.
Model / Voice CacheProvider detail panelCaches models and voices fetched from the backend.
Voice CharacterVoice BankBinds one provider, model, voice, speed, reference audio, or voice description into a character.
Voice BankVoice BankGroups characters for Dialogue, Phase, Novel, Video, and API workflows.

Adapter Types

AdapterUse Case
OpenAI TTS API CompatibleOpenAI-compatible /v1/audio/speech services such as Kokoro, XTTS, Orpheus, KoboldCpp, or custom wrappers.
Azure Speech ServiceMicrosoft Azure Speech TTS.
GPT-SoVITSNeiroha GPT-SoVITS local backend.
CosyVoice NativeNeiroha CosyVoice local backend.
VoxCPM2 NativeNeiroha VoxCPM2 local backend.
OpenAI Chat Completions TTSAudio returned through Chat Completions, such as MiMo v2 TTS.
Google Gemini TTSGoogle AI Studio Gemini TTS models.
Windows System TTSWindows SAPI voices without an external server.

Create a Provider

  1. Open Providers from the left navigation.
  2. Click + at the top of the provider list.
  3. Select an adapter type. Local model setup is covered in Connect Local Inference Backends; cloud or free quota setup is covered in Connect Cloud Inference Backends.
  4. Set a name, such as MiMo Free Trial, CosyVoice Local 9880, or Azure East US.
  5. Fill Base URL and API Key.
  6. Save, return to the provider detail panel, click Fetch All, then enable the provider.
  7. Click Health Check. After it passes, create voice characters.

Base URL Rules

ScenarioExampleNotes
Desktop app to local servicehttp://127.0.0.1:8880/v1OpenAI-compatible services usually include /v1.
Desktop app to LAN servicehttp://192.168.1.20:9880Allow the port through the firewall.
Android emulator to host machinehttp://10.0.2.2:9880127.0.0.1 inside the emulator means the emulator itself.
Android phone to computerhttp://LAN-IP:9880Phone and computer must be on the same network, or reachable through tunneling.
Azureeastus or https://eastus.tts.speech.microsoft.comNeiroha normalizes region names to TTS endpoints.
Geminihttps://generativelanguage.googleapis.comUses Google AI Studio API key.
MiMohttps://api.xiaomimimo.com/v1Uses the api-key header, not a Bearer header.

API Key and Authentication

AdapterKey RequiredAuthentication Used by Neiroha
OpenAI TTS API CompatibleDepends on serverAuthorization: Bearer <key>
OpenAI Chat Completions TTSUsually required for cloudapi-key: <key> by default for MiMo-style APIs
Google Gemini TTSRequiredx-goog-api-key: <key>
Azure Speech ServiceRequiredOcp-Apim-Subscription-Key: <key>
GPT-SoVITS / CosyVoice / VoxCPM2 localUsually emptyFill only if the local server enables authentication.
Windows System TTSNot requiredLocal SAPI

After Fetch All

Click Fetch All to cache backend models and voices. This determines what appears in character creation dropdowns.

ResultMeaningAction
Models and voices both appearFull listing worksEnable the provider and go to Voice Bank.
Models appear, voices are emptyBackend lacks a voice-list API, or model uses voice designFill voice or instruction manually.
Voices appear, models are emptyCommon for Azure or system TTSSelect a voice in the character.
Empty list but Health Check passesService is reachable, but list APIs are incompatibleFill default model and voice manually, then run Quick Test.
Health Check failsURL, key, port, network, or region is wrongVerify the backend with browser or curl, then update the provider.

Separate Concurrency from Quota

Provider concurrency, RPM, TPM, and RPD limits apply to all workflows: Quick TTS, Dialogue TTS, Phase TTS, Novel Reader, Video Dubbing, and the local API Server share the same TtsQueueService.

Recommended starting points:

BackendRecommended Setting
Local GPU serviceStart max concurrency at 1, then increase after VRAM is stable.
Gemini free tierFollow official RPM / TPM / RPD rate limits to avoid 429 errors.
Azure F0Mainly control character quota and batch size; test long text in small Phase TTS batches.
MiMo / other token plansUse console balance and model consumption rules; set conservative RPD / TPM.

Next Steps