Atlas / Skills / inference-sh / Ai Podcast

Ai PodcastSAFE

skills/inference-sh/ai-podcast

inference.sh Agent skills for using our API to give your agents access to hundreds of apps and other agents

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
—
License
—
Stars
767
01

Overview

inference.sh Agent skills for using our API to give your agents access to hundreds of apps and other agents

Read from source at commit d30242fc0e10OBSERVED · 2026-10-14
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: ai-podcast
description: "Generate multi-person talking head podcast videos from scratch using AI — character creation, TTS, avatar animation, and video stitching. Use when the user wants to create a podcast, talking head video, or multi-speaker conversation video."
allowed-tools: Bash, Read, Write, Agent, Glob, Grep
---

## AI Podcast Generator

Create multi-person talking head podcast videos using the inference.sh pipeline: portrait generation → TTS audio → avatar video → merge. Supports real humans (via Phota), 3D mascots, illustrated characters, and mixed casts.

Use when the user wants to create a podcast, talking head video, demo reel, promotional conversation, or any multi-speaker video content.

### Pipeline Overview

```
Characters (images) → TTS (audio per turn) → Avatar (video per turn) → Merge (final video)
```

### Process

#### Step 1: Character Creation

Choose the right tool per character type:

| Character Type | Tool | Notes |
|---------------|------|-------|
| **Real human (new)** | `pruna/p-image` | 16:9, `prompt_upsampling: true`. Quick, no training needed, but identity won't be consistent across multiple generations. |
| **Real human (consistent ID)** | `phota/generate` with `[[profile_id]]` | Consistent identity across all shots. Requires a trained Phota profile first (see below). |
| **Brand mascot / logo character** | `google/gemini-3-pro-image` | Pass logo + character sheet as reference images |
| **Illustrated / stylized** | `google/gemini-3-pro-image` | Pass style reference as input image |

**Training a Phota identity (optional but recommended for humans):**

If you need a real human character with consistent identity across multiple angles and shots, train a Phota profile first:

```bash
belt app run phota/train --input '{
  "images": ["url1.jpg", "url2.jpg", ...],
  "wait": true
}' --save profile.json
```

- Requires 30-50 face images of the subject
- Training takes a few minutes with `wait: true`
- Returns a `profile_id` you then use in `phota/generate` as `[[profile_id]]` in prompts
- The profile is reusable forever — train once, generate unlimited shots

If you don't need cross-shot consistency (e.g. single-speaker video, one angle only), `pruna/p-image` is simpler and cheaper.

**Character sheets first, podcast frames second:**
1. Generate a character sheet (plain white background, multiple angles) for each character
2. Then place characters into the podcast studio setting using the sheet as reference

**For branded characters (logo on clothing):**
1. Generate the character with a plain version of the garment
2. Use `phota/edit` with the logo as a second reference image to add the logo
3. Always pass the logo image alongside character references when generating new angles

#### Step 2: Alternate Angles

Generate at least 2 angles per character for visual variety:

| Angle | When to use |
|-------|-------------|
| **Front/medium** | Establishing shots, opening, closing |
| **Close-up** | Reactions, emotional moments, punchy lines |

For close-ups, prompt for "tight framing, chest up, shallow depth of field" — not "turned to the side" (which just makes them look away).

**Identity consistency rules:**
- For real humans with a Phota profile: use `phota/generate` or `phota/edit` for new angles — Gemini does not preserve facial identity and will produce a different person
- For real humans without a Phota profile: try to generate all needed angles in one go with `pruna/p-image`, or consider training a Phota profile if you need many shots
- For mascots/illustrations: Gemini 3 Pro is fine, pass the established frame as reference

**Framing rule:** Use tight framing on individual speakers. Wide shots with multiple seats show empty chairs when only one person is on screen.

#### Step 3: QA Frames

Before proceeding, visually inspect all frames for:
- Extra people in the background
- Multiple microphones (should be single mic per shot)
- Wrong or distorted logos
- Inconsistent character identity across angles
- Weird artifacts (extra limbs, merged objects)

Fix issues before generating video — re-rendering video is the most expensive step in the pipeline.

#### Step 4: Write the Script

**Rules for natural conversation:**
- Write it like a real conversation, NOT like people reading ad copy in turns
- Include reactions ("wait, hold on", "that is wild"), interruptions, and follow-up questions
- Vary turn length — short reactions (1 sentence) mixed with longer explanations (2-3 sentences)
- The host should ask real questions, not set up obvious talking points
- Keep total duration target in mind: ~2.5 words/second for natural speech at 1.05x rate

**Duration guide:**
| Target | Words |
|--------|-------|
| 15s | ~38 words |
| 30s | ~75 words |
| 60s | ~150 words |

#### Step 5: Generate TTS Audio

Use `inworld/text-to-speech-2` for each turn.

```bash
belt app run inworld/text-to-speech-2 --input '{
  "text": "...",
  "voice_id": "...",
  "speaking_rate": 1.05,
  "audio_encoding": "MP3"
}' --save output.json
```

**Voice selection:**
- Generate samples with the same line across candidate voices BEFORE committing
- Let the user listen and approve voices
- Good podcast voices: Tyler, Nate, Lauren, Kelsey, Naomi, Anjali (EN_US)
- Use `inworld/text-to-speech-2:voices` to list all available voices

**Speaking rate:**
- Default to **1.05** for natural podcast pacing
- Use **1.1** for short snappy reactions
- **NEVER go below 1.0** — sounds slow and disengaging
- Keep rate consistent per character across all their turns

All TTS turns can run in parallel (cheap, fast ~2-8s each).

#### Step 6: Generate Video Clips

Use `pruna/p-video-avatar` for each turn.

```bash
belt app run pruna/p-video-avatar --input '{
  "image": "<character_frame_url>",
  "audio": "<tts_audio_url>",
  "resolution": "720p",
  "video_prompt": "..."
}' --save output.json
```

**Critical: Run clips SEQUENTIALLY, not in parallel.** Parallel runs hit the same GPU and cause CUDA OOM failures. Eac
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (1)

LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-14 · audit v0.4.1 · source sha d30242fc0e10full audit observations/trust-audit/skill/inference-sh__ai-podcast.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-14d30242fc0e10SAFEB89first audit
05

Questions

What does the Ai Podcast skill do?

inference.sh Agent skills for using our API to give your agents access to hundreds of apps and other agents

Is Ai Podcast safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Ai Podcast access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

How current is this page?

The grade is for one exact copy of the source (d30242fc0e10), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement