ThumbAPI logoThumbAPI

Branded Thumbnails — Auto Logo Overlay

Set useLogo: true on your generation request and ThumbAPI overlays your saved brand logo onto the final thumbnail — pixel-perfect, in the same position, at the same size, every time. Zero manual placement, zero AI distortion of your brand mark.

Thumbnail with a brand logo overlaid on top
useLogo:true
sourceSaved Logo asset used as overlay source

The saved Logo (source, right) composited on top of the generated thumbnail — sharp, pixel-perfect, never sent to the image model.

How It Works

Upload your logo once in the ThumbAPI dashboard. Configure its position (any corner), size, opacity, and drop shadow. Save. From that moment on, every generation with useLogo: true uses those saved settings automatically.

curl -X POST https://api.thumbapi.dev/v1/generate \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "How to grow a YouTube channel from 0 to 10K",
    "format": "youtube",
    "useLogo": true
  }'

Overlay, Not Generation — Why It Matters

AI image models are famously bad at reproducing logos. Ask any diffusion model to "put a Nike swoosh in the corner" and you get something that looks like a swoosh but is not the swoosh. Letters get scrambled, geometry warps, colors drift.

ThumbAPI sidesteps this problem entirely. The logo you upload is composited on top of the final generated image programmatically — it never touches the AI model. Your logo stays pixel-perfect on every thumbnail. Every letter is exact. Every color is exact. Every edge is sharp.

Logo Configuration You Control

When you save a Logo asset in the dashboard, you set:

  • Position — top-left, top-right, bottom-left, bottom-right, or center
  • Size — as a percentage of the thumbnail dimensions, so it scales correctly whether the output is YouTube 1280×720 or Instagram 1024×1024
  • Drop shadow — optional, helps the logo stay visible against busy backgrounds
  • Opacity — from watermark-subtle to fully opaque

To change these settings, edit the saved Logo asset in the dashboard. The changes apply to every future request with useLogo: true— no code deploy required.

Inline Override — Different Logo per Request

Multi-brand agencies or channels with sub-brands can pass logoImage as a base64 data URL (PNG, max 1MB) to override the saved logo for a specific request. Your default saved logo remains for future calls.

const fs = require("fs");
const logoBase64 = fs.readFileSync("./client-a-logo.png", "base64");

const response = await fetch("https://api.thumbapi.dev/v1/generate", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    title: "Client A launch video",
    format: "youtube",
    useLogo: true,
    logoImage: `data:image/png;base64,${logoBase64}`,
  }),
});

Logo File Requirements

  • Format — PNG with transparent background works best. JPEG with a solid background will overlay that background too.
  • Size — max 1MB
  • Resolution — upload at least 2× the final rendered size to keep edges sharp on 2K output
  • Aspect ratio — anything works, but square or landscape logos are easiest to position against thumbnail edges

Combining With Other Flags

useLogo is independent of every other flag. You can combine it freely:

  • useLogo: true alone — logo on a Smart-References-guided faceless thumbnail
  • useLogo: true + usePhoto: true — your face in the scene plus your logo in the corner
  • useLogo: true + customAssetsId — your cloned brand style plus your logo overlay for full brand lock-in

Who This Is For

Channels That Care About Brand Recall

A consistent logo in the same corner of every thumbnail trains viewers to recognize your content in a crowded feed. That is brand recall working for you at zero recurring effort.

Multi-Brand Agencies

One API key, one workflow, dozens of client logos. Save each client's logo in the dashboard (or override inline with logoImage) and every generated thumbnail carries the correct brand mark.

SaaS Companies Publishing Blog Content

Blog cover images (format: "blogpost") with useLogo: true keeps your company logo on every post that gets shared on LinkedIn or X — free brand distribution.

Pricing

useLogo: true is a +2 credit add-on per generation. A 1K generation with a logo costs 12 credits (10 base + 2 add-on). Combining with usePhoto adds another +2. Full breakdown on the generate endpoint documentation.

Lock your logo into every thumbnail — pixel-perfect, forever

Try ThumbAPI free — 50 credits per month, no credit card. Configure your logo once from the dashboard.