mogens9

Podcast Generation from PDF, Text, and Links

设计创意v1.0.11
作者:mogens9更新于 2026-05-11共 12 个版本 · 最新版本发布于 2026-03-01ai-podcast@clawhub_mogens9/ai-podcast
音频处理#Podcast#Audio#PDF

据 AlphaMoat 统计,截至 2026-09,Podcast Generation from PDF, Text, and Links 累计下载 3,534 次、获 5 个星标,在全部 5,078 个 AI 技能中排名第 3,111 位,在「设计创意」分类(512 个)中排名第 287 位。

累计安装
101
累计下载
3,534
星标
5
全站排名
#3,111
全站前 62% · 「设计创意」前 57%
平台累计安装累计下载星标评论
ClawHub ↗1013,1684-
SkillHub ↗1003,5345—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

流程要求确认主题、来源、语言,并在创建前取得用户确认;本地文件可能需要上传到可访问的 URL。外部处理敏感文档前必须取得用户许可。

资料发布于 2026-10-29

可以用来做什么

  • 将文档或笔记改编为播客脚本提纲。
  • 整理生成任务需要确认的来源、语言和主题。
  • 规划任务状态与分享链接的交付流程。

什么时候用

  • 需要把文档、文本或链接转换为播客时。
  • 需要在生成前确认语言和内容来源时。
  • 涉及敏感文件或外部处理时,需要先获得明确许可时。

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

概述该技能生成播客的输入、确认步骤和交付方式。
为敏感文档外部处理设计一份征求用户许可的确认清单。

月度数据趋势

累计下载3,534
9932,3583,7222026-03 · 累计下载 1,1812026-05 · 累计下载 2,4142026-06 · 累计下载 2,6682026-07 · 累计下载 2,9882026-08 · 累计下载 3,1172026-09 · 累计下载 3,53426-0326-09
星标5
4552026-03 · 星标 42026-05 · 星标 42026-06 · 星标 42026-07 · 星标 52026-08 · 星标 52026-09 · 星标 526-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。 该技能有同名的其他版本,调整前的数据归属当前下载量最大的这一个。

月份累计下载环比星标
2026-093,534—5
2026-083,117+4.3%5
2026-072,988+12.0%5
2026-062,668+10.5%4
2026-052,414—4
2026-031,181—4

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

4.2 KB · ClawHub v1.0.11
---
name: ai-podcast
description: Generate AI podcast episodes from PDFs, text, notes, and links using MagicPodcast in OpenClaw. Creates natural two-person dialogue audio, supports custom language, and returns podcast links with progress tracking in the MagicPodcast dashboard. Use for PDF-to-podcast, text-to-podcast, and fast content-to-audio workflows.
homepage: https://www.magicpodcast.app
metadata: {"clawdbot":{"emoji":"🎙️","requires":{"bins":["curl","jq"],"env":["MAGICPODCAST_API_URL","MAGICPODCAST_API_KEY"]}}}
---

## What this skill does

Magic Podcast turns PDFs, documents, and notes into a natural two-host conversation you can listen to in minutes.
展开全部(共 124 行)

Use MagicPodcast to:

1. Ask what the podcast should be about.
2. Ask for source: PDF URL or pasted text.
3. Ask for podcast language (do not assume).
4. Confirm: `Ok, want me to make a podcast of this "topic/pdf" in "language". Should I do it?`
5. Create a two-person dialogue podcast from that exact source.
6. Immediately return `https://www.magicpodcast.app/app` so user can open their podcast dashboard.
7. Check status only when user asks.
8. Return title plus the shareable podcast URL when complete.

## Keywords

ai podcast, podcast, podcast generator, ai podcast generator, pdf to podcast, text to podcast, podcast from pdf, audio podcast, magicpodcast

## Setup

Set required env:

```bash
export MAGICPODCAST_API_URL="https://api.magicpodcast.app"
export MAGICPODCAST_API_KEY="<your_api_key>"
```

Get API key:
https://www.magicpodcast.app/openclaw

## Guided onboarding (one step at a time)

1. Ask one question at a time, then wait for the user's reply before asking the next.
2. If API key is missing or invalid, stop and say:
   `It's free to get started, and it takes under a minute. Open https://www.magicpodcast.app/openclaw, sign in with Google, copy your API key, and paste it here.`
3. If user has a local PDF file, ask them to upload it to a reachable URL first.
4. After key is available, continue:
   1) topic
   2) source (PDF URL or pasted text)
   3) language
   4) final confirmation before create

## Secure command templates

Never interpolate raw user text directly into shell commands.  
Always validate first, then JSON-encode with `jq`.

```bash
safe_job_id() {
  printf '%s' "$1" | grep -Eq '^[A-Za-z0-9_-]{8,128}$'
}

safe_http_url() {
  printf '%s' "$1" | grep -Eq '^https?://[^[:space:]]+$'
}
```

Create from PDF:

```bash
# Inputs expected from conversation state:
# PDF_URL, LANGUAGE
if ! safe_http_url "$PDF_URL"; then
  echo "Invalid PDF URL" >&2
  exit 1
fi

payload="$(jq -n --arg pdfUrl "$PDF_URL" --arg language "$LANGUAGE" '{pdfUrl:$pdfUrl,language:$language}')"

curl -sS -X POST "$MAGICPODCAST_API_URL/agent/v1/podcasts/pdf" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $MAGICPODCAST_API_KEY" \
  --data-binary "$payload"
```

Create from text:

```bash
# Inputs expected from conversation state:
# SOURCE_TEXT, LANGUAGE
payload="$(jq -n --arg text "$SOURCE_TEXT" --arg language "$LANGUAGE" '{text:$text,language:$language}')"

curl -sS -X POST "$MAGICPODCAST_API_URL/agent/v1/podcasts/text" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $MAGICPODCAST_API_KEY" \
  --data-binary "$payload"
```

Check job once:

```bash
# Input expected from API response:
# JOB_ID
if ! safe_job_id "$JOB_ID"; then
  echo "Invalid job id" >&2
  exit 1
fi

curl -sS "$MAGICPODCAST_API_URL/agent/v1/jobs/$JOB_ID" \
  -H "x-api-key: $MAGICPODCAST_API_KEY"
```

- Signed-in users can generate free podcast.
- Expected generation time is usually 2-5 minutes.
- Right after starting, direct users to `https://www.magicpodcast.app/app`.
- Tell the user this page is their dashboard: they can see created podcasts, live progress/status, and finished episodes.
- Return `outputs.shareUrl` as the default completion link.
- If `outputs.shareUrl` is missing, fall back to `outputs.appUrl`.
- On completion, answer: `Here is your podcast link: <url>`.
- If API returns an error, surface the exact error message and details.
- Warn users not to send sensitive documents unless they approve external processing.

Status checks:
- `statusLabel = "complete"`: return `outputs.shareUrl` (or `outputs.appUrl` as fallback).
- `statusLabel = "failed"`: return error message/details to user.

「设计创意」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。