Files
fish-audio-plugin/README.md
Clawdbot 4af0789ebe sync: match upstream PR #56891 at rebase 2026-03-30
Brings Gitea mirror up to date with the current state of the
openclaw/openclaw PR branch, including all fixes from Codex review:

- Namespaced directive keys (fishaudio_*/fish_* prefixes only)
- Strict latency directive validation with warnings
- Code quality cleanup, s2 model removal
- Contract and directive parsing tests
- README updated with prefixed directive docs

Source: Conan-Scott/openclaw@9787ef6e (feat/fish-audio-speech-provider)
2026-03-30 18:14:52 +11:00

1.6 KiB
Raw Permalink Blame History

Fish Audio Speech

Bundled Fish Audio TTS speech provider for OpenClaw.

Features

  • Fish Audio S2-Pro and S1 model support
  • Dynamic voice listing (user's own cloned/trained voices via self=true)
  • Format-aware output: opus for voice notes (Telegram, WhatsApp), mp3 otherwise
  • Inline directives: voice, speed, model, latency, temperature, top_p
  • voiceCompatible: true for both formats

Configuration

{
  messages: {
    tts: {
      provider: "fish-audio",
      providers: {
        "fish-audio": {
          apiKey: "your-fish-audio-api-key",
          voiceId: "reference-id-of-voice",
          model: "s2-pro",         // s2-pro | s1
          latency: "normal",       // normal | balanced | low
          // speed: 1.0,           // 0.52.0 (optional)
          // temperature: 0.7,     // 01 (optional)
          // topP: 0.8,            // 01 (optional)
        },
      },
    },
  },
}

Environment variable fallback: FISH_AUDIO_API_KEY.

Directives

All directive keys are provider-prefixed to avoid dispatch collisions with bundled providers (OpenAI, ElevenLabs) that claim generic keys like voice and model. Both fishaudio_* and shorter fish_* aliases are accepted.

[[tts:fishaudio_voice=<ref_id>]]     Switch voice (or fish_voice)
[[tts:fishaudio_speed=1.2]]          Prosody speed 0.52.0 (or fish_speed)
[[tts:fishaudio_model=s1]]           Model override (or fish_model)
[[tts:fishaudio_latency=low]]        Latency mode (or fish_latency)
[[tts:fishaudio_temperature=0.7]]    Sampling temperature (or fish_temperature)
[[tts:fishaudio_top_p=0.8]]          Top-p sampling (or fish_top_p)