Community코딩 & 개발github.com

팟캐스트 생성

텍스트 콘텐츠를 두 명의 진행자가 자연스러운 대화 형태로 진행하는 팟캐스트 오디오로 변환합니다.

팟캐스트 생성란 무엇인가요?

이 스킬은 사용자가 제공한 텍스트(기사, 보고서, 문서 등)를 두 명의 진행자(남성/여성)가 대화하는 팟캐스트 오디오(MP3)로 변환하는 에이전트 기능입니다. 먼저 텍스트 내용을 분석하여 대화형 JSON 스크립트를 생성하고, 그 스크립트를 TTS(Text-to-Speech) 엔진으로 합성하여 최종 MP3 파일을 만듭니다. 영어와 중국어를 모두 지원하며, Volcengine TTS 또는 MiniMax TTS를 환경 변수에 따라 자동 선택하여 사용합니다. 스크립트는 자연스러운 대화체로 작성되어 청취자가 쉽게 이해할 수 있도록 구성되며, 기술적인 내용이나 복잡한 표기(수식, 코드)는 일반 언어로 간소화됩니다. 생성이 완료되면 MP3 파일과 함께 대본(transcript) 마크다운 파일을 사용자에게 제공하며, 필요한 경우 재생성을 요청할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bytedance/deer-flow/tree/main/skills/public/podcast-generation

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

팟캐스트 생성 스킬

개요

이 스킬은 텍스트 콘텐츠로부터 고품질의 팟캐스트 오디오를 생성합니다. 구조화된 JSON 스크립트(대화형 대본)를 만들고 TTS(Text-to-Speech) 합성을 통해 오디오를 생성하는 워크플로우를 포함합니다.

핵심 기능

  • 모든 텍스트 콘텐츠(기사, 보고서, 문서)를 팟캐스트 스크립트로 변환
  • 두 명의 진행자(남성, 여성)가 자연스럽게 대화하는 형식 생성
  • TTS를 사용하여 음성 오디오 합성
  • 오디오 청크를 하나의 최종 팟캐스트 MP3 파일로 믹싱
  • 영어 및 중국어 콘텐츠 지원

워크플로우

1단계: 요구 사항 파악

사용자가 팟캐스트 생성을 요청하면 다음을 확인합니다:

  • 원본 콘텐츠: 팟캐스트로 변환할 텍스트/기사/보고서
  • 언어: 영어 또는 중국어 (콘텐츠 기반)
  • 출력 위치: 생성된 팟캐스트를 저장할 위치
  • /mnt/user-data 폴더를 확인할 필요 없음

2단계: 구조화된 스크립트 JSON 생성

/mnt/user-data/workspace/ 폴더에 {설명-이름}-script.json 패턴의 파일 이름으로 구조화된 JSON 스크립트 파일을 생성합니다.

JSON 구조:

{
  "locale": "en",
  "lines": [
    {"speaker": "male", "paragraph": "대화 텍스트"},
    {"speaker": "female", "paragraph": "대화 텍스트"}
  ]
}

3단계: 생성 실행

Python 스크립트를 호출합니다:

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

파라미터:

  • --script-file: JSON 스크립트 파일의 절대 경로 (필수)
  • --output-file: 출력 MP3 파일의 절대 경로 (필수)
  • --transcript-file: 출력 대본 마크다운 파일의 절대 경로 (선택사항, 하지만 권장)

[!IMPORTANT]

  • 스크립트는 한 번에 완전히 실행하세요. 워크플로우를 별도의 단계로 나누지 마십시오.
  • 스크립트는 모든 TTS API 호출 및 오디오 생성을 내부적으로 처리합니다.
  • Python 파일을 읽지 말고, 파라미터와 함께 바로 호출하세요.
  • 항상 --transcript-file을 포함하여 사용자가 읽을 수 있는 대본을 생성하세요.
  • TTS 제공자와 동시성은 환경 변수에서 자동으로 선택되며, 직접 선택하거나 조정하지 않습니다.

스크립트 JSON 형식

스크립트 JSON 파일은 다음 구조를 따라야 합니다:

{
  "title": "인공지능의 역사",
  "locale": "en",
  "lines": [
    {"speaker": "male", "paragraph": "안녕하세요 Deer! 다른 에피소드에 다시 오신 것을 환영합니다."},
    {"speaker": "female", "paragraph": "안녕하세요 여러분! 오늘은 정말 흥미로운 주제를 다룰 예정입니다."},
    {"speaker": "male", "paragraph": "맞아요! 오늘은 인공지능의 역사에 대해 이야기해볼게요."}
  ]
}

