<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Heather Scott (PeeperFrog)</title>
    <description>The latest articles on DEV Community by Heather Scott (PeeperFrog) (@heather_scott_721dc030b71).</description>
    <link>https://dev.to/heather_scott_721dc030b71</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3744484%2F6fdd183d-b649-409e-bc7e-db45a577a166.png</url>
      <title>DEV Community: Heather Scott (PeeperFrog)</title>
      <link>https://dev.to/heather_scott_721dc030b71</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/heather_scott_721dc030b71"/>
    <language>en</language>
    <item>
      <title>Claude Desktop Image Generation</title>
      <dc:creator>Heather Scott (PeeperFrog)</dc:creator>
      <pubDate>Wed, 04 Feb 2026 05:56:42 +0000</pubDate>
      <link>https://dev.to/heather_scott_721dc030b71/peeperfrog-create-1p93</link>
      <guid>https://dev.to/heather_scott_721dc030b71/peeperfrog-create-1p93</guid>
      <description>&lt;h1&gt;
  
  
  PeeperFrog Create
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;An open-source MCP server with Claude Skills that automates AI image generation across Gemini, OpenAI, and Together AI - from prompt to WordPress&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hvwip56a4x1c6ri415o.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hvwip56a4x1c6ri415o.webp" alt="Robots playing poker" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Content creation has a bottleneck problem. You need images. Lots of them. Each one requires choosing a provider, crafting prompts, managing costs, converting formats, and uploading to your CMS. What if your AI assistant could handle all of that, right on your desktop?&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://github.com/PeeperFrog/peeperfrog-create" rel="noopener noreferrer"&gt;PeeperFrog Create&lt;/a&gt; to solve this - an open-source MCP (Model Context Protocol) server that gives Claude (by Anthropic) access to three major AI image providers with intelligent routing, batch workflows, and direct WordPress publishing. Here's how it works and why it matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Content Creator's Dilemma
&lt;/h2&gt;

&lt;p&gt;When I started running newsletters, I faced a recurring problem:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write article ✅&lt;/li&gt;
&lt;li&gt;Research image requirements&lt;/li&gt;
&lt;li&gt;Choose provider (Gemini? DALL-E? FLUX?)&lt;/li&gt;
&lt;li&gt;Craft a prompt for that provider's strengths&lt;/li&gt;
&lt;li&gt;Generate image&lt;/li&gt;
&lt;li&gt;Download, convert to WebP&lt;/li&gt;
&lt;li&gt;Upload to WordPress&lt;/li&gt;
&lt;li&gt;Add to the article&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Steps 2-8 took longer than writing the actual content. Multiply this across multiple articles per week, and you're spending hours on image pipeline management instead of creating.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter PeeperFrog Create
&lt;/h2&gt;

&lt;p&gt;PeeperFrog Create is an MCP server that connects Claude directly to AI image generation services. But unlike single-provider solutions, it offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-provider support&lt;/strong&gt;: Gemini Pro, OpenAI DALL-E, Together AI (FLUX models)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto mode&lt;/strong&gt;: The MCP server picks the best provider based on your budget and needs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full control mode&lt;/strong&gt;: Claude picks the best provider and controls all the parameters&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch workflows&lt;/strong&gt;: Queue multiple images, review, and generate them in one run (cost-effective)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost estimation and tracking&lt;/strong&gt;: Know the approximate price before generating, and log it afterward&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skills system&lt;/strong&gt;: Teach Claude best practices for each provider&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebP conversion&lt;/strong&gt;: Automatic optimization for web delivery&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WordPress integration&lt;/strong&gt;: Direct upload to media library&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's what that looks like in practice:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8f0p3r81bh6uc6hccb1h.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8f0p3r81bh6uc6hccb1h.webp" alt="MCP Flow" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture: Why MCP Changes Everything
&lt;/h2&gt;

&lt;p&gt;Model Context Protocol is Anthropic's open standard for connecting AI models to external tools. Instead of context switching between applications, MCP lets Claude call tools directly within the conversation.&lt;/p&gt;

&lt;p&gt;Traditional workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You → Claude → Copy prompt → Open DALL-E → Generate → Download → Covert → Upload
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With MCP:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You → Claude → [MCP handles generation, conversion, upload] → Done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The server acts as a bridge between Claude and image generation APIs:&lt;/p&gt;

