listenhub-voice
End-to-end audio generation with ListenHub-Voice-1.0 (text / image → audio).
Skill by marswaveai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/marswaveai-listenhub-voice
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/listenhub-voice
What's inside
- Skill name
listenhub-voice- Description
- End-to-end audio generation with ListenHub-Voice-1.0 (text / image → audio). Supports sound effects, multi-voice dialogue, reference-audio cloning, and a duration hint. Triggers on: "生成音频", "语音生成", "端到端音频", "图片转音频", "图片生成音频", "多音色对白", "参考音频克隆", "克隆音色", "音效生成", "生成音效".
- License
- MIT
- Instructions
- 525 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- body: 525 lines (spec recommends under 500)
Files (1)
- SKILL.md
SKILL.md (first lines)
## When to Use
- User wants end-to-end audio from text (with sound effects baked in by the model)
- User wants a multi-voice dialogue where each line is assigned to a different voice
- User wants to clone a voice from a reference audio clip
- User wants to turn a reference **image** into audio (image → audio)
- User wants pure sound-effect generation from a text description
- User says "生成音频", "端到端音频", "图片转音频", "多音色对白", "参考音频克隆", "音效"
## When NOT to Use
- User just wants a single registered ListenHub voice to read text aloud (use `/tts`) —
`/tts` is lower-latency for plain narration with already-registered ListenHub speakers
- User wants a podcast-style discussion with topic exploration (use `/podcast`)
- User wants music or a cover song (use `/music`)
- User wants a video (use `/video-gen`)
- User wants to transcribe audio/video to text (use `/asr`)
`/tts` vs `/listenhub-voice`: `/listenhub-voice` is the ListenHub-Voice-1.0 **end-to-end** model —
text or image into a finished audio track that can include sound effects, multi-voice
dialogue, and reference-audio voice cloning, with an optional `durationHint` to target
an approximate length. Plain single-voice narration with an already-registered ListenHub
voice can still go through `/tts`.
## Purpose
Generate end-to-end audio with the **ListenHub-Voice-1.0** model. One async task takes a text
script (and optionally voices, a reference image, audio params, and a duration hint) and
returns a finished audio file. Modes:
- **Plain text / sound effects** — no `voices`, no `image`. The model synthesizes the text
and any sound effects described in it.
- **Single voice** — `voices` with 1 item, either a registered ListenHub speaker / Official
`voice_type` (`type: speaker`) or a reference-audio clone (`type: reference`).
- **Multi-voice dialogue** — `voices` with 2–3 items; the script assigns each line with
`@音频1` / `@音频2` prefixes in `voices` array order. Every item in a multi-voice request
must be reference-audio-capable (official `voice_type` is single-voice only).
- **Reference-audio cloning** — `voices` item of `type: reference` pointing at a public
audio URL to clone that voice.
- **Image → audio** — an `image` (url or data). **Mutually exclusive with `voices`.**
## Hard Constraints
- Always check CLI auth following `shared/cli-authentication.md`
- Follow `shared/cli-patterns.md` for CLI execution, errors, and interaction patterns
- Always read config following `shared/config-pattern.md` before any interaction
- Follow `shared/output-mode.md` for result presentation — `download` mode saves
`{slug}.{ext}` (ext = `audioConfig.format`: `mp3` default / `wav` / `pcm` / `ogg_opus`)
to cwd with dedupe per `shared/config-pattern.md` § Artifact Naming
- Always use the async pattern: submit returns a `taskId`, then **poll** the task endpoint
until `success` / `failed` — never block waiting on a single call
- `image` and `voices` are **mutually exclusive** — never send both in one request
- Multi-voice (`voices` length > 1): every item must be reference-audio-capable; a Official
`voice_type` (`type: speaker`) is single-voice only and will be rejected in a multi-voice request
- Never expose provider routing, credentials, internal status names, DAO, MongoDB, or
callback internals — work only from the public 3-endpoint contract below
<HARD-GATE>
Use the AskUserQuestion tool for every multiple-choice step — do NOT print options
as plain text. Ask one question at a time. Wait for the user's answer before
proceeding to the next step. After all parameters are collected, summarize the
choices and ask the user to confirm. Do NOT call the generate endpoint until the
user has explicitly confirmed.
</HARD-GATE>
## Step -1: CLI Command Gate (ListenHub Voice HTTP fallback)
> ⚠️ **CLI status:** `listenhub-cli` does **not** yet ship a `listenhub-voice` subcommand.
> All examples below therefore call the OpenAPI HTTP contract directly with `curl` and a
> Bearer API Key (`lh_sk_...`). When a `listenhub-voice` CLI subcommand ships, this skill should
> be updated to prefer it (mirroring `/video-gen`'s `$CMD_PREFIX` pattern).
Detect whether a future CLI subcommand exists; if not, fall back to HTTP:
```bash
if listenhub listenhub-voice --help &>/dev/null; then
LISTENHUB_VOICE_MODE="cli"
else
echo "LISTENHUB_VOICE_COMMAND_UNAVAILABLE — falling back to OpenAPI HTTP (curl)"
LISTENHUB_VOICE_MODE="http"
fi
```
For `http` mode, an OpenAPI API Key is required. Read it from config or env:
```bash
API_BASE="https://api.marswave.ai/openapi" # OpenAPI base; see shared/cli-authentication.md
API_KEY="${LISTENHUB_API_KEY:-$(listenhub openapi config show --json 2>/dev/null | jq -r '.apiKey // empty')}"
if [ -z "$API_KEY" ]; then
echo "需要 OpenAPI API Key(lh_sk_...)。请先用 listenhub openapi config set-key 配置,或设置 LISTENHUB_API_KEY 环境变量。"
fi
```
All requests authenticate with `Authorization: Bearer $API_KEY`.
## Step 0: Config Setup
Follow `shared/config-pattern.md` Step 0 (Zero-Question Boot).
**If file doesn't exist** — silently create with defaults and proceed:
```bash
mkdir -p ".listenhub/listenhub-voice"
echo '{"outputMode":"inline"}' > ".listenhub/listenhub-voice/config.json"
CONFIG_PATH=".listenhub/listenhub-voice/config.json"
CONFIG=$(cat "$CONFIG_PATH")
```
Session defaults (not persisted unless user reconfigures):
- model: `listenhub-voice-1.0` (the only valid value)
- audioConfig.format: `mp3`
**Do NOT ask any setup questions.** Proceed directly to the Interaction Flow.
**If file exists** — read config silently and proceed:
```bash
CONFIG_PATH=".listenhub/listenhub-voice/config.json"
[ ! -f "$CONFIG_PATH" ] && CONFIG_PATH="$HOME/.listenhub/listenhub-voice/config.json"
CONFIG=$(cat "$CONFIG_PATH")
OUTPUT_MODE=$(echo "$CONFIG" | jq -r '.outputMode // "inline"')From marswaveai/skills, MIT.
More from marswaveai/skills
- 0.636score
universal-email
marswaveai
Use the bundled Himalaya 2 CLI to connect IMAP/SMTP or Microsoft Graph mailboxes and list, search, read, compose, reply, forward, move, delete, flag, and…
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
tts
marswaveai
Text-to-speech and voice narration.
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
podcast
marswaveai
Create podcasts from topics, URLs, or text.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
icloud-calendar
marswaveai
List iCloud calendars and read, create, update, or delete iCloud Calendar events with the icloud-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
outlook-calendar
marswaveai
View, create, update, and delete Outlook or Microsoft 365 calendar events with the cola-outlook-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
google-calendar
marswaveai
Use the bundled Google Workspace CLI (gws) to read, create, update, and delete Google Calendar events, list calendars, and show agendas.
SkillBFreshness: B★ 80Claude Code +9 - 0.631score
listenhub
marswaveai
ListenHub CLI skills router.
SkillBFreshness: B★ 80Claude Code +9 - 0.631score
listenhub-cli
marswaveai
ListenHub CLI skills router.
SkillBFreshness: B★ 80Claude Code +9 - 0.631score
voice-clone
marswaveai
Clone a voice from reference audio into a reusable private ListenHub speaker, then use it for narration.
SkillBFreshness: B★ 80Claude Code +9 - 0.586score
explainer
marswaveai
Create explainer videos with narration and AI-generated visuals.
SkillCFreshness: C★ 80Claude Code +9 - 0.586score
content-parser
marswaveai
Extract and parse content from URLs.
SkillCFreshness: C★ 80Claude Code +9 - 0.586score
image-gen
marswaveai
Generate AI images from text prompts.
SkillCFreshness: C★ 80Claude Code +9
Signals
- Stars
- 80
- Forks
- 3
- Open issues
- 0
- Last commit (this folder)
- Jun 30, 2026 (4 months ago)
- Last release
- May 22, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/marswaveai/skills
- Website
- skills.sh/marswaveai/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from marswaveai
- 0.636score
podcast
marswaveai
Create podcasts from topics, URLs, or text.
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
tts
marswaveai
Text-to-speech and voice narration.
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
universal-email
marswaveai
Use the bundled Himalaya 2 CLI to connect IMAP/SMTP or Microsoft Graph mailboxes and list, search, read, compose, reply, forward, move, delete, flag, and…
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
google-calendar
marswaveai
Use the bundled Google Workspace CLI (gws) to read, create, update, and delete Google Calendar events, list calendars, and show agendas.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
icloud-calendar
marswaveai
List iCloud calendars and read, create, update, or delete iCloud Calendar events with the icloud-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
outlook-calendar
marswaveai
View, create, update, and delete Outlook or Microsoft 365 calendar events with the cola-outlook-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9
Cite this page
listenhub-voice skill. Agent Mart. https://agentmart.dev/skills/marswaveai-listenhub-voice (last updated 2026-10-24)