Building an Edge AI Pipeline to Generate Podcast Titles
When I first started recording episodes for my indie dev podcast, I thought the hardest part would be securing guests or editing out the "ums" and "ahs". I was completely wrong. The real bottleneck turned out to be the post-production metadata.
Writing compelling titles, structuring show notes, and crafting SEO-friendly descriptions took longer than the actual recording. I was spending three hours on metadata for every one hour of audio. I tried using generic AI chat interfaces, but it was a messy workflow. I had to manually copy-paste transcripts, tweak prompts every time, and format the output.
So I decided to build something.
The Problem with Podcast Metadata
It is easy to focus entirely on audio quality and guest selection, but metadata is the packaging of your content. A great episode with a weak title will get zero clicks. Without structured show notes, you miss out on search engine traffic and make it harder for listeners to find specific topics within a long episode.
The cost of ignoring this is high. Podcasts die in obscurity not because the content is bad, but because the discoverability layer is missing. Doing this manually is exhausting, and treating AI like a simple chatbot leads to inconsistent, generic results.
Building PodCrisp: An Edge AI Approach
To solve this, I built PodCrisp. I wanted a tool that could handle the heavy lifting of prompt engineering and formatting, running entirely at the edge for low latency. I chose Cloudflare Workers combined with their AI inference capabilities.
Running AI at the edge means the inference happens close to the user, eliminating the cold starts and latency spikes you often get with traditional serverless functions.
Prompt Engineering for Titles
The first feature I tackled was the title generator. The challenge with LLMs is that they naturally drift toward clickbait if you do not constrain them. I had to build a strict system prompt to enforce quality.
Here is the core logic for building the title prompt:
// Prompt engineering for podcast title generation function buildTitlePrompt(topic, tone, count) { return { system: `You are an expert podcast producer. Generate compelling titles. Rules: - 5-10 words each - Use curiosity gaps, numbers, or strong hooks - Match the tone: ${tone} - No clickbait that overpromises - Format as numbered list`, user: `Episode topic: ${topic} Generate ${count} title options that make someone want to click play.` }; } // Example: generate 5 titles for a bootstrapping episode const prompt = buildTitlePrompt( "How to start a podcast with zero budget", "inspirational", 5 ); By explicitly defining the rules in the system message, the AI understands the boundaries. The tone variable allows creators to match their show's vibe, whether it is educational, comedic, or inspirational.
Structuring Show Notes at the Edge
Once the title generator was stable, I moved on to show notes. This requires processing a full transcript and extracting structured data.
Here is the Cloudflare Worker implementation for the show notes pipeline:
// Show notes generation pipeline (Cloudflare Workers + AI) export default { async fetch(request, env) { const { transcript } = await request.json(); // Call AI model for structured show notes const response = await env.AI.run('@cf/meta/llama-3-8b-instruct', { messages: [ { role: 'system', content: `Convert podcast transcripts to show notes: ## Episode Summary (2-3 sentences) ## Key Takeaways (5-7 bullet points) ## Timestamps (estimate from content flow) ## Resources Mentioned` }, { role: 'user', content: transcript } ], max_tokens: 800, }); return new Response(JSON.stringify(response), { headers: { 'Content-Type': 'application/json' }, }); }, }; Notice the max_tokens limit. When processing long transcripts, you want to prevent the model from rambling. The system prompt forces a specific Markdown structure, which makes it incredibly easy to parse the response and render it directly into a CMS or podcast host.
Practical Results and Trade-offs
Moving to edge AI changed the user experience completely. The generation feels instantaneous compared to traditional API calls.
What surprised me most was how much the system prompt constraints mattered. In my early tests without the "No clickbait" rule, the AI generated titles like "You Will Not Believe What Happened When I Started a Podcast!" Adding that single constraint brought the quality back to a professional level.
If I were to change one thing, I would integrate a dedicated speech-to-text model specifically fine-tuned for podcast audio before passing it to the text LLM. While the current pipeline works well with standard transcripts, handling the raw audio directly at the edge would reduce the pipeline steps.
Try the Free Title Generator
If you are struggling with the metadata side of podcasting, I have packaged the core title generation logic into a free, standalone tool. You can use it to generate multiple title options for your next episode without needing to sign up or configure any prompts.
You can try the Podcast Title Generator right now.
Full disclosure: I'm the developer of PodCrisp. I built this because I needed it myself.
原文:https://www.a8q9.cn/en/article/building-an-edge-ai-pipeline-to-generate-podcast-titles-14d5ae.html