acestep
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when generating music, soundtracks,…
Generate neural narration audio using Azure AI Speech (REST text-to-speech). Use when synthesizing voiceovers or narration in OpenMontage. Optional cloud TTS provider — preferred when AZURE_SPEECH_KEY is configured; the local piper_tts remains the default offline path. Shares
$ npx -y skills add calesthio/OpenMontage --skill azure-text-to-speech --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/azure-text-to-speechContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate neural narration audio using Azure AI Speech (REST text-to-speech). Use when synthesizing voiceovers or narration in OpenMontage. Optional cloud TTS provider — preferred when AZURE_SPEECH_KEY is configured; the local piper_tts remains the default offline path. Shares
name: azure-text-to-speech
description: Generate neural narration audio using Azure AI Speech (REST text-to-speech). Use when synthesizing voiceovers or narration in OpenMontage. Optional cloud TTS provider — preferred when AZURE_SPEECH_KEY is configured; the local piper_tts remains the default offline path. Shares one Speech resource with azure_stt.
license: MIT
compatibility: Requires internet access and an Azure AI Speech resource (AZURE_SPEECH_KEY + AZURE_SPEECH_REGION).
metadata: {"openclaw": {"requires": {"env": ["AZURE_SPEECH_KEY", "AZURE_SPEECH_REGION"]}, "primaryEnv": "AZURE_SPEECH_KEY"}}Generate narration with **Azure neural TTS** — high-quality multilingual voices, SSML prosody control, and express-as styles, served synchronously by the REST `/cognitiveservices/v1` endpoint (no token exchange, Blob storage, or job polling). In OpenMontage this is exposed through the `azure_tts` tool (`capability=tts`, `provider=azure`). It is an **optional cloud TTS provider** — when `AZURE_SPEECH_KEY` is configured, prefer it for high-quality cloud narration. The local `piper_tts` remains the **default offline path** and the fallback when Azure is unavailable; `elevenlabs_tts` remains the choice for voice cloning.
> Docs: [REST text to speech](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech) · [Voice gallery](https://speech.microsoft.com/portal/voicegallery)
Same Speech resource as `azure_stt` — **one key/region unlocks both directions** (STT and TTS). Create a **Speech** resource in the [Azure portal](https://portal.azure.com); copy the key and region from its **Keys and Endpoint** page.
export AZURE_SPEECH_KEY=your_speech_resource_key export AZURE_SPEECH_REGION=eastus # your resource's region # export AZURE_TTS_ENDPOINT=https://... # optional: full custom TTS host # (the TTS host is https://<region>.tts.speech.microsoft.com — a different # subdomain than the STT endpoint, hence the separate override var)
`azure_tts` reports `AVAILABLE` once `AZURE_SPEECH_KEY` plus either `AZURE_SPEECH_REGION` or `AZURE_TTS_ENDPOINT` are set.
Route through `tts_selector` as usual (it auto-discovers `azure_tts`), or call the provider tool directly when the user has approved Azure:
from tools.tool_registry import registry
registry.discover()
tts = registry._tools["azure_tts"]
result = tts.execute({
"text": "Every design decision in this dashboard has a reason.",
"voice": "andrew", # alias or full Azure short name
"rate": "-4%", # slightly slower for narration
# "style": "narration-professional", # for voices that support styles
"output_path": "projects/my-video/assets/audio/seg_001.mp3",
"output_format": "mp3", # or "wav" (48kHz PCM) for mixing
})If `azure_tts` is unavailable (no key) or errors, fall back per its declared chain: `elevenlabs_tts` → `openai_tts` → `piper_tts`.
Curated shortlist (aliases accepted by the `voice` param):
| Alias | Voice | Character | |-------|-------|-----------| | `andrew` | en-US-AndrewMultilingualNeural | warm, confident, conversational — the default; founder/explainer register | | `brandon` | en-US-BrandonMultilingualNeural | deeper, measured | | `ava` | en-US-AvaMultilingualNeural | confident, bright female | | `guy` | en-US-GuyNeural | authoritative | | `jenny` | en-US-JennyNeural | friendly, clear |
Any valid Azure voice short name may be passed verbatim (e.g. `de-DE-KatjaNeural`); the *Multilingual* voices handle non-English text well — set `locale` to match the text's language for correct SSML.
slowed (`"-4%"` to `"-8%"`); leave pitch at `"0%"` unless correcting a voice.
(`narration-professional`, `calm`, `newscast`). Unsupported styles are silently ignored by Azure, so listen to a sample before batch runs.
when the segment feeds `audio_mixer` for further processing.
safe to regenerate individual segments without re-recording the whole set.
Azure neural TTS Standard tier bills roughly **$16 per 1M characters** (~$0.016 per 1k chars; a 150-word narration segment ≈ $0.015). The tool reports per-call `cost_usd` for the cost tracker. See [Azure AI Speech pricing](https://azure.microsoft.com/pricing/details/cognitive-services/speech-services/) for current rates.
asset stage convention) rather than one giant paragraph — smaller segments align cleanly to scene timings and are cheap to regenerate.
any segment OpenMontage generates.
plain text plus the `rate`/`pitch`/`style` params.
full script (voice/style fit is a creative decision — surface it at the proposal stage per the Decision Communication Contract).
World's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.
Repo: calesthio/OpenMontage
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when generating music, soundtracks,…
Build voice AI agents with ElevenLabs. Use when creating voice assistants, customer service bots, interactive voice characters, or any real-time voice…
Generate AI videos from text prompts using multiple provider gateways. Use when: (1) Generating videos from text descriptions, (2) Creating AI-generated video…
Create AI avatar videos with precise control over avatars, voices, scripts, scenes, and backgrounds using HeyGen's v2 API. Use when: (1) Choosing a specific…
Transcribe audio to text using Azure AI Speech (Fast Transcription REST API). Use when converting audio/video to text, generating subtitles, or processing…
Render Mermaid diagrams as SVG and PNG using the Beautiful Mermaid library. Use when the user asks to render a Mermaid diagram.