필드:

  • title: 팟캐스트 에피소드 제목 (선택사항, 대본에서 제목으로 사용됨)
  • locale: 언어 코드 - 영어는 "en", 중국어는 "zh"
  • lines: 대화 라인 배열
    • speaker: "male" 또는 "female"
    • paragraph: 해당 화자의 대화 텍스트

스크립트 작성 지침

스크립트 JSON을 만들 때 다음 지침을 따르세요:

형식 요구 사항

  • 남성과 여성 두 명의 진행자만 사용하며, 자연스럽게 번갈아 가며 진행
  • 목표 런타임: 약 10분 분량의 대화 (약 40-60 라인)
  • 남성 진행자가 "Hello Deer" 인사로 시작

어조 및 스타일

  • 두 친구가 대화하는 것처럼 자연스럽고 대화체로 작성
  • 일상적인 표현과 대화 전환 사용
  • 지나치게 격식 있는 언어나 학술적인 어조 지양
  • 반응, 후속 질문, 자연스러운 감탄사 포함

콘텐츠 지침

  • 진행자 간 자주 의견을 주고받음
  • 문장은 짧고 따라하기 쉽게 작성
  • 출력에는 마크다운 서식 없이 일반 텍스트만 사용
  • 기술적인 개념은 이해하기 쉬운 언어로 번역
  • 수학 공식, 코드, 복잡한 표기법 사용 금지
  • 오디오 청취자에게 매력적이고 접근성 있게 구성
  • 날짜, 저자 이름, 문서 구조와 같은 메타 정보 제외

팟캐스트 생성 예시

사용자 요청: "인공지능의 역사에 대한 팟캐스트를 생성해줘"

1단계: 스크립트 파일 생성 /mnt/user-data/workspace/ai-history-script.json:

{
  "title": "인공지능의 역사",
  "locale": "en",
  "lines": [
    {"speaker": "male", "paragraph": "Hello Deer! 흥미진진한 또 다른 에피소드에 오신 것을 환영합니다. 오늘은 말 그대로 우리의 미래를 형성하고 있는 주제, 바로 인공지능의 역사에 대해 파고들어 보겠습니다."},
    {"speaker": "female", "paragraph": "오, 이 주제 정말 좋아해요! AI가 너무 현대적으로 느껴지지만, 사실 그 뿌리는 70년 전으로 거슬러 올라간다는 거 알고 계셨나요?"},
    {"speaker": "male", "paragraph": "맞아요! 모든 것은 1950년대에 시작됐죠. '인공지능'이라는 용어는 1956년 다트머스에서 열린 유명한 컨퍼런스에서 존 매카시에 의해 처음 사용되었습니다."},
    {"speaker": "female", "paragraph": "잠깐만요, 그때 이미 기계가 생각할 수 있다는 것을 고민하고 있었다고요? 정말 대단하네요!"},
    {"speaker": "male", "paragraph": "그렇죠? 초기 개척자들은 매우 낙관적이었어요. 그들은 한 세대 안에 인간 수준의 AI가 가능할 것이라고 생각했습니다."},
    {"speaker": "female", "paragraph": "하지만 현실은 그렇게 되지 않았죠, 그렇죠?"},
    {"speaker": "male", "paragraph": "네, 전혀요. 1970년대에는 첫 번째 AI 겨울이라고 불리는 시기가 도래했습니다..."}
  ]
}

2단계: 생성 실행:

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

다음 파일이 생성됩니다:

  • ai-history-podcast.mp3: 오디오 팟캐스트 파일
  • ai-history-transcript.md: 팟캐스트의 읽기 쉬운 마크다운 대본

특정 템플릿

사용자 요청과 일치하는 경우에만 다음 템플릿 파일을 읽으세요.

출력 형식

생성된 팟캐스트는 "Hello Deer" 형식을 따릅니다:

  • 두 명의 진행자: 남성 1명, 여성 1명
  • 자연스러운 대화체
  • "Hello Deer" 인사로 시작
  • 목표 길이: 약 10분
  • 흥미로운 흐름을 위해 화자가 번갈아 가며 진행

출력 처리

생성 후:

  • 팟캐스트와 대본은 /mnt/user-data/outputs/ 폴더에 저장
  • present_files 도구를 사용하여 팟캐스트 MP3와 대본 MD 파일을 사용자와 공유
  • 생성 결과에 대한 간략한 설명 제공 (주제, 길이, 진행자)
  • 조정이 필요한 경우 재생성 제안

요구 사항

다음 환경 변수가 설정되어 있어야 합니다:

  • Volcengine: VOLCENGINE_TTS_APPID 및 VOLCENGINE_TTS_ACCESS_TOKEN
  • MiniMax: MINIMAX_API_KEY
  • VOLCENGINE_TTS_CLUSTER: Volcengine TTS 클러스터 (선택사항, 기본값은 "volcano_tts")

