<?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>Forem: Merlin Rabens</title>
    <description>The latest articles on Forem by Merlin Rabens (@merlinrabens).</description>
    <link>https://forem.com/merlinrabens</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%2F3684858%2F36841076-3622-4011-941a-c5270cf7b5fd.png</url>
      <title>Forem: Merlin Rabens</title>
      <link>https://forem.com/merlinrabens</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/merlinrabens"/>
    <language>en</language>
    <item>
      <title>I Built a Claude Code Plugin That Unifies 10 AI Image Providers</title>
      <dc:creator>Merlin Rabens</dc:creator>
      <pubDate>Mon, 29 Dec 2025 18:48:09 +0000</pubDate>
      <link>https://forem.com/merlinrabens/i-built-a-claude-code-plugin-that-unifies-10-ai-image-providers-5gpd</link>
      <guid>https://forem.com/merlinrabens/i-built-a-claude-code-plugin-that-unifies-10-ai-image-providers-5gpd</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Last month I was working on a project that needed AI-generated images. Sometimes I needed photorealistic product shots. Sometimes logos with clean typography. Sometimes artistic renders.&lt;/p&gt;

&lt;p&gt;Each time, I had to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Remember which API does what best&lt;/li&gt;
&lt;li&gt;Switch credentials&lt;/li&gt;
&lt;li&gt;Handle different response formats&lt;/li&gt;
&lt;li&gt;Deal with rate limits&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It was inefficient. So I built something better.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Image Gen
&lt;/h2&gt;

&lt;p&gt;Image Gen is a Claude Code plugin that unifies 10 AI image generation providers into one interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The key insight:&lt;/strong&gt; Different providers excel at different tasks. Instead of you choosing, Claude picks the optimal provider for each prompt automatically.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Best For&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI DALL-E 3&lt;/td&gt;
&lt;td&gt;General purpose, text rendering&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BFL FLUX.2&lt;/td&gt;
&lt;td&gt;Photorealism, product shots, 4K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stability AI&lt;/td&gt;
&lt;td&gt;Controlled generation, img2img&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ideogram v3&lt;/td&gt;
&lt;td&gt;Typography, logos, text in images&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Gemini&lt;/td&gt;
&lt;td&gt;Multi-image composition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FAL&lt;/td&gt;
&lt;td&gt;Fast iterations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Leonardo&lt;/td&gt;
&lt;td&gt;Artistic renders, fantasy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recraft v3&lt;/td&gt;
&lt;td&gt;Top ELO ranked, vector output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Replicate&lt;/td&gt;
&lt;td&gt;Open source models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ClipDrop&lt;/td&gt;
&lt;td&gt;Upscaling, background removal&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;When you ask Claude to generate an image, the plugin:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Analyzes the prompt&lt;/strong&gt; - What kind of image is this?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Selects the best provider&lt;/strong&gt; - Typography? Ideogram. Photorealism? FLUX.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generates the image&lt;/strong&gt; - Calls the selected API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Falls back if needed&lt;/strong&gt; - Rate limit? Try the next best option.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/plugin marketplace add shipdeckai/claude-skills
/plugin install image-gen@shipdeckai/claude-skills```

Then configure at least one API key in your shell profile:

export OPENAI_API_KEY="sk-..."
export BFL_API_KEY="..."


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why 10 Providers Matters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No single point of failure&lt;/strong&gt; - Provider down? Automatic fallback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best-in-class for every task&lt;/strong&gt; - Right tool for the job.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Future-proof&lt;/strong&gt; - New provider launches? Add it to the rotation.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The entire project is MIT licensed and open source.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/shipdeckai/claude-skills" rel="noopener noreferrer"&gt;shipdeckai/claude-skills&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs:&lt;/strong&gt; &lt;a href="https://shipdeckai.github.io/image-gen" rel="noopener noreferrer"&gt;shipdeckai.github.io/image-gen&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're using Claude Code for anything visual, give it a shot. PRs and feedback welcome.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What's your go-to image generation workflow? I'd love to hear how others are handling multi-provider setups.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>imagegeneration</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