&lt;h2&gt;
  
  
  Auto Mode: The Secret Weapon
&lt;/h2&gt;

&lt;p&gt;Here's where &lt;strong&gt;PeeperFrog Create&lt;/strong&gt; gets interesting. Each provider has different strengths:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemini Pro&lt;/strong&gt;: Best for complex compositions, reference images, search grounding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenAI DALL-E&lt;/strong&gt;: Excellent photorealism, reliable text rendering&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Together FLUX&lt;/strong&gt;: Cost-effective, fast iterations, artistic styles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of manually choosing, auto mode analyzes your request:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmu0y6vx68bd1n7miy1d.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmu0y6vx68bd1n7miy1d.webp" alt="Auto Image Mode" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Example conversation:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "&lt;em&gt;Create a professional infographic showing AI cost trends using peeperfrog-create.&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude:&lt;/strong&gt; "&lt;em&gt;I'll create a professional infographic showing AI cost trends for you. Let me generate this using the image generation system.&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generation details:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Provider: Gemini Pro&lt;br&gt;
Resolution: 2K (16:9 aspect ratio)&lt;br&gt;
Cost: $0.14 USD&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "&lt;em&gt;Convert it to WebP.&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conversion results:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ Original PNG: 3.1 MB&lt;br&gt;
✓ WebP version: 319 KB&lt;br&gt;
✓ 89.7% file size reduction&lt;br&gt;
✓ Quality: 85 (high quality retained)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The actual image this prompt created:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2ykxoqf784kd532skvf.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2ykxoqf784kd532skvf.webp" alt="Example Output" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Five auto modes cover every scenario:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cheapest&lt;/code&gt; (max $0.003/MP): Minimize cost — dreamshaper, flux1-schnell&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;budget&lt;/code&gt; (max $0.01/MP): Decent quality, low cost — hidream-fast, juggernaut-pro&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;balanced&lt;/code&gt; (max $0.04/MP): Production use, good quality/cost — seedream3, flux2-dev, flux2-pro, imagen4&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;quality&lt;/code&gt; (max $0.08/MP): Premium quality — ideogram3, imagen4-ultra, flux1-kontext-max&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;best&lt;/code&gt; (no limit): Maximum quality — Gemini Pro, OpenAI Pro&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Real-World Example: Robot Poker Scene
&lt;/h2&gt;

&lt;p&gt;Let me show you what reference images can do. I wanted to create a promotional image for this article showing different robot designs playing poker. Here are the reference robots:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkupftcmlq2vkx71rb62c.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkupftcmlq2vkx71rb62c.webp" alt=" " width="800" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are real commercial humanoid robots: Boston Dynamics' Atlas, various research platforms, Unitree's H1, and others. Each was an individual photo. I wanted an image that maintained their distinct designs while composing them into a coherent scene.&lt;/p&gt;

&lt;p&gt;Using Gemini Pro with reference images:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# In the conversation with Claude:
&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Create an image of these five robots playing poker.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bpdm9ofm70zqixz5593.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bpdm9ofm70zqixz5593.webp" alt="5 robots playing poke" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claude wrote the prompt and selected the model based on the need for reference images. Gemini Pro analyzed all five robots, understood their proportions and aesthetics, and composed them into a coherent scene with proper lighting, atmosphere, and context. This is the power of reference images - you get consistency across generated content while maintaining specific design requirements.&lt;/p&gt;

&lt;p&gt;Try that with prompt-only generation, and you'll spend hours iterating to get five consistent robot designs that feel like they belong in the same universe.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Skills System: Teaching Claude Best Practices
&lt;/h2&gt;

&lt;p&gt;MCP provides the tools. Skills teach Claude how to use them effectively.&lt;/p&gt;

&lt;p&gt;Each skill is a markdown file that guides Claude through specific workflows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxnnfulm5lxyvmou44p56.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxnnfulm5lxyvmou44p56.webp" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Available Skills
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Core Image Generation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;image-generation&lt;/code&gt;: Overview of all tools and workflows&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;image-auto-mode&lt;/code&gt;: When to use auto mode vs manual control&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;image-manual-control&lt;/code&gt;: Advanced provider-specific options&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;image-queue-management&lt;/code&gt;: Batch workflow best practices&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cost-estimation&lt;/code&gt;: Budget planning and provider comparison&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Publishing Pipeline:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;webp-conversion&lt;/code&gt;: Web optimization strategies&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;wordpress-upload&lt;/code&gt;: CMS integration patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Creative Guidance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;graphic-prompt-types&lt;/code&gt;: Reference guide for visual styles&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;example-brand-image-guidelines&lt;/code&gt;: Template for brand consistency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Skills work in both Claude Desktop (GUI) and Claude Code (CLI). Once installed, Claude automatically applies relevant knowledge without you needing to remember command syntax or provider limitations.&lt;/p&gt;

&lt;p&gt;Example: You ask for "five images for a newsletter about quantum computing." When using the skills together, Claude can:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check &lt;code&gt;image-queue-management&lt;/code&gt; skill for best practices&lt;/li&gt;
&lt;li&gt;Add five prompts to the batch queue&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;cost-estimation&lt;/code&gt; to show the total cost before generating&lt;/li&gt;
&lt;li&gt;Wait for your approval&lt;/li&gt;
&lt;li&gt;Generate all images in one batch run (reducing cost)&lt;/li&gt;
&lt;li&gt;Convert to WebP when you request optimization&lt;/li&gt;
&lt;li&gt;Upload to WordPress when you request publishing&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Batch Workflows: Production at Scale
&lt;/h2&gt;

&lt;p&gt;The batch system transforms how you handle multiple images:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufy5bs2yk4ze9vxwxlgk.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufy5bs2yk4ze9vxwxlgk.webp" alt="Image Batch System" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt;&lt;br&gt;
Generate five images individually = five separate API calls, five interruptions, five manual downloads, five uploads. About 20 minutes of context switching. All at full price.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Solution:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Queue all five images with prompts
2. Review queue and estimated costs
3. Generate all in one batch (Gemini cost cut in half)
4. Convert all to WebP
5. Upload all to WordPress in bulk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Time: Under 5 minutes. Cost: Optimized through provider selection and batch processing. Mental overhead: Minimal.&lt;/p&gt;

&lt;p&gt;Real example from my workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Newsletter: "The $0.50 Intelligence Revolution."
Images needed:
- Hero image: Cost decline chart (Gemini, text/infographic)
- Figure 1: Timeline diagram (Gemini, complex layout)
- Figure 2: Comparison table (OpenAI, clear text)
- Social: Square version (Together FLUX, artistic)
- Thumbnail: Simplified hero (Together FLUX, fast)

Total cost: ~$0.40-0.45
Generation time: ~3 minutes
Manual time saved: ~25 minutes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The WordPress Pipeline: From Prompt to Published
&lt;/h2&gt;

&lt;p&gt;The final piece - direct publishing:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3cdkgmx1pp8obioki8bg.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3cdkgmx1pp8obioki8bg.webp" alt="WordPress Image Publishing" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Process:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate image (PNG format from provider)&lt;/li&gt;
&lt;li&gt;Convert to WebP (90-94% size reduction for web optimization)&lt;/li&gt;
&lt;li&gt;Upload to WordPress via REST API&lt;/li&gt;
&lt;li&gt;Title set from filename; alt text/caption added manually in WordPress&lt;/li&gt;
&lt;li&gt;Return media ID for insertion in posts&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Configuration:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"wordpress"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"https://yourblog.com"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"username"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"your-username"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"password"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"your-app-password"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One API call uploads your optimized images directly to your media library, ready to insert into posts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cost Comparison: Why Multi-Provider Matters
&lt;/h2&gt;

