🧪 Skills

Quick TTS

Zero-config text-to-speech — give text, get an mp3 file. Handles natural-language voice selection ("用女声", "撒娇语气", "生气一点") and auto-inserts pacing breaks for...

v1.0.0
❤️ 0
⬇️ 21
👁 1
Share

Description


name: senseaudio-tts-quick description: Zero-config text-to-speech — give text, get an mp3 file. Handles natural-language voice selection ("用女声", "撒娇语气", "生气一点") and auto-inserts pacing breaks for long text. Use this whenever a user wants to quickly synthesize speech without configuring API details, or says things like "帮我把这段话合成语音", "用温柔御姐的声音读一下", "生成一段生气语气的音频". metadata: openclaw: requires: env: - SENSEAUDIO_API_KEY bins: - curl - jq - xxd primaryEnv: SENSEAUDIO_API_KEY homepage: https://senseaudio.cn compatibility: required_credentials: - name: SENSEAUDIO_API_KEY description: API key from https://senseaudio.cn/platform/api-key env_var: SENSEAUDIO_API_KEY

SenseAudio TTS Quick

Zero-config speech synthesis. User gives text, you produce an mp3 file — no API knowledge required.

Voice Selection

Default voice: male_0004_a (儒雅道长, neutral).

Map natural-language requests to voice IDs before calling the API:

User says voice_id
女声 / 女生 / 女的 female_0006_a (温柔御姐)
温柔御姐 female_0006_a
嗲嗲 / 台妹 female_0033_a
撒娇 female_0033_c
低落 / 难过 / 悲伤 female_0033_d
委屈 female_0033_e
生气 / 愤怒 female_0033_f
开心 / 高兴 / 活泼 female_0033_b
傲娇 female_0027_f
病娇 female_0027_c
妩媚 / 性感 female_0027_e
男声 / 男生 male_0004_a
沙哑 / 深情 male_0018_a
撒娇青年 male_0023_a
乐观 / 少年 male_0026_a
儿童 / 小孩 / 萌娃 child_0001_b

If the user names a voice not in this table, use male_0004_a and note the fallback.

Long Text Pacing

For text longer than 100 characters, insert <break time="300"/> after each to improve natural rhythm:

原文:今天天气很好。我们出去走走吧。
处理后:今天天气很好。<break time="300"/>我们出去走走吧。<break time="300"/>

Do not insert breaks inside quoted speech or after mid-sentence punctuation like .

API Call

curl -s -X POST https://api.senseaudio.cn/v1/t2a_v2 \
  -H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "SenseAudio-TTS-1.0",
    "text": "<TEXT>",
    "stream": false,
    "voice_setting": {
      "voice_id": "<VOICE_ID>"
    },
    "audio_setting": {
      "format": "mp3"
    }
  }' -o response.json

# Decode hex audio to mp3
jq -r '.data.audio' response.json | xxd -r -p > output.mp3

Check base_resp.status_code == 0 before decoding. On error, show base_resp.status_msg.

Output

After generating the file:

  1. Save as a descriptive filename, e.g. speech_<timestamp>.mp3 or based on the first few words of the text.
  2. Report:
    • File path
    • Audio duration: jq '.extra_info.audio_length' response.json (ms → seconds)
    • Character count: jq '.extra_info.usage_characters' response.json
    • Voice used

Example output:

生成完成:speech_20240315.mp3
音色:温柔御姐 (female_0006_a)
时长:4.2 秒
字数:38 字

Error Handling

status_code Likely cause Action
401 Invalid API key Ask user to check SENSEAUDIO_API_KEY
400 Text too long (>10000 chars) Split text and generate multiple files
429 Rate limit Wait a moment and retry once

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs