🖼️ Thumbnail Generator API

Generate YouTube thumbnails, Instagram posts, and LinkedIn banners — powered by SDXL, ready in ~30 seconds.

📡 API ⏱️ ~30s generation 💰 10 credits / thumbnail
🖼️ Try Thumbnail Generator Free →

Overview

The Thumbnail Generator API creates professional thumbnails for YouTube, Instagram, and LinkedIn from a text prompt. Each generation uses SDXL to produce high-quality, bold images sized perfectly for each platform's requirements.

💡 Perfect for

YouTubers who need quick thumbnails, social media managers managing multiple accounts, SaaS tools adding thumbnail generation, and Indian creators needing Hindi text support.

✅ No subscription required

Rs 10 per thumbnail (10 credits at $0.001/credit). No monthly fee. No minimum spend. Pay as you go.

Quick Start

1. Get your API key

Sign up at pixelapi.dev/app and grab your API key from the API Keys tab.

2. Make your first request

curl -X POST https://api.pixelapi.dev/v1/thumbnail/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A chef holding a delicious pizza with melted cheese, dramatic lighting, dark moody background",
    "preset": "youtube",
    "style": "vibrant"
  }'

3. Poll for result

# Wait ~30 seconds then check status
curl https://api.pixelapi.dev/v1/thumbnail/YOUR_GENERATION_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

Response when complete:

{
  "status": "completed",
  "output_url": "https://api.pixelapi.dev/outputs/images/2026/04/22/xxx.png",
  "preset": "youtube",
  "width": 1280,
  "height": 720,
  "credits_used": 10
}

Thumbnail Formats

PresetDimensionsBest for
youtube1280 × 720 (16:9)YouTube video thumbnails — highest CTR potential
youtube_short1080 × 1920 (9:16)YouTube Shorts thumbnails
instagram1080 × 1920 (9:16)Instagram posts, stories, reels covers
linkedin1200 × 624 (~1.9:1)LinkedIn banner/profile header images

Styles

StyleDescriptionBest for
vibrant (default)High contrast, bold composition, professional lighting, 4KMost thumbnails — food, fashion, tech reviews
boldMax saturation, strong visual impact, high energyGaming, fitness, motivation content
cinematicFilm grain, anamorphic feel, dramatic shadowsTravel vlogs, short films, cinematic content
darkDark moody atmosphere, deep shadows, premium feelTech reviews, horror, thriller content
minimalClean whitespace, modern, typography-friendlyBusiness, education, minimal aesthetic channels

Parameters

ParameterTypeRequiredDescription
promptstringYesDescription of your thumbnail scene. Be specific about subjects, lighting, mood. Min 5 characters.
presetstringNoFormat: youtube, instagram, linkedin, youtube_short. Default: youtube.
stylestringNovibrant, bold, cinematic, dark, minimal. Default: vibrant.
text_overlaystringNoOptional bold text to add to the thumbnail (max 200 chars). SDXL renders it into the image.
negative_promptstringNoThings to avoid: blur, text, watermark, low quality. Default: "text, letters, watermark, blurry, low quality, deformed, ugly"

Code Examples

Python

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.pixelapi.dev"

def generate_thumbnail(prompt, preset="youtube", style="vibrant", text_overlay=None):
    # Step 1: Submit job
    resp = requests.post(
        f"{BASE_URL}/v1/thumbnail/generate",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "prompt": prompt,
            "preset": preset,
            "style": style,
            "text_overlay": text_overlay,
        }
    )
    resp.raise_for_status()
    data = resp.json()
    gen_id = data["generation_id"]
    print(f"Job queued: {gen_id}")

    # Step 2: Poll for result (every 2s)
    import time
    while True:
        time.sleep(2)
        status_resp = requests.get(
            f"{BASE_URL}/v1/thumbnail/{gen_id}",
            headers={"Authorization": f"Bearer {API_KEY}"}
        )
        status = status_resp.json()
        if status["status"] == "completed":
            print(f"Done! URL: {status['output_url']}")
            return status["output_url"]
        elif status["status"] == "failed":
            print(f"Failed: {status['error_message']}")
            return None

# Example: YouTube gaming thumbnail
url = generate_thumbnail(
    prompt="A fierce gamer wearing a headset, RGB neon lights in a dark gaming setup, dramatic lighting",
    preset="youtube",
    style="dark"
)

JavaScript / Node.js

const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.pixelapi.dev";

async function generateThumbnail(prompt, preset = "youtube", style = "vibrant") {
  // Submit
  const res = await fetch(`${BASE_URL}/v1/thumbnail/generate`, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({ prompt, preset, style })
  });
  const data = await res.json();
  const genId = data.generation_id;

  // Poll
  while (true) {
    await new Promise(r => setTimeout(r, 2000));
    const statusRes = await fetch(`${BASE_URL}/v1/thumbnail/${genId}`, {
      headers: { "Authorization": `Bearer ${API_KEY}` }
    });
    const status = await statusRes.json();
    if (status.status === "completed") {
      console.log("Done!", status.output_url);
      return status.output_url;
    }
    if (status.status === "failed") {
      console.error("Failed:", status.error_message);
      return null;
    }
  }
}

generateThumbnail("A chef holding a pizza with melted cheese", "youtube", "vibrant");

Pricing

PlanCreditsCostPrice per thumbnail
Starter10,000$10$0.010 (10 credits)
Pro60,000$50$0.0083 (8.3 credits)
Scale300,000$200$0.0067 (6.7 credits)

📊 How we compare

Replicate FLUX.dev charges $0.025 per image. We charge $0.010 — 2.5x cheaper. No subscriptions, pay per thumbnail.

Tips for Best Results

  • Be specific about the subject: "A chef in a red jacket holding a pizza" beats just "pizza"
  • Include lighting mood: "dramatic side lighting", "soft diffused daylight", "neon RGB backlight"
  • Add contrast in prompts: "dark moody background with a bright subject" creates clear focal point
  • Use negative_prompt: Add "blurry, text, watermark, low quality" to avoid common issues
  • For Hindi text: Include "Hindi text" in prompt — SDXL handles Devanagari script well on our GPU nodes
  • YouTube thumbnails: Include "bold composition, cinematic lighting" for maximum CTR
  • Instagram: Use "vibrant" or "bold" style — high saturation reads well on mobile feeds
  • LinkedIn: Use "minimal" or "cinematic" style — professional, clean, text-space friendly
🖼️ Generate Your First Thumbnail →