tinyhumansai/openhuman · error

voice provider '{}' does not support STT (capability: {})

Error message

voice provider '{}' does not support STT (capability: {})

What it means

The slug resolved to a configured voice provider, but its capability flags do not include STT (e.g. a TTS-only provider selected for transcription). Fails before provider construction; the message reports the actual capability.

Source

Thrown at src/openhuman/voice/factory/helpers.rs:109

/// Create an STT provider by looking up a slug in `config.voice_providers`.
pub(super) fn create_stt_provider_by_slug(
    slug: &str,
    model: &str,
    config: &Config,
) -> anyhow::Result<Box<dyn SttProvider>> {
    let entry = config
        .voice_providers
        .iter()
        .find(|p| p.slug == slug)
        .ok_or_else(|| {
            anyhow::anyhow!(
                "no voice provider with slug '{}' found in voice_providers",
                slug
            )
        })?;

    if !entry.capability.supports_stt() {
        return Err(anyhow::anyhow!(
            "voice provider '{}' does not support STT (capability: {})",
            slug,
            entry.capability.as_str()
        ));
    }

    let effective_model = if model.trim().is_empty() {
        entry.default_stt_model.as_deref().unwrap_or("default")
    } else {
        model
    };

    let api_key = crate::openhuman::inference::provider::factory::lookup_key_for_slug(slug, config)
        .unwrap_or_default();

    debug!(
        "{LOG_PREFIX} creating external STT provider slug={slug} model={effective_model} \
         endpoint={} key_present={}",

View on GitHub (pinned to 7491200858)

Solutions

  1. Select a provider whose capability includes STT
  2. Or update the entry's capability in config.toml to declare stt support
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/voice/factory/helpers.rs:109 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/22f5b9d379139173. Report an issue: GitHub.