Skip to content
cccskills
FreePublished on GitHubEnglish overview

podcast-generation

Convert articles, reports, or documentation into an English or Chinese podcast with two conversational hosts. Create a dialogue script, generate speech, and combine it into an MP3 with a readable transcript.

OriginalShow the original description

Use this skill when the user requests to generate, create, or produce podcasts from text content. Converts written content into a two-host conversational podcast audio format with natural dialogue.

AI rating80/ 100See how to install

Good for

  • Turning an article into a conversational podcast
  • Adapting a report for listening
  • Explaining technical documentation through dialogue
  • Creating podcast audio with a transcript

Overview

What it does

Turn articles, reports, and documents into a podcast featuring a male and a female host. The skill rewrites the content as a structured JSON dialogue script, generates speech for each turn, and combines the audio into one MP3. It supports English and Chinese and also produces a Markdown transcript. Technical material is rewritten using short sentences and plain explanations, with a structure that listeners can follow through audio alone.

When it helps

Use it when you want to understand written material by listening, or explain technical documents through a conversation. The target format is about ten minutes with 40–60 speaking turns, including questions and conversational responses. Receiving both audio and a transcript lets you check the conversation in writing as well.

Example requests

  • “Turn this article into an English podcast with two hosts.”
  • “Create audio and a dialogue transcript from this Chinese report.”

Notes

The supported languages are English and Chinese. Generation uses a Python script and either Volcengine or MiniMax speech synthesis. Volcengine requires VOLCENGINE_TTS_APPID and VOLCENGINE_TTS_ACCESS_TOKEN; MiniMax requires MINIMAX_API_KEY. Episodes follow a fixed opening format containing “Hello Deer.” Formulas and code are replaced with spoken explanations.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodIt explicitly converts text into male–female dialogue and synthesizes an MP3 podcast.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodIt specifies the JSON script structure, generate.py commands, and output locations for the MP3 and transcript.
SafetyAre sending data, deleting files, and running commands disclosed?
BPartly lackingSpeech synthesis API calls are disclosed, but no confirmation step before transmission is specified.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingSpeech synthesis environment variables are listed, but Python environment setup steps are absent.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 21, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (3)

  • SKILL.md8.4 KB
  • scripts/generate.py14.7 KB
  • templates/tech-explainer.md1.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Podcast Generation Skill

Overview

This skill generates high-quality podcast audio from text content. The workflow includes creating a structured JSON script (conversational dialogue) and executing audio generation through text-to-speech synthesis.

Core Capabilities

  • Convert any text content (articles, reports, documentation) into podcast scripts
  • Generate natural two-host conversational dialogue (male and female hosts)
  • Synthesize speech audio using text-to-speech
  • Mix audio chunks into a final podcast MP3 file
  • Support both English and Chinese content

Workflow

Step 1: Understand Requirements

When a user requests podcast generation, identify:

  • Source content: The text/article/report to convert into a podcast
  • Language: English or Chinese (based on content)
  • Output location: Where to save the generated podcast
  • You don't need to check the folder under /mnt/user-data

Step 2: Create Structured Script JSON

Generate a structured JSON script file in /mnt/user-data/workspace/ with naming pattern: {descriptive-name}-script.json

The JSON structure:

{
  "locale": "en",
  "lines": [
    {"speaker": "male", "paragraph": "dialogue text"},
    {"speaker": "female", "paragraph": "dialogue text"}
  ]
}

Step 3: Execute Generation

Call the Python script:

python /mnt/skills/public/podcast-generation/scripts/generate.py \
  --script-file /mnt/user-data/workspace/script-file.json \
  --output-file /mnt/user-data/outputs/generated-podcast.mp3 \
  --transcript-file /mnt/user-data/outputs/generated-podcast-transcript.md

Parameters:

  • --script-file: Absolute path to JSON script file (required)
  • --output-file: Absolute path to output MP3 file (required)
  • --transcript-file: Absolute path to output transcript markdown file (optional, but recommended)

[!IMPORTANT]

  • Execute the script in one complete call. Do NOT split the workflow into separate steps.
  • The script handles all TTS API calls and audio generation internally.
  • Do NOT read the Python file, just call it with the parameters.
  • Always include --transcript-file to generate a readable transcript for the user.
  • The TTS provider and its concurrency are selected automatically from environment variables — you do not choose or tune them.

