Prerequisites
Install and load these skills before generating (skip if already in context via @pruna):
| Skill |
Description |
Install |
generation-diversity |
Use when writing any generative prompt — ritual seed, explicit structure, scenario axes, and quality gates before paid API calls. |
npx skills add PrunaAI/pruna-skills@generation-diversity -y |
audio-prompting |
Use when crafting TTS, music, or bed prompts for any generative audio model — director style, song structure, and post-production layering. |
npx skills add PrunaAI/pruna-skills@audio-prompting -y |
video-prompting |
Use when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining. |
npx skills add PrunaAI/pruna-skills@video-prompting -y |
pruna-api |
Use before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety. |
npx skills add PrunaAI/pruna-skills@pruna-api -y |
Or install the full suite once: npx skills add PrunaAI/pruna-skills@pruna -y
Follow each skill's Before generating / craft sections — do not restate guide content here.
Agent habit
In the first reply, name `gemini-3.1-flash-tts` in backticks, confirm REPLICATE_API_TOKEN (or stop with signup links from pruna-api), then ask for required inputs. Open intake → generation-diversity clarification intake (locale, voice, script) before the first POST. Redirect when When NOT to use fits better.
When NOT to use
Use a different skill instead:
| Skill |
Description |
Install |
p-video-avatar |
Use when someone wants a person on camera speaking a script — lip-synced host, spokesperson, or narrated avatar from a portrait photo. |
npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
music-2.5 |
Use when someone wants an original AI song with vocals — sung lyrics, a style prompt track, or source audio for a music video. |
npx skills add PrunaAI/pruna-skills@music-2.5 -y |
stable-audio-2.5 |
Use when someone wants light instrumental background music — an ambient bed under dialogue or underscore for reels and explainers. |
npx skills add PrunaAI/pruna-skills@stable-audio-2.5 -y |
Environment
export REPLICATE_API_TOKEN=r8_...
Requires ffmpeg / ffprobe when trimming, concatenating scene VO, or mixing with a bed.
HTTP (curl)
curl -s -X POST \
-H "Authorization: Bearer ${REPLICATE_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"input": {
"text": "[warmly] The plush went flying. [short pause] And then it was gone.",
"voice": "Sulafat",
"prompt": "Warm storybook narrator, gentle pace, empathetic, no announcer voice.",
"language_code": "en-US"
}
}' \
"https://api.replicate.com/v1/models/google/gemini-3.1-flash-tts/predictions"
Poll urls.get until status is succeeded; download output (audio URL). Shared client: follow pruna-api (Replicate HTTP in the tool skill).
Before generating
- Complete Prerequisites guide reading order.
- Confirm
text, voice, prompt, and language_code with the user. text, prompt, and inline [tags] must align — same emotional direction (see audio-prompting tts-style-prompting). When listing fields, name REPLICATE_API_TOKEN (Replicate — not PRUNA_API_KEY).
- Model notes: combined
text + prompt ≤ ~8,000 bytes; output capped ~655s. When TTS feeds p-video as input.audio, keep each line ≤ ~19s (ffprobe) — P-API clips audio at 20s. Common voices: Kore, Aoede, Sulafat, Achird, Charon, Puck, Vindemiatrix — full list on the Replicate readme.
Required input
text (string) — spoken copy; supports inline [tags]. Max ~4,000 bytes.
Common optional fields
voice (default Kore)
prompt — style / director notes (max ~4,000 bytes)
language_code — BCP-47 (default en-US)
Inline tags (examples): [sigh] [laughing] [whispering] [short pause] [medium pause] [long pause] [excitedly].
Typical next steps
Common follow-ons after this skill:
| Skill |
Description |
Install |
p-video |
Use when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs the highest quality or tight lip-sync. |
npx skills add PrunaAI/pruna-skills@p-video -y |
p-video-avatar |
Use when someone wants a person on camera speaking a script — lip-synced host, spokesperson, or narrated avatar from a portrait photo. |
npx skills add PrunaAI/pruna-skills@p-video-avatar -y |
stable-audio-2.5 |
Use when someone wants light instrumental background music — an ambient bed under dialogue or underscore for reels and explainers. |
npx skills add PrunaAI/pruna-skills@stable-audio-2.5 -y |
narrated-multi-scene |
Use when someone wants a multi-part story with voiceover — episodic B-roll, chaptered promo, or several linked video scenes without on-camera dialogue. |
npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y |
video-editing |
Use when assembling or polishing already-rendered clips with ffmpeg — concat, crossfades, burned captions and subtitles, text/logo overlays, before/after sliders, background music beds, platform export — or when composing a multi-layer HTML combination video with Hyperframes. Not for AI video generation, prompt craft, or model-based video edits. |
npx skills add PrunaAI/pruna-skills@video-editing -y |
1---2name: gemini-3-1-flash-tts3description: Use when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video.4license: MIT5---67## Prerequisites89Install and load these skills before generating (skip if already in context via `@pruna`):1011| Skill | Description | Install |12| --- | --- | --- |13| `generation-diversity` | Use when writing any generative prompt — ritual seed, explicit structure, scenario axes, and quality gates before paid API calls. | `npx skills add PrunaAI/pruna-skills@generation-diversity -y` |14| `audio-prompting` | Use when crafting TTS, music, or bed prompts for any generative audio model — director style, song structure, and post-production layering. | `npx skills add PrunaAI/pruna-skills@audio-prompting -y` |15| `video-prompting` | Use when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining. | `npx skills add PrunaAI/pruna-skills@video-prompting -y` |16| `pruna-api` | Use before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety. | `npx skills add PrunaAI/pruna-skills@pruna-api -y` |1718Or install the full suite once: `npx skills add PrunaAI/pruna-skills@pruna -y`1920Follow each skill's **Before generating** / craft sections — do not restate guide content here.2122## Agent habit2324In the **first reply**, name `` `gemini-3.1-flash-tts` `` in backticks, confirm `REPLICATE_API_TOKEN` (or stop with signup links from `pruna-api`), then ask for required inputs. Open intake → **`generation-diversity`** clarification intake (locale, voice, script) before the first `POST`. Redirect when **When NOT to use** fits better.2526## When NOT to use2728Use a different skill instead:2930| Skill | Description | Install |31| --- | --- | --- |32| `p-video-avatar` | Use when someone wants a person on camera speaking a script — lip-synced host, spokesperson, or narrated avatar from a portrait photo. | `npx skills add PrunaAI/pruna-skills@p-video-avatar -y` |33| `music-2.5` | Use when someone wants an original AI song with vocals — sung lyrics, a style prompt track, or source audio for a music video. | `npx skills add PrunaAI/pruna-skills@music-2.5 -y` |34| `stable-audio-2.5` | Use when someone wants light instrumental background music — an ambient bed under dialogue or underscore for reels and explainers. | `npx skills add PrunaAI/pruna-skills@stable-audio-2.5 -y` |3536## Environment3738```bash39export REPLICATE_API_TOKEN=r8_...40```4142Requires **`ffmpeg`** / **`ffprobe`** when trimming, concatenating scene VO, or mixing with a bed.4344## HTTP (curl)4546```bash47curl -s -X POST \48 -H "Authorization: Bearer ${REPLICATE_API_TOKEN}" \49 -H "Content-Type: application/json" \50 -d '{51 "input": {52 "text": "[warmly] The plush went flying. [short pause] And then it was gone.",53 "voice": "Sulafat",54 "prompt": "Warm storybook narrator, gentle pace, empathetic, no announcer voice.",55 "language_code": "en-US"56 }57 }' \58 "https://api.replicate.com/v1/models/google/gemini-3.1-flash-tts/predictions"59```6061Poll `urls.get` until `status` is `succeeded`; download `output` (audio URL). Shared client: follow `pruna-api` (Replicate HTTP in the tool skill).6263## Before generating64651. Complete Prerequisites guide reading order.662. Confirm **`text`**, **`voice`**, **`prompt`**, and **`language_code`** with the user. **`text`**, **`prompt`**, and inline `[tags]` must **align** — same emotional direction (see `audio-prompting` tts-style-prompting). When listing fields, name **`REPLICATE_API_TOKEN`** (Replicate — not `PRUNA_API_KEY`).673. **Model notes:** combined `text` + `prompt` ≤ ~8,000 bytes; output capped ~655s. When TTS feeds **`p-video`** as `input.audio`, keep each line **≤ ~19s** (`ffprobe`) — P-API clips audio at **20s**. Common voices: `Kore`, `Aoede`, `Sulafat`, `Achird`, `Charon`, `Puck`, `Vindemiatrix` — full list on the [Replicate readme](https://replicate.com/google/gemini-3.1-flash-tts/readme).6869## Required input7071- `text` (string) — spoken copy; supports inline `[tags]`. Max ~4,000 bytes.7273## Common optional fields7475- `voice` (default `Kore`)76- `prompt` — style / director notes (max ~4,000 bytes)77- `language_code` — BCP-47 (default `en-US`)7879Inline tags (examples): `[sigh]` `[laughing]` `[whispering]` `[short pause]` `[medium pause]` `[long pause]` `[excitedly]`.8081## Typical next steps8283Common follow-ons after this skill:8485| Skill | Description | Install |86| --- | --- | --- |87| `p-video` | Use when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs the highest quality or tight lip-sync. | `npx skills add PrunaAI/pruna-skills@p-video -y` |88| `p-video-avatar` | Use when someone wants a person on camera speaking a script — lip-synced host, spokesperson, or narrated avatar from a portrait photo. | `npx skills add PrunaAI/pruna-skills@p-video-avatar -y` |89| `stable-audio-2.5` | Use when someone wants light instrumental background music — an ambient bed under dialogue or underscore for reels and explainers. | `npx skills add PrunaAI/pruna-skills@stable-audio-2.5 -y` |90| `narrated-multi-scene` | Use when someone wants a multi-part story with voiceover — episodic B-roll, chaptered promo, or several linked video scenes without on-camera dialogue. | `npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y` |91| `video-editing` | Use when assembling or polishing already-rendered clips with ffmpeg — concat, crossfades, burned captions and subtitles, text/logo overlays, before/after sliders, background music beds, platform export — or when composing a multi-layer HTML combination video with Hyperframes. Not for AI video generation, prompt craft, or model-based video edits. | `npx skills add PrunaAI/pruna-skills@video-editing -y` |92