---
slug: "podcast-chaptering"
name: "podcast-chaptering"
version: 1.0.1
displayName: "播客章节工具专业版"
summary: "企业级播客章节工具,支持批量处理、社媒切片文案、多格式输出与API集成,适配生产流水线。。面向团队与企业用户的播客章节标记工具(专业版)。核心能力: - 涵盖免费版全部能力(章节标记、高光片"
summary_zh: "企业级播客章节工具,支持批量处理、社媒切片文案、多格式输出与API集成,适配生产流水线。。面向团队与企业用户的播客章节标记工具(专业版)。核心能力: - 涵盖免费版全部能力(章节标记、高光片"
license: "MIT"
edition: "pro"
description: |-
  面向团队与企业用户的播客章节标记工具(专业版)。核心能力:
  - 涵盖免费版全部能力(章节标记、高光片段、节目笔记)
  - 批量处理:目录级递归,支持任务队列
  - 社媒切片文案自动生成
  - 多格式输出:Markdown / JSON / SRT / VTT / ID3
  - API 集成:FastAPI 服务化,支持远程调用
  - AI 智能章节:基于语义理解的精准划分
  - 多语言支持:中英日韩等 30+ 语言
  - 质量评估:置信度分析与人工校对流程
  - 自动发布集成:支持主流播客平台

  适用场景:
  - 播客矩阵...
tags:
  - 创意设计
  - 播客
  - 章节标记
  - 企业级
  - 批量处理
  - 社媒切片
  - AI生成
  - 音频
  - 媒体
  - self
  - chapters
  - highlights
  - json
tools:
  - read
  - exec
  - write
homepage: ""
category: "Creative"
---
# 播客章节工具专业版

## 付费版专享能力

| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| 播客章节工具专业版支持批量处理 | 不支持 | 支持 |
| 高清分辨率与无损输出 | 不支持 | 支持 |
| 批量生成与风格预设 | 不支持 | 支持 |
| 自定义模型微调 | 不支持 | 支持 |
| 商用版权授权 | 不支持 | 支持 |

## 核心能力

### 免费版 vs 专业版对比

| 能力 | 免费版 | 专业版 | 增量价值 |
|:-----|:-----|:-----|:-----|
| 章节标记 | 支持 | 支持 | - |
| 高光片段 | 支持 | 支持 | - |
| 节目笔记 | 草稿 | AI 精炼 | 质量提升 |
| 音频/文字稿输入 | 支持 | 支持 | - |
| 批量处理 | 不支持 | 目录递归 + 队列 | 生产力 |
| 社媒文案 | 不支持 | 自动生成 | 一体化 |
| 多格式输出 | Markdown | MD/JSON/SRT/VTT/ID3 | 全平台 |
| API 集成 | 不支持 | FastAPI 服务 | 远程调用 |
| AI 智能章节 | 启发式 | 语义理解 | 准确度 90%+ |
| 多语言 | 中英 | 30+ 语言 | 全球化 |
| 质量评估 | 不支持 | 置信度分析 | 质控 |
| 自动发布 | 不支持 | 平台集成 | 自动化 |
### 章节标记

针对章节标记,自动解析输入参数、调度任务队列、格式化输出,返回结构化响应.
**输入**: 用户提供章节标记相关的配置参数、输入数据和处理选项.
**输出**: 返回章节标记的处理结果。- 验证返回数据的完整性和格式正确性
- 参考`章节标记`的配置文档进行参数调优
### 高光片段

针对高光片段,自动解析输入参数、调度任务队列、格式化输出,返回结构化响应.
**输入**: 用户提供高光片段相关的配置参数、输入数据和处理选项.
**输出**: 返回高光片段的处理结果。- 验证返回数据的完整性和格式正确性
- 参考`高光片段`的配置文档进行参数调优
#
## 快速开始

1. 确认运行环境满足依赖说明中的要求
2. 在AI Agent对话中调用本技能,提供必要的输入参数
3. 检查输出结果,根据需要进行后续处理

> 详细的输入输出格式请参考下方章节说明。

## 适用场景

### 场景一:批量章节生成