Script JSON Format

The script JSON file must follow this structure:

{
  "title": "The History of Artificial Intelligence",
  "locale": "en",
  "lines": [
    {"speaker": "male", "paragraph": "Hello Deer! Welcome back to another episode."},
    {"speaker": "female", "paragraph": "Hey everyone! Today we have an exciting topic to discuss."},
    {"speaker": "male", "paragraph": "That's right! We're going to talk about..."}
  ]
}

Fields:

  • title: Title of the podcast episode (optional, used as heading in transcript)
  • locale: Language code - "en" for English or "zh" for Chinese
  • lines: Array of dialogue lines
    • speaker: Either "male" or "female"
    • paragraph: The dialogue text for this speaker

Script Writing Guidelines

When creating the script JSON, follow these guidelines:

Format Requirements

  • Only two hosts: male and female, alternating naturally
  • Target runtime: approximately 10 minutes of dialogue (around 40-60 lines)
  • Start with the male host saying a greeting that includes "Hello Deer"

Tone & Style

  • Natural, conversational dialogue - like two friends chatting
  • Use casual expressions and conversational transitions
  • Avoid overly formal language or academic tone
  • Include reactions, follow-up questions, and natural interjections

Content Guidelines

  • Frequent back-and-forth between hosts
  • Keep sentences short and easy to follow when spoken
  • Plain text only - no markdown formatting in the output
  • Translate technical concepts into accessible language
  • No mathematical formulas, code, or complex notation
  • Make content engaging and accessible for audio-only listeners
  • Exclude meta information like dates, author names, or document structure

Podcast Generation Example

User request: "Generate a podcast about the history of artificial intelligence"

Step 1: Create script file /mnt/user-data/workspace/ai-history-script.json:

{
  "title": "The History of Artificial Intelligence",
  "locale": "en",
  "lines": [
    {"speaker": "male", "paragraph": "Hello Deer! Welcome back to another fascinating episode. Today we're diving into something that's literally shaping our future - the history of artificial intelligence."},
    {"speaker": "female", "paragraph": "Oh, I love this topic! You know, AI feels so modern, but it actually has roots going back over seventy years."},
    {"speaker": "male", "paragraph": "Exactly! It all started back in the 1950s. The term artificial intelligence was actually coined by John McCarthy in 1956 at a famous conference at Dartmouth."},
    {"speaker": "female", "paragraph": "Wait, so they were already thinking about machines that could think back then? That's incredible!"},
    {"speaker": "male", "paragraph": "Right? The early pioneers were so optimistic. They thought we'd have human-level AI within a generation."},
    {"speaker": "female", "paragraph": "But things didn't quite work out that way, did they?"},
    {"speaker": "male", "paragraph": "No, not at all. The 1970s brought what's called the first AI winter..."}
  ]
}

Step 2: Execute generation:

python /mnt/skills/public/podcast-generation/scripts/generate.py \
  --script-file /mnt/user-data/workspace/ai-history-script.json \
  --output-file /mnt/user-data/outputs/ai-history-podcast.mp3 \
  --transcript-file /mnt/user-data/outputs/ai-history-transcript.md

This will generate:

  • ai-history-podcast.mp3: The audio podcast file
  • ai-history-transcript.md: A readable markdown transcript of the podcast

Specific Templates

Read the following template file only when matching the user request.

  • Tech Explainer - For converting technical documentation and tutorials

Output Format

The generated podcast follows the "Hello Deer" format:

  • Two hosts: one male, one female
  • Natural conversational dialogue
  • Starts with "Hello Deer" greeting
  • Target duration: approximately 10 minutes
  • Alternating speakers for engaging flow

Output Handling

After generation:

  • Podcasts and transcripts are saved in /mnt/user-data/outputs/
  • Share both the podcast MP3 and transcript MD with user using present_files tool
  • Provide brief description of the generation result (topic, duration, hosts)
  • Offer to regenerate if adjustments needed

Requirements