&lt;p&gt;The price difference between providers is massive - up to 400x difference between the cheapest and most expensive options, and batch processing can save you 50% on the most expensive Gemini Pro images:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57940nt47m9hsvc4fw87.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57940nt47m9hsvc4fw87.webp" alt="Model Cost Comparison" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini Pro Image&lt;/strong&gt; ($0.134-0.24/image):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Up to 14 reference images (unique capability)&lt;/li&gt;
&lt;li&gt;Search grounding for factually accurate images&lt;/li&gt;
&lt;li&gt;Thinking levels for quality control&lt;/li&gt;
&lt;li&gt;Up to 4K resolution (4096×4096)&lt;/li&gt;
&lt;li&gt;Pricing: $0.134 for 2K, $0.24 for 4K&lt;/li&gt;
&lt;li&gt;Batch API available: 50% discount ($0.067 for 2K, $0.12 for 4K)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;OpenAI DALL-E / gpt-image-1&lt;/strong&gt; ($0.01-0.17/image):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Three quality tiers: Low ($0.01), Medium ($0.04), High ($0.17)&lt;/li&gt;
&lt;li&gt;Superior photorealism at medium/high tiers&lt;/li&gt;
&lt;li&gt;Excellent text rendering&lt;/li&gt;
&lt;li&gt;Consistent style generation&lt;/li&gt;
&lt;li&gt;Industry-standard quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Together AI FLUX&lt;/strong&gt; ($0.0027-0.08/MP):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FLUX.1 Schnell: $0.0027/MP (fastest, most cost-effective)&lt;/li&gt;
&lt;li&gt;FLUX.1 Dev: $0.025/MP (balanced quality/cost)&lt;/li&gt;
&lt;li&gt;FLUX.1.1 Pro: $0.04/MP (premium quality)&lt;/li&gt;
&lt;li&gt;FLUX.1 Kontext Max: $0.08/MP (highest quality with editing)&lt;/li&gt;
&lt;li&gt;Fast iterations for creative exploration&lt;/li&gt;
&lt;li&gt;Artistic and illustration strengths&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Auto mode considers all these factors when routing your request. Budget constraints? Style requirements? Resolution needs? It handles the decision automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Production Metrics
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Time Savings (from my workflow):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Old workflow: ~30 minutes per article (5 images avg)&lt;/li&gt;
&lt;li&gt;New workflow: ~5 minutes per article&lt;/li&gt;
&lt;li&gt;Savings: ~83% reduction in image production time&lt;/li&gt;
&lt;li&gt;Your results may vary based on complexity and iteration needs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cost Efficiency:&lt;/strong&gt;&lt;br&gt;
Newsletter with 5 diverse images using auto mode balanced:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hero (OpenAI medium): $0.04&lt;/li&gt;
&lt;li&gt;Infographic (ideogram3): $0.06&lt;/li&gt;
&lt;li&gt;Photo (seedream3): $0.02&lt;/li&gt;
&lt;li&gt;Social (flux1-schnell): $0.003&lt;/li&gt;
&lt;li&gt;Thumbnail (dreamshaper): $0.001&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Total: ~$0.173&lt;/strong&gt; via smart routing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Compare to uniform provider costs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Same 5 images all Gemini Pro 2K immediate: &lt;strong&gt;$0.67&lt;/strong&gt; (5 × $0.134)&lt;/li&gt;
&lt;li&gt;Same 5 images all Gemini Pro 2K batched: &lt;strong&gt;$0.335&lt;/strong&gt; (5 × $0.067)&lt;/li&gt;
&lt;li&gt;Same 5 images all OpenAI medium: &lt;strong&gt;$0.20&lt;/strong&gt; (5 × $0.04)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Savings: 60-75% through multi-provider optimization and batching&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Quality Improvements:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reference images maintain brand consistency&lt;/li&gt;
&lt;li&gt;Batch review prevents mistakes before generation&lt;/li&gt;
&lt;li&gt;Cost visibility prevents budget overruns&lt;/li&gt;
&lt;li&gt;Skills reduce prompt iteration cycles&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Installation: 5 Minutes to Running
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;- Python 3.8+
- Claude Desktop or Claude Code
- API keys &lt;span class="o"&gt;(&lt;/span&gt;one or more&lt;span class="o"&gt;)&lt;/span&gt;: Gemini, OpenAI, Together AI
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Setup:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone repository&lt;/span&gt;
git clone https://github.com/PeeperFrog/peeperfrog-create.git
&lt;span class="nb"&gt;cd &lt;/span&gt;peeperfrog-create/peeperfrog-create-mcp

&lt;span class="c"&gt;# Configuration&lt;/span&gt;
&lt;span class="nb"&gt;cp &lt;/span&gt;config.json.example config.json
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env

