← Back to Plugins
Tools

Flowspeech

waeckerlinfederowicz66-sketch By waeckerlinfederowicz66-sketch 👁 125 views ▲ 0 votes

FlowSpeech text-to-speech provider plugin for OpenClaw

GitHub

Install

npm install
npm

Configuration Example

{
  "messages": {
    "tts": {
      "provider": "flowspeech",
      "providers": {
        "flowspeech": {
          "voiceName": "Kore"
        }
      }
    }
  }
}

README

# FlowSpeech for OpenClaw

`openclaw-flowspeech` is an external speech-provider plugin that connects OpenClaw to [FlowSpeech](https://flowspeech.io/), a context-aware text-to-speech service with voice selection and style prompting.

The plugin follows OpenClaw's public `SpeechProviderPlugin` contract. It keeps the API key in OpenClaw configuration or the `FLOWSPEECH_API_KEY` environment variable and sends it only to the official `https://flowspeech.io` host.

## Features

- Registers the `flowspeech` speech provider with OpenClaw
- Supports 30 FlowSpeech voices, with `Kore` as the default
- Maps `[[tts:voice=...]]` directives to FlowSpeech voice selection
- Maps allowed `prompt`, `style`, or `emotion` voice settings to the FlowSpeech prompt
- Converts `audio/L16` PCM responses into standard WAV files
- Rejects redirects, non-HTTPS URLs, lookalike hosts, oversized audio, and malformed responses
- Does not bundle API keys or other credentials

## Install

After the ClawHub release is approved:

```bash
openclaw plugins install clawhub:openclaw-flowspeech
```

For local package testing:

```bash
npm install
npm pack
openclaw plugins install npm-pack:./openclaw-flowspeech-0.1.0.tgz --force
```

## Configure

Set the API key in the process environment:

```bash
export FLOWSPEECH_API_KEY="your_api_key"
```

Then select the provider in OpenClaw TTS configuration:

```json
{
  "messages": {
    "tts": {
      "provider": "flowspeech",
      "providers": {
        "flowspeech": {
          "voiceName": "Kore"
        }
      }
    }
  }
}
```

An API key can also be supplied through OpenClaw's secret-aware provider configuration. Do not commit it to this repository.

## Usage

Use OpenClaw's standard TTS command or automatic TTS mode. When model overrides are enabled, a message may select a voice:

```text
[[tts:voice=Puck]] Welcome to the product update.
```

When voice settings are allowed, a style prompt is also supported:

```text
[[tts:style=calm and reassuring]] Your report is ready.
```

## Provider configuration

| Field | Default | Description |
| --- | --- | --- |
| `apiKey` | `FLOWSPEECH_API_KEY` | Secret API credential |
| `baseUrl` | `https://flowspeech.io` | Fixed official FlowSpeech HTTPS host |
| `voiceName` | `Kore` | Default voice |
| `prompt` | unset | Optional default delivery/style prompt |

## Development

Use Node.js 22.22.3+, 24.15+, or 25.9+.

```bash
npm install
npm run check
npm test
npm run build
npm pack --dry-run
```

Tests use mocked HTTP responses and contain no live provider credentials.

## Security

- The plugin never logs the API key.
- `baseUrl` must be HTTPS and must resolve to the exact `flowspeech.io` hostname.
- Redirect following is disabled so authorization headers cannot be forwarded to another host.
- Response sizes are bounded before audio is decoded.

Report security issues privately to `support@flowspeech.io` rather than opening a public issue containing credentials.

## License

MIT
tools

Comments

Sign in to leave a comment

Loading comments...