处理整个播客目录,批量生成章节与笔记.
```python
import os
import glob
import json
from pathlib import Path
# ...
class BatchChapterGenerator:
    """批量章节生成器"""
# ...
    def __init__(self, input_dir, output_dir, format="markdown"):
        self.input_dir = Path(input_dir)
        self.output_dir = Path(output_dir)
        self.format = format
        self.output_dir.mkdir(parents=True, exist_ok=True)
# ...
    def process_all(self):
        """处理目录下所有文字稿"""
        transcripts = glob.glob(str(self.input_dir / "*.json"))
        results = []
# ...
        for transcript_path in sorted(transcripts):
            episode_id = Path(transcript_path).stem
            print(f"处理: {episode_id}")
# ...
            with open(transcript_path, "r", encoding="utf-8") as f:
                transcript = json.load(f)
# ...
            # 生成章节
            chapters = self.generate_chapters(transcript)
            # 生成高光
            highlights = self.extract_highlights(transcript)
            # 生成笔记
            show_notes = self.generate_show_notes(transcript, chapters, highlights)
            # 生成社媒文案
            social_captions = self.generate_social_captions(highlights)
# ...
            # 多格式输出
            self.save_output(episode_id, chapters, highlights,
                           show_notes, social_captions)
# ...
            results.append({
                "episode": episode_id,
                "chapters_count": len(chapters),
                "highlights_count": len(highlights),
                "duration": transcript["segments"][-1]["end"]
            })
# ...
        # 生成汇总报告
        self.save_summary(results)
        return results
# ...
    def save_output(self, episode_id, chapters, highlights, notes, captions):
        """多格式输出"""
        base = self.output_dir / episode_id
        base.mkdir(parents=True, exist_ok=True)
# ...
        # Markdown 格式
        with open(base / "chapters.md", "w", encoding="utf-8") as f:
            f.write(self.to_markdown(chapters, highlights, notes))
# ...
        # JSON 格式(程序处理)
        with open(base / "chapters.json", "w", encoding="utf-8") as f:
            json.dump({"chapters": chapters, "highlights": highlights},
                     f, ensure_ascii=False, indent=2)
# ...
        # SRT 格式(字幕)
        with open(base / "chapters.srt", "w", encoding="utf-8") as f:
            f.write(self.to_srt(chapters))
# ...
        # ID3 标签(MP3 章节)
        with open(base / "chapters.id3", "w", encoding="utf-8") as f:
            f.write(self.to_id3(chapters))
# ...
        # 社媒文案
        with open(base / "social-captions.md", "w", encoding="utf-8") as f:
            f.write(captions)
# ...
generator = BatchChapterGenerator(
    input_dir="./transcripts",
    output_dir="./output"
)
generator.process_all()
```

### 场景二:AI 智能章节划分

基于语义理解的精准章节划分.
```python
import os
from openai import OpenAI
# ...
client = OpenAI()
# ...
def ai_smart_chapters(transcript, target_chapters=6):
    """AI 语义分析生成章节
# ...
    Args:
        transcript: 带时间戳的文字稿
        target_chapters: 目标章节数
    """
    # 准备上下文
    segments_text = "\n".join([
        f"[{seg['start']:.1f}s] {seg['text']}"
        for seg in transcript["segments"]
    ])
# ...
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": f"""你是播客章节编辑专家.
基于文字稿进行语义分析,将内容划分为 {target_chapters} 个左右的章节.
# ...
输出 JSON 格式:
podcast-chaptering
  ],
  "highlights": [
    podcast-chaptering
  ]
}}"""},
            {"role": "user", "content": f"文字稿:\n{segments_text[:12000]}"}
        ],
        response_format={"type": "json_object"}
    )
# ...
    return json.loads(response.choices[0].message.content)
# ...
# 使用
result = ai_smart_chapters(transcript)
for ch in result["chapters"]:
    mins, secs = divmod(int(ch["start"]), 60)
    print(f"{mins:02d}:{secs:02d} {ch['title']} - {ch['summary']}")
```

### 场景三:API 服务化部署

将章节生成封装为 API 服务.
```python
from fastapi import FastAPI, UploadFile, File, BackgroundTasks
from fastapi.responses import JSONResponse
import tempfile
import os
# ...
app = FastAPI(title="播客章节服务", version="1.0.0")
# ...
@app.post("/api/v1/chapters")
async def generate_chapters(
    file: UploadFile = File(...),
    format: str = "json",
    target_chapters: int = 6,
    language: str = "auto"
):
    """生成章节标记
# ...
    - 接受文字稿 JSON 文件
    - 返回章节、高光与社媒文案
    """
    content = await file.read()
# ...
    with tempfile.NamedTemporaryFile(delete=False, suffix=".json") as tmp:
        tmp.write(content)
        tmp_path = tmp.name
# ...
    try:
        import json
        with open(tmp_path, "r", encoding="utf-8") as f:
            transcript = json.load(f)
# ...
        result = ai_smart_chapters(transcript, target_chapters)
# ...
        return JSONResponse({
            "status": "success",
            "data": result,
            "meta": {
                "duration": transcript["segments"][-1]["end"],
                "segments_count": len(transcript["segments"]),
                "language": language
            }
        })
    finally:
        os.unlink(tmp_path)
# ...
@app.post("/api/v1/batch")
async def batch_process(
    background_tasks: BackgroundTasks,
    input_dir: str,
    output_dir: str
):
    """批量处理(异步)"""
    background_tasks.add_task(
        BatchChapterGenerator(input_dir, output_dir).process_all
    )
    return {"status": "accepted", "message": "批量任务已启动"}
# ...
# 启动: uvicorn server:app --host 0.0.0.0 --port 8000
```

## 使用流程