&lt;span class="c"&gt;# Install dependencies&lt;/span&gt;
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate  &lt;span class="c"&gt;# On Windows: venv\Scripts\activate&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;requests
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Configure MCP Client:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Find your settings file:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code&lt;/strong&gt;: &lt;code&gt;~/.claude/settings.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Desktop (Linux)&lt;/strong&gt;: &lt;code&gt;~/.config/Claude/claude_desktop_config.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Desktop (macOS)&lt;/strong&gt;: &lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Desktop (Windows)&lt;/strong&gt;: &lt;code&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add the server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"peeperfrog-create"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/path/to/peeperfrog-create/peeperfrog-create-mcp/venv/bin/python3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"/path/to/peeperfrog-create/peeperfrog-create-mcp/src/image_server.py"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"GEMINI_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"your-key"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"OPENAI_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"your-key"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"TOGETHER_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"your-key"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart Claude. Done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install Skills:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For Claude Desktop: Settings &amp;gt; Capabilities &amp;gt; Skills &amp;gt; Upload each &lt;code&gt;SKILL.md&lt;/code&gt; from the &lt;code&gt;skills/&lt;/code&gt; folder.&lt;/p&gt;

&lt;p&gt;For Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; skills/&lt;span class="k"&gt;*&lt;/span&gt; ~/.claude/skills/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Use Cases Beyond Newsletters
&lt;/h2&gt;

&lt;p&gt;While I built this for newsletter production, the system works for:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content Marketing:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blog hero images&lt;/li&gt;
&lt;li&gt;Social media graphics
&lt;/li&gt;
&lt;li&gt;Email campaign visuals&lt;/li&gt;
&lt;li&gt;Landing page assets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Documentation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Technical diagrams&lt;/li&gt;
&lt;li&gt;Architecture visualizations&lt;/li&gt;
&lt;li&gt;Process flowcharts&lt;/li&gt;
&lt;li&gt;Tutorial illustrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;E-commerce:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product mockups&lt;/li&gt;
&lt;li&gt;Lifestyle photography&lt;/li&gt;
&lt;li&gt;Promotional graphics&lt;/li&gt;
&lt;li&gt;Brand assets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Creative Projects:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Concept art&lt;/li&gt;
&lt;li&gt;Storyboarding&lt;/li&gt;
&lt;li&gt;Character design&lt;/li&gt;
&lt;li&gt;World-building&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key: any workflow where you need multiple AI-generated images with consistent quality, controlled costs, and efficient delivery.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Open Source Advantage
&lt;/h2&gt;

&lt;p&gt;PeeperFrog Create is Apache 2.0 licensed. This means:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For individuals:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use it for free forever&lt;/li&gt;
&lt;li&gt;Modify for your needs&lt;/li&gt;
&lt;li&gt;No vendor lock-in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For teams:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy on your infrastructure&lt;/li&gt;
&lt;li&gt;Customize provider routing&lt;/li&gt;
&lt;li&gt;Add your own workflows&lt;/li&gt;
&lt;li&gt;Integrate with existing tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For developers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extend with new providers&lt;/li&gt;
&lt;li&gt;Build custom Skills&lt;/li&gt;
&lt;li&gt;Contribute improvements&lt;/li&gt;
&lt;li&gt;Fork for specialized needs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The codebase is Python. The skills are markdown files. No complex dependencies. Easy to understand, easier to modify.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Current development roadmap:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Near-term:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Image editing capabilities (inpainting, outpainting)&lt;/li&gt;
&lt;li&gt;More Claude skills&lt;/li&gt;
&lt;li&gt;Social Media Connections&lt;/li&gt;
&lt;li&gt;Template system for common layouts&lt;/li&gt;
&lt;li&gt;Additional provider support (Replicate, Stability AI)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Medium-term:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Video generation integration&lt;/li&gt;
&lt;li&gt;Animation and motion graphics&lt;/li&gt;
&lt;li&gt;Multi-image composition tools&lt;/li&gt;
&lt;li&gt;Advanced cost management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Long-term:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local model support&lt;/li&gt;
&lt;li&gt;Fine-tuning integration&lt;/li&gt;
&lt;li&gt;Custom model hosting&lt;/li&gt;
&lt;li&gt;Enterprise collaboration features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to contribute? Issues and PRs welcome at &lt;a href="https://github.com/PeeperFrog/peeperfrog-create" rel="noopener noreferrer"&gt;github.com/PeeperFrog/peeperfrog-create&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bigger Picture: AI-Assisted Workflows
&lt;/h2&gt;