참고 사항

  • 항상 전체 파이프라인을 한 번에 실행하세요 - 개별 단계를 테스트하거나 타임아웃을 걱정할 필요 없음
  • 스크립트 JSON은 콘텐츠 언어(en 또는 zh)와 일치해야 함
  • 기술 콘텐츠는 오디오 접근성을 위해 스크립트에서 단순화해야 함
  • 복잡한 표기(수식, 코드)는 스크립트에서 일반 언어로 번역해야 함
  • 긴 콘텐츠는 더 긴 팟캐스트로 이어질 수 있음

제공 업체 (Volcengine / MiniMax)

환경 변수에 의해 자동 선택:

  • VOLCENGINE_TTS_APPID + VOLCENGINE_TTS_ACCESS_TOKEN 설정 → Volcengine TTS (기본값)
  • MINIMAX_API_KEY만 설정 → MiniMax TTS (/v1/t2a_v2)
  • PODCAST_GENERATION_PROVIDER=volcengine|minimax로 강제 지정

MiniMax 재정의: MINIMAX_API_HOST (기본값 https://api.minimaxi.com), MINIMAX_TTS_MODEL (기본값 speech-2.6-hd), MINIMAX_TTS_VOICE_MALE (기본값 male-qn-qingse), MINIMAX_TTS_VOICE_FEMALE (기본값 female-tianmei).

동시성은 각 제공 업체가 내부적으로 관리합니다. MiniMax는 속도 제한 실패를 줄이기 위해 단일 스레드로 실행되며, Volcengine은 4개의 워커를 사용합니다. 호출자가 조정할 수 있는 동시성 설정은 없으며, 일시적인 속도 제한은 지수 백오프를 통한 자동 재시도로 처리됩니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

academic-paper-review

Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".

bootstrap

Generate a personalized SOUL.md through a warm, adaptive onboarding conversation. Trigger when the user wants to create, set up, or initialize their AI partner's identity — e.g., "create my SOUL.md", "bootstrap my agent", "set up my AI partner", "define who you are", "let's do onboarding", "personalize this AI", "make you mine", or when a SOUL.md is missing. Also trigger for updates: "update my SOUL.md", "change my AI's personality", "tweak the soul".

bytedance/academic-paper-review

Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".

bytedance/chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

bytedance/claude-to-deerflow

Interact with DeerFlow AI agent platform via its HTTP API. Use this skill when the user wants to send messages or questions to DeerFlow for research/analysis, start a DeerFlow conversation thread, check DeerFlow status or health, list available models/skills/agents in DeerFlow, manage DeerFlow memory, upload files to DeerFlow threads, or delegate complex research tasks to DeerFlow. Also use when the user mentions deerflow, deer flow, or wants to run a deep research task that DeerFlow can handle.

bytedance/consulting-analysis

Use this skill when the user requests to generate, create, or write professional research reports including but not limited to market analysis, consumer insights, brand analysis, financial analysis, industry research, competitive intelligence, investment due diligence, or any consulting-grade analytical report. This skill operates in two phases — (1) generating a structured analysis framework with chapter skeleton, data query requirements, and analysis logic, and (2) after data collection by other skills, producing the final consulting-grade report with structured narratives, embedded charts, and strategic insights.

bytedance/data-analysis

Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to CSV/JSON/Markdown.

bytedance/deep-research

Use this skill instead of WebSearch for ANY question requiring web research. Trigger on queries like "what is X", "explain X", "compare X and Y", "research X", or before content generation tasks. Provides systematic multi-angle research methodology instead of single superficial searches. Use this proactively when the user's question needs online information.

bytedance/find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

bytedance/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

bytedance/github-deep-research

Conduct multi-round deep research on any GitHub Repo. Use when users request comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of GitHub. Produces structured markdown reports with executive summaries, chronological timelines, metrics analysis, and Mermaid diagrams. Triggers on Github repository URL or open source projects.

bytedance/image-generation

Use this skill when the user requests to generate, create, imagine, or visualize images including characters, scenes, products, or any visual content. Supports structured prompts and reference images for guided generation.

bytedance/podcast-generation

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.

bytedance/ppt-generation

Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Creates visually rich slides by generating images for each slide and composing them into a PowerPoint file.

bytedance/skill-creator

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

bytedance/surprise-me

Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".

bytedance/vercel-deploy

Deploy applications and websites to Vercel. Use this skill when the user requests deployment actions such as "Deploy my app", "Deploy this to production", "Create a preview deployment", "Deploy and give me the link", or "Push this live". No authentication required - returns preview URL and claimable deployment link.

bytedance/video-generation

Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation.

bytedance/web-design-guidelines

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

관련 스킬