### 依赖说明

### 运行环境
1. **Agent 平台**: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
2. **操作系统**: Windows / macOS / Linux
3. **Python**: 3.9 及以上
4. **网络**: AI 功能需访问 OpenAI API

### 第三方依赖

| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---:|---:|---:|---:|
| openai | Python 库 | 必需(AI 功能) | `pip install openai` |
| fastapi | Python 库 | 可选(API 服务) | `pip install fastapi uvicorn` |
| python-multipart | Python 库 | 可选(文件上传) | `pip install python-multipart` |
| Python 3.9+ | 运行时 | 必需 | `python.org` 下载 |
| LLM API | API | 必需 | 由Agent内置LLM提供 |

### API Key 配置
5. AI 智能章节功能需配置 `OPENAI_API_KEY`
6. API 服务化建议配置鉴权 Token 保护接口
7. 企业部署建议通过密钥管理服务统一托管
8. 批量处理建议监控 API 配额用量

### 可用性分类
9. **分类**: MD+EXEC()
10. **说明**: 基于Markdown的AI Skill,。专业版支持批量处理、社媒切片生成、多格式输出与 API 集成,适合企业级播客内容生产流水线.
**API Key配置方式**:
```bash
export API_KEY="your_api_key_here"
```
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
#
## 输入格式

| 参数名 | 类型 | 必填 | 说明 |
|:---:|:---:|:---:|:---:|
| content | string | 否 | podcast-chaptering处理的内容输入 |,  |
| content | string | 否 | podcast-chaptering处理的内容输入 |, 可选值: json/text/markdown |
| style | string | 否 | 输出风格, 参考 `references/style.md` |

## 输出格式

```json
{
  "success": true,
  "data": {
    result: "chaptering 相关配置参数",
    result: "chaptering 相关配置参数",
    result: "chaptering 相关配置参数",
    "metadata": {
      "template_used": "reviewer",
      "word_count": 0,
      "style": "专业"
    }
  },
  "error": null
}
```

输出模板参考: `assets/output.json`

## 异常处理

| 错误场景 | 原因 | 处理方式 |
|:------|------:|:------|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 

## 依赖说明(补充)

| 依赖项 | 类型 | 必需 | 说明 |
|---:|:---|---:|---:|
| LLM | 模型 | 是 | 需要LLM进行内容生成, 推荐GPT-4/智谱GLM-4/DeepSeek |
| API Key | 凭证 | 否 | 使用云端LLM时需要, 本地LLM不需要 |

**国内替代方案**:
- OpenAI GPT → 智谱GLM-4 / 百度文心一言 / 通义千问 / DeepSeek
- OpenAI Embedding → 智谱embedding-2 / 百度embedding

## 案例展示

### 批量任务配置

```yaml
# chaptering-config.yaml
batch:
  input_dir: "./transcripts"
  output_dir: "./output"
  formats: ["markdown", "json", "srt", "id3"]
  ai_model: "gpt-4o"
  target_chapters: 6
  language: "auto"
  generate_social: true
  generate_highlights: true
  max_workers: 3
  skip_existing: true
```

### 多格式输出说明

| 格式 | 用途 | 特点 |
|:------:|--------|:-------|
| Markdown | 节目笔记 | 人类可读,平台通用 |
| JSON | 程序处理 | 结构化,含完整元数据 |
| SRT | 视频字幕 | 播放器兼容 |
| VTT | Web 字幕 | HTML5 兼容 |
| ID3 | MP3 章节 | 嵌入音频文件 |

## 常见问题

### Q1: AI 章节划分的准确度?

基于 GPT-4o 语义分析,准确度可达 90%+。影响准确度的因素:文字稿质量、话题转换清晰度、专业术语密度。建议人工快速校对边界.
### Q2: 批量处理如何容错?

- 启用 `skip_existing` 跳过已处理文件
- 失败重试机制(3 次)
- 记录处理日志与状态
- 单文件失败不影响整体流程

### Q3: 社媒文案如何定制?

通过 prompt 指定:
- 平台风格(微博/小红书/推特)
- 字数限制
- Hashtag 数量
- 语气风格(专业/轻松)

### Q4: 多语言支持如何?

AI 模型支持 30+ 语言,包括中英日韩法德西等。文字稿语言自动检测,章节标题按原文语言生成。如需翻译,可附加翻译步骤.
### Q5: 专业版与免费版的迁移?

零迁移成本。专业版是免费版的超集,输入输出格式兼容。升级后原有流程自动受益于 AI 增强,新特性按需启用.
### Q6: 是否支持自动发布?

支持通过 API 集成到发布流程。但发布操作需明确授权,默认仅生成内容不自动发布,确保人工审核.
## 错误处理

| 错误场景(续)| 原因 | 处理方式 |
|----|:--:|---:|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | ，请求；确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求，参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述，补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求；检查命令权限设置 |

## 已知限制

- 需要API Key，无Key环境无法使用