The following environment variables must be set:

  • For Volcengine: VOLCENGINE_TTS_APPID and VOLCENGINE_TTS_ACCESS_TOKEN
  • For MiniMax: MINIMAX_API_KEY
  • VOLCENGINE_TTS_CLUSTER: Volcengine TTS cluster (optional, defaults to "volcano_tts")
  • VOLCENGINE_TTS_VOICE_TYPE_MALE: Volcengine male voice type (optional, defaults to zh_male_yangguangqingnian_moon_bigtts)
  • VOLCENGINE_TTS_VOICE_TYPE_FEMALE: Volcengine female voice type (optional, defaults to zh_female_sajiaonvyou_moon_bigtts)

Voice type overrides are trimmed; unset or blank values use the listed defaults.

Notes

  • Always execute the full pipeline in one call - no need to test individual steps or worry about timeouts
  • The script JSON should match the content language (en or zh)
  • Technical content should be simplified for audio accessibility in the script
  • Complex notations (formulas, code) should be translated to plain language in the script
  • Long content may result in longer podcasts

Providers (Volcengine / MiniMax)

Auto-selected by environment variables:

  • VOLCENGINE_TTS_APPID + VOLCENGINE_TTS_ACCESS_TOKEN set → Volcengine TTS (default).
  • Only MINIMAX_API_KEY set → MiniMax TTS (/v1/t2a_v2).
  • Force with PODCAST_GENERATION_PROVIDER=volcengine|minimax.

MiniMax overrides: MINIMAX_API_HOST (default https://api.minimaxi.com), MINIMAX_TTS_MODEL (default speech-2.6-hd), MINIMAX_TTS_VOICE_MALE (default male-qn-qingse), MINIMAX_TTS_VOICE_FEMALE (default female-tianmei).

Concurrency is owned by each provider internally — MiniMax runs single-threaded to reduce rate-limit failures, Volcengine uses 4 workers. There is no caller-facing concurrency knob; transient rate limits are handled by automatic retry with backoff.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

academic-paper-review

FreeSummaryAI rating 80

Turn academic papers into structured reviews that explain findings, strengths, weaknesses, and research methods. Assess originality and supporting evidence, compare relevant literature, and provide specific improvement suggestions in a detailed review or brief summary.

  • Understanding a paper's findings and limitations
  • Preparing a draft peer review
  • Checking experimental design and reproducibility
bytedance/deer-flow84.3KUpdated Oct 22, 2026

blocking-io-guard

FreeSummaryAI rating 90

Find Python input/output calls that may stall asynchronous backend work, then fix or guard each relevant path with runtime tests. Verify that tests fail when blocking behavior returns and pass after the fix is restored.

  • Checking asynchronous Python changes before a pull request
  • Triaging blocking input/output across the codebase
  • Adding tests for cleanup and error branches
bytedance/deer-flow84.3KUpdated Oct 22, 2026

bootstrap

FreeSummaryAI rating 90

Create or update a SOUL.md file that defines an AI partner’s behavior through a guided conversation. Clarify communication style, autonomy, honesty, and expectations, then review a concise English profile before saving it with setup_agent.

  • Define an AI partner’s initial personality and role
  • Adjust tone and how the AI expresses disagreement
  • Clarify which decisions the AI can make independently
bytedance/deer-flow84.3KUpdated Oct 22, 2026

chart-visualization

FreeSummaryAI rating 80

Turn data into chart images by selecting a suitable format from 26 options. Visualize trends, comparisons, distributions, flows, or relationships, then receive the image URL and the complete settings used to generate it.

  • Visualize changes over time
  • Compare categories and proportions
  • Show distributions and correlations
bytedance/deer-flow84.3KUpdated Oct 22, 2026

claude-to-deerflow

FreeSummaryAI rating 80

Send research and analysis tasks to a running DeerFlow instance through its HTTP API, an interface for exchanging requests. Retrieve responses, continue conversations, upload documents, and inspect available models, skills, agents, and service health.

  • Delegate research and analysis to DeerFlow
  • Upload documents for a conversation
  • Resume an earlier conversation
bytedance/deer-flow84.3KUpdated Oct 22, 2026

code-documentation

FreeSummaryAI rating 100

Turn source code into project documentation, from a README with installation steps and examples to API references, architecture diagrams, developer guides, and changelogs. Match the scope and comment format to the project's size and programming language.

  • Creating a README with installation steps and usage examples
  • Documenting public functions, parameters, and return values
  • Preparing architecture and contributor guides for new developers
bytedance/deer-flow84.3KUpdated Oct 22, 2026

See all skills by bytedance

Report a problem with this skill