&lt;p&gt;This project represents a larger shift in how we work with AI tools. The traditional model - AI as chatbot - is giving way to AI as workflow participant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Old model:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Human → Think of task → Do task → AI assists with parts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;New model:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Human → Describe outcome → AI orchestrates entire workflow → Human reviews
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;MCP enables this transition. Instead of Claude generating text that you copy-paste into tools, Claude directly operates tools based on conversation context.&lt;/p&gt;

&lt;p&gt;Image generation is just one domain. The same pattern applies to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data analysis and visualization&lt;/li&gt;
&lt;li&gt;Code generation and testing&lt;/li&gt;
&lt;li&gt;Research and summarization&lt;/li&gt;
&lt;li&gt;Content publishing and distribution&lt;/li&gt;
&lt;li&gt;Project management and tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;PeeperFrog Create&lt;/strong&gt; proves the concept works. Your AI assistant can manage multi-provider services, handle complex workflows, optimize costs, and deliver production-ready results - all from a conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Today
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Install the MCP server (5 minutes)&lt;/li&gt;
&lt;li&gt;Add one API key (any provider)&lt;/li&gt;
&lt;li&gt;Install the Skills (3 minutes)&lt;/li&gt;
&lt;li&gt;Ask Claude to generate an image&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it. No tutorials needed. The Skills teach Claude how to use the tools effectively. Auto mode handles the complex decisions. Batch workflows scale your production.&lt;/p&gt;

&lt;p&gt;Within 10 minutes, you'll have an AI-powered image pipeline that would take days to build manually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/PeeperFrog/peeperfrog-create" rel="noopener noreferrer"&gt;github.com/PeeperFrog/peeperfrog-create&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation:&lt;/strong&gt; Full docs in the repo README and individual Skills&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community:&lt;/strong&gt; Issues, discussions, and PRs welcome&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Running newsletters? Content marketing? Building a CMS? Try **PeeperFrog Create&lt;/em&gt;* and cut your image costs in half and production time by 80%. Apache 2.0 licensed, free forever.*&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Building an Automated AI Image Pipeline with MCP and Gemini</title>
      <dc:creator>Heather Scott (PeeperFrog)</dc:creator>
      <pubDate>Sun, 01 Feb 2026 12:47:40 +0000</pubDate>
      <link>https://dev.to/heather_scott_721dc030b71/building-an-automated-ai-image-pipeline-with-mcp-and-gemini-2956</link>
      <guid>https://dev.to/heather_scott_721dc030b71/building-an-automated-ai-image-pipeline-with-mcp-and-gemini-2956</guid>
      <description>&lt;p&gt;Running newsletters is a content treadmill. Articles need images. Images need prompts. Prompts need refinement. And somewhere in that loop, hours disappear.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;gemini-image-mcp&lt;/strong&gt; to solve this - an open-source MCP (Model Context Protocol) server that automates AI image generation from prompt to published image. Here's how it works and why I built it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;My workflow looked like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write an article&lt;/li&gt;
&lt;li&gt;Think of image concepts (or multiple)&lt;/li&gt;
&lt;li&gt;Manually prompt an image generator (including reference images)&lt;/li&gt;
&lt;li&gt;Download the image&lt;/li&gt;
&lt;li&gt;Convert to WebP for web performance&lt;/li&gt;
&lt;li&gt;Upload to WordPress&lt;/li&gt;
&lt;li&gt;Repeat for every article&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Steps 2-6 were eating my time. I needed automation that fit inside my existing Claude Desktop workflow without jumping between tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter MCP
&lt;/h2&gt;

&lt;p&gt;MCP (Model Context Protocol) is Anthropic's open standard for connecting AI models to external tools. Instead of copy-pasting between apps, MCP lets Claude directly call tools - like an image generator - without leaving the conversation.&lt;/p&gt;

