Creative Validator Docs
Upload one image, validate it against 50+ advertising platform specs, and generate correctly-sized derivatives for every channel with AI-powered generative fill. Convert still images to video with Veo 3.1. Runs in the browser — no install, no signup for validation.
The Creative Asset Validator solves a specific pain point: you have one image and need it sized correctly for Google Ads, Meta, TikTok, DV360, The Trade Desk, CTV, LinkedIn, Pinterest, Snapchat, and dozens more. Manually checking specs and resizing in Photoshop takes hours. This tool does it in seconds.
What makes it different from a simple crop-and-resize tool:
- AI generative fill — extends images rather than cropping them. A 1:1 square image becomes a 728×90 leaderboard by generating new background content, not by cutting the original.
- Smart strategy selection — automatically picks c_fill,g_auto for close aspect ratios (minimal change) and c_pad,b_gen_fill for dramatically different ratios (generative extension).
- 163 channel checks — every platform, every placement, every size. Aspect ratio, pixel dimensions, file size, duration for video.
- Image-to-video — convert any still image to a 4–10 second animated video ad using Google Veo 3.1.
Getting Started
Three steps from upload to production-ready assets:
Upload an Image
Drag and drop or click to upload any image (JPG, PNG, WebP, GIF) or video (MP4, MOV). The tool reads dimensions, aspect ratio, and file size instantly in the browser.
See Validation Results
Every supported channel is checked and color-coded: green = compatible as-is, amber = close but needs resize, red = incompatible aspect ratio. No account needed — validation runs entirely client-side.
AI Resize All
Click "Fix All" or select individual channels. The tool sends your image to Cloudinary with the correct transformation parameters and returns production-ready derivatives. Requires a Cloudinary account (free tier works).
How Validation Works
When you upload an image, the validator checks it against every supported channel's requirements:
Aspect Ratio Matching
Each channel has an expected aspect ratio. The validator computes your image's ratio and compares it with a tolerance of ±0.05. For example, a 1080×1080 image (ratio 1.0) matches any channel requiring a ratio between 0.95 and 1.05.
Exact Size Matching (Display)
For display ad sizes (GDN, DV360, TTD), exact pixel dimensions are required. A 300×250 Medium Rectangle must be exactly 300×250 — aspect ratio matching alone isn't sufficient.
Video Duration
For video placements, the validator also checks duration. A TikTok In-Feed video must be 5–60 seconds. YouTube bumper ads must be ≤6 seconds.
Platform Categories
Channels are grouped into categories for easier navigation:
- Social — Facebook, Instagram, YouTube, TikTok, LinkedIn, X/Twitter, Pinterest, Snapchat, Reddit, Threads, Bluesky, WhatsApp, Telegram, Discord, Twitch
- Display (GDN) — All standard IAB display sizes
- Programmatic — DV360, The Trade Desk
- CTV / OTT — Connected TV formats
- Business — Google Business Profile, Quora
AI Resize
Resize uses Cloudinary URL-based transformations. The tool constructs the correct transform chain based on how different the target size is from your source image.
Strategy Selection
| Scenario | Transform | What Happens |
|---|---|---|
| Close aspect ratio (within ±0.2) | c_fill,g_auto | Smart crop with AI gravity detection. Keeps the subject centered, trims edges minimally. |
| Different aspect ratio (beyond ±0.2) | c_pad,b_gen_fill | AI generative fill extends the background. No content is cropped — new background is generated to fill the required canvas. |
Resize Packages
Pre-built packages let you generate all sizes for a platform in one click:
GDN Essential
8 sizes300×250, 336×280, 728×90, 300×600, 320×50, 160×600, 250×250, 200×200. Covers ~95% of available GDN impression volume.
Meta Complete
6 placementsFeed (1080×1080), Story/Reel (1080×1920), Landscape (1200×628), Carousel (1080×1080), Right Column (1200×628), Marketplace (1200×628). Every Meta placement covered.
TTD Complete
11 sizesAll standard Trade Desk display sizes including native, banner, and interstitial formats.
DV360 Complete
12 sizesFull DV360 display size coverage including custom high-impact formats.
Display All (Universal)
15 sizesAll IAB standard display sizes. One click generates every standard banner, skyscraper, rectangle, and leaderboard.
Animate
Convert any still image into a short video ad using Google Veo 3.1 (image-to-video).
How It Works
- Upload or select an already-validated image.
- Choose a duration: 4s, 6s, 8s, or 10s.
- Select a style: zoom, pan, parallax, cinematic, or let AI decide.
- Click "Animate" — the image is sent to Google's Veo 3.1 model, which generates a video from the still frame.
Requirements
- A Google AI Studio API key (get one free at aistudio.google.com/apikey)
- Source image should be high quality — Veo performs best with sharp, well-composed images
- Generation takes 30–90 seconds depending on duration and complexity
Platform Specs
Social Platforms
| Platform | Placement | Size (px) | Ratio | Max File |
|---|---|---|---|---|
| Feed | 1080×1080 | 1:1 | 30 MB | |
| Story | 1080×1920 | 9:16 | 30 MB | |
| Right Column | 1200×628 | 1.91:1 | 30 MB | |
| Feed Square | 1080×1080 | 1:1 | 30 MB | |
| Feed Portrait | 1080×1350 | 4:5 | 30 MB | |
| Story / Reel | 1080×1920 | 9:16 | 30 MB | |
| YouTube | Display Companion | 300×250 | 1.2:1 | 150 KB |
| YouTube | Overlay | 480×70 | 6.86:1 | 150 KB |
| TikTok | In-Feed | 1080×1920 | 9:16 | 500 MB |
| TikTok | TopView | 1080×1920 | 9:16 | 500 MB |
| Single Image | 1200×627 | 1.91:1 | 5 MB | |
| Story | 1080×1920 | 9:16 | 5 MB | |
| X / Twitter | In-Stream | 1200×675 | 16:9 | 5 MB |
| X / Twitter | Card | 800×418 | 1.91:1 | 5 MB |
| Standard Pin | 1000×1500 | 2:3 | 20 MB | |
| Max-Width Pin | 1000×2100 | 1:2.1 | 20 MB | |
| Snapchat | Full Screen | 1080×1920 | 9:16 | 5 MB |
Google Display Network (GDN)
| Name | Size (px) | Ratio | Usage |
|---|---|---|---|
| Medium Rectangle | 300×250 | 1.2:1 | Most common — text pages, forums |
| Large Rectangle | 336×280 | 1.2:1 | Larger in-content placement |
| Leaderboard | 728×90 | 8.09:1 | Top of page, below navigation |
| Half Page | 300×600 | 1:2 | High-impact sidebar placement |
| Mobile Leaderboard | 320×50 | 6.4:1 | Mobile header/footer |
| Wide Skyscraper | 160×600 | 1:3.75 | Sidebar tower |
| Square | 250×250 | 1:1 | Versatile square format |
| Small Square | 200×200 | 1:1 | Compact square |
| Banner | 468×60 | 7.8:1 | Classic banner |
| Large Leaderboard | 970×90 | 10.78:1 | Premium desktop header |
| Billboard | 970×250 | 3.88:1 | High-impact desktop top |
| Large Mobile Banner | 320×100 | 3.2:1 | Mobile interscroller |
The Trade Desk (TTD)
| Name | Size (px) | Max File |
|---|---|---|
| Medium Rectangle | 300×250 | 200 KB |
| Leaderboard | 728×90 | 200 KB |
| Wide Skyscraper | 160×600 | 200 KB |
| Half Page | 300×600 | 200 KB |
| Billboard | 970×250 | 200 KB |
| Mobile Leaderboard | 320×50 | 200 KB |
| Large Rectangle | 336×280 | 200 KB |
| Large Leaderboard | 970×90 | 200 KB |
| Mobile Banner | 300×50 | 200 KB |
| Native | 1200×627 | 1 MB |
| Native Square | 1200×1200 | 1 MB |
DV360
DV360 supports all standard GDN sizes plus additional high-impact formats. The validator checks against DV360-specific file size limits (typically 200 KB for standard display, 1 MB for native and rich media).
CTV / Connected TV
| Format | Resolution | Ratio | Duration |
|---|---|---|---|
| Standard CTV | 1920×1080 | 16:9 | 15s, 30s, 60s |
| 4K CTV | 3840×2160 | 16:9 | 15s, 30s, 60s |
| Companion Banner | 300×250 | 1.2:1 | — |
MCP Server
The Ad Creative MCP server exposes validate, resize, and specs tools to any MCP-compatible AI client. Install it to validate and resize assets through natural language in Claude, Cursor, or any MCP host.
Installation
Cursor Configuration
Add to your .cursor/mcp.json:
Claude Desktop Configuration
Add to your claude_desktop_config.json:
Claude Code
Add the MCP server via the CLI:
Available MCP Tools
| Tool | Description |
|---|---|
| validate_creative | Check an image/video against all platform specs. Returns compatibility matrix. |
| resize_creative | Generate a resized derivative using AI fill. Returns Cloudinary URL. |
| batch_resize | Resize to multiple sizes at once (e.g., entire GDN package). |
| get_platform_specs | Return specs for a specific platform or all platforms. |
Gemini Setup
Use the Creative Validator through Gemini CLI, Google AI Studio, or the Gemini REST API.
Gemini CLI
Install the Gemini CLI and configure your tool settings in ~/.gemini/settings.json:
AI Studio Function Declarations
When using Gemini through AI Studio or the REST API, declare the validator as a function:
REST API Usage
Call the validator from Gemini's function-calling flow. The model will invoke the declared function when the user asks about creative sizing, and you handle the tool call by forwarding it to the validator API.
Claude Setup
Use the Creative Validator with Claude Desktop or Claude Code through the MCP server.
Claude Desktop
After adding the MCP config (see MCP Server above), restart Claude Desktop. The validator tools appear automatically. Try these prompts:
Claude Code
After adding the MCP server with claude mcp add, use it directly in your terminal:
Cloudinary Cowork
Cowork is a no-code way for non-technical team members to interact with the Creative Validator through a shared Cloudinary workspace.
How It Works
- Share the workspace — Invite team members to your Cloudinary account with upload-only permissions.
- Upload to a folder — Team members upload creative assets to a designated folder (e.g., /ad-creatives/incoming).
- Auto-validate — A Cloudinary notification webhook triggers validation on upload. Results are written as structured metadata on the asset.
- Auto-resize — If configured, derivatives are automatically generated using the correct transform chain and saved to platform-specific subfolders.
Folder Structure
API Reference
POST /api/creative-tools
All operations go through a single endpoint. The action field determines what happens.
action: "validate"
action: "transform"
action: "batch"
action: "specs"
Cloudinary Setup
Cloudinary provides the image transformation engine. You need a free account to use resize and animate features.
Create a Free Account
Sign up at cloudinary.com/users/register_free. The free plan includes 25 credits/month — enough for hundreds of resizes.
Find Your Cloud Name
After signup, your dashboard shows your Cloud Name (e.g., dxyz123abc). This is the account identifier used in all transformation URLs.
Get Your API Key
Go to Settings → Access Keys. Copy the API Key (numeric string). You do not need the API Secret for client-side unsigned uploads.
Enable Unsigned Uploads
Go to Settings → Upload. Scroll to Upload presets and create an unsigned preset or enable the default one. This allows the browser app to upload images directly.
Enter in the App
Open the Creative Validator, click the Cloudinary settings panel, and paste your Cloud Name and API Key. They're stored in sessionStorage — never sent anywhere except Cloudinary.
FAQ
Do I need an account to validate?
No. Validation runs entirely in your browser. Upload an image, see results instantly. No account, no API key, no signup.
Do I need a Cloudinary account to resize?
Yes. Resize uses Cloudinary's transformation API. A free account works for moderate usage (25 credits/month).
What image formats are supported?
JPG, PNG, WebP, GIF for images. MP4, MOV for video. The validator reads dimensions client-side for all formats.
Is my image uploaded anywhere during validation?
No. During validation, your image never leaves your browser. Dimensions are read locally using the browser's Image/Video API. Only during resize is the image sent to Cloudinary.
How accurate is generative fill?
Cloudinary's AI generative fill (powered by their ML pipeline) produces seamless extensions for most photographic content. It works best with images that have consistent backgrounds (product shots, landscapes, office scenes). Complex patterns or text near edges may produce artifacts.
Can I use this with the Cloudinary MCP server?
Yes. The Ad Creative MCP server works alongside the official Cloudinary MCP server. You can use either or both. The Ad Creative MCP adds platform-specific validation logic that the generic Cloudinary MCP doesn't have.
What's the difference between c_fill and c_pad?
c_fill,g_auto crops to fit (with smart gravity to keep the subject centered). c_pad,b_gen_fill adds AI-generated padding without cropping. The tool picks automatically based on how different the target ratio is from the source.
Can I animate a video?
Not currently. The animate feature is image-to-video only (using Veo 3.1). Video-to-video editing is on the roadmap.
Is there a batch upload option?
The web app handles one image at a time. For batch processing, use the MCP server or API endpoint with scripts.
Where are my Cloudinary credentials stored?
In your browser's sessionStorage. They are scoped to the tab, never persisted to disk, never sent to any server other than Cloudinary, and are destroyed when you close the tab.