Migrate from Heroku and get up to $10k in credits
Get startedWhy deploy blog thumbnails workflows on Render?
Blog Thumbnail Generator is a workflow-based application that generates AI-powered blog thumbnails using multiple image models in parallel. It solves the problem of efficiently orchestrating multiple AI image generation tasks (OpenAI, Google Gemini) with isolated compute, automatic retries, and centralized result handling.
This template wires together a React frontend, Express API, MinIO storage, and Render Workflows with all the inter-service connections and environment variables pre-configured—you'd otherwise spend significant time setting up the workflow orchestration, storage integration, and service-to-service communication yourself. Render Workflows handles the parallel fan-out of AI image generation tasks across isolated compute instances with built-in retry logic and timeouts, something that would require substantial infrastructure work to replicate manually. One click deploys the entire multi-service architecture with proper networking between services, so you can focus on customizing the thumbnail generation logic rather than debugging container orchestration.
Architecture
What you can build
After deploying, you'll have a web app where you can enter a blog title and generate thumbnail images using OpenAI and Google Gemini models running in parallel. Each model runs as an isolated workflow task with its own compute, so you can compare outputs from DALL-E 3, GPT-Image-1, and Gemini side by side without managing the orchestration yourself. The generated images are stored in a MinIO instance and served back to a React frontend where you can preview and download them.
Key features
- Parallel workflow orchestration: Fan-out architecture runs each AI model as an isolated Render Workflows subtask with independent compute, retry logic, and timeout handling.
- Multi-model image generation: Supports Gemini 3 Pro Preview, GPT-Image-1, and DALL-E 3 for simultaneous thumbnail generation across providers.
- TypeScript and Python APIs: Includes functionally equivalent Express and FastAPI implementations, allowing developers to choose their preferred language stack.
- Local workflow testing: Render CLI enables running the full workflow server locally with fan-out, retries, and subtasks without requiring a Render account.
- MinIO object storage: Generated thumbnails are resized, composited with text overlays, and uploaded as JPEGs to a self-hosted S3-compatible MinIO bucket.
Use cases
- Marketing team generates branded thumbnails for weekly blog posts
- Solo developer compares AI image models side-by-side for quality
- Content creator batch-produces styled headers across multiple articles
- DevOps engineer learns Render Workflows using a practical parallel-task example
What's included
Service | Type | Purpose |
|---|---|---|
blog-thumb-frontend | Web Service | Serves the user interface |
unnamed | rewrite | Application service |
blog-thumb-api-ts | Web Service | Handles API requests and business logic |
minio-data | Web Service | Application service |
Next steps
- Open the frontend URL and generate a thumbnail with a test title using Gemini 3 Pro Preview — You should see a generated thumbnail appear within 30 seconds with your title overlaid on the image
- Configure the RENDER_API_KEY and WORKFLOW_SLUG environment variables on your API service in the Render Dashboard — The workflow connection status should show as connected when you refresh the frontend
- Test parallel generation by selecting all three models (Gemini, GPT-Image-1, DALL-E 3) with the same blog title — You should see three distinct thumbnails appear, each with a different artistic interpretation based on the model used