&lt;p&gt;This meant I could build a server that Claude could talk to directly. No browser switching. No manual downloads. Just a conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9d9hm8d0cwj22azpv6m.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9d9hm8d0cwj22azpv6m.webp" alt="Technical architecture diagram showing the gemini-image-mcp workflow: Claude Code connects via MCP protocol to the gemini-image-mcp server, which calls the Gemini API to generate images. Generated images then split into two paths - WebP Converter producing Optimized Images, and WordPress Upload delivering to the Media Library." width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The server is Python-based with three core modules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;gemini_image_server.py&lt;/strong&gt; - Main MCP server handling tool calls&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;batch_manager.py&lt;/strong&gt; - Queue management for batch operations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;batch_generate.py&lt;/strong&gt; - Batch image generation with rate limiting&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Two Quality Tiers
&lt;/h2&gt;

&lt;p&gt;Not every image needs to be 4K. I built in two tiers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro Mode&lt;/strong&gt; - Gemini 3 Pro Image Preview&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Up to 4K resolution (defaults to 2K)&lt;/li&gt;
&lt;li&gt;Supports up to 14 reference images&lt;/li&gt;
&lt;li&gt;Better text rendering&lt;/li&gt;
&lt;li&gt;Best for final production images&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fast Mode&lt;/strong&gt; - Gemini 2.5 Flash Image&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1K resolution&lt;/li&gt;
&lt;li&gt;Faster generation&lt;/li&gt;
&lt;li&gt;Great for iterations and testing&lt;/li&gt;
&lt;li&gt;Significantly cheaper&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This lets me prototype quickly in Fast mode and switch to Pro for final versions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Batch System
&lt;/h2&gt;

&lt;p&gt;This is where the real value comes in. Instead of generating images one at a time, the batch system:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Queues multiple image prompts&lt;/li&gt;
&lt;li&gt;Lets you review the queue before generating&lt;/li&gt;
&lt;li&gt;Generates all images in one run with rate limiting&lt;/li&gt;
&lt;li&gt;Cuts API costs roughly in half
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Queue images
&lt;/span&gt;&lt;span class="nf"&gt;add_to_batch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Newsletter header - abstract AI visualization&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;add_to_batch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Feature image - quantum computing concept&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;add_to_batch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Sidebar graphic - robotics innovation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Review queue
&lt;/span&gt;&lt;span class="nf"&gt;view_batch_queue&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Generate all at once
&lt;/span&gt;&lt;span class="nf"&gt;run_batch&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  WebP Conversion
&lt;/h2&gt;

&lt;p&gt;Web performance matters. The server automatically converts generated PNGs to WebP format using Pillow, reducing file sizes significantly without visible quality loss. This reduces server disk requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  WordPress Integration
&lt;/h2&gt;

&lt;p&gt;The final piece - direct upload to your WordPress media library via REST API. No manual uploads, no resizing, no file management. Generated, converted, and published in one workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/PeeperFrog/gemini-image-mcp.git
&lt;span class="nb"&gt;cd &lt;/span&gt;gemini-image-mcp
&lt;span class="nb"&gt;cp &lt;/span&gt;config.json.example config.json
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
pip &lt;span class="nb"&gt;install &lt;/span&gt;requests
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add your Gemini API key to &lt;code&gt;.env&lt;/code&gt;, update paths in &lt;code&gt;config.json&lt;/code&gt;, and add it to your MCP client. That's it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Results
&lt;/h2&gt;

&lt;p&gt;Running this for two newsletters, I've cut my image production time from roughly 30 minutes per article down to under 5 minutes. The batch system keeps API costs manageable, and the WordPress integration means published images appear in my media library automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Currently working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expanded reference image library for workflows&lt;/li&gt;
&lt;li&gt;Additional CMS integrations&lt;/li&gt;
&lt;li&gt;More granular quality controls&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrap Up
&lt;/h2&gt;

&lt;p&gt;MCP is still early, but it's already changing how developers build AI workflows. &lt;strong&gt;gemini-image-mcp&lt;/strong&gt; is one example of what's possible when you connect the dots between AI models and real-world tools.&lt;/p&gt;

&lt;p&gt;Free, open-source, MIT licensed.&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://github.com/PeeperFrog/gemini-image-mcp" rel="noopener noreferrer"&gt;GitHub: PeeperFrog/gemini-image-mcp&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>python</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
