---
name: viral-asset-templates
description: Layout blueprints for single-image social graphics: stat callouts, comparison graphics, feature spotlights, testimonial cards, before/after, announcements, and mini infographics. Use when the user wants a graphic, post image, social card, or any one-slide visual. Not for multi-slide carousels: use linkedin-carousel-generator. Not for decks or one-pagers: use sales-asset-producer. Not for video: use remotion-social-clips.
license: MIT
metadata:
  author: TechTide AI (Alex Cinovoj)
  provenance: original
  category: Design & Motion
---

# Viral Asset Templates

Seven proven single-image layouts. Pick the template that matches the message, fill it with real numbers and brand tokens, render sharp. Load the brand system (colors, fonts, logo rules) before designing; every rogue hex is rework.

## Dimensions

- LinkedIn portrait: 1080x1350 (4:5), the default output. Maximum feed real estate.
- LinkedIn / Instagram square: 1080x1080 fallback.
- X / Twitter: 1200x675 (16:9).

Produce 1080x1350 unless told otherwise.

## Template routing

| Message | Template |
|---|---|
| One impressive number or research finding | Stat callout |
| Us vs them, old way vs new way | Comparison |
| One feature, update, or capability | Feature spotlight |
| User quote or review | Testimonial card |
| Transformation with a metric | Before / after |
| Launch, milestone, event | Announcement |
| 3-4 related data points | Data story (mini infographic) |

More than 4 data points: it is a carousel, hand off to linkedin-carousel-generator.

Full layout diagrams and per-template design rules (type sizes, color placement, mandatory elements): read references/templates.md before building any of the seven.

## Workflow

1. Pick the template from the routing table. State the choice.
2. Collect the content: the number, the quote, the screenshot. Real values only; source attribution is mandatory on stats.
3. Apply brand tokens to the template's color slots (dark background + light text for stats and announcements, light background for data-dense layouts).
4. Render. Code path: build at 2x (2160x2700), downscale to 1080x1350, PNG for text-heavy output, JPEG 90% for photo-based. Canva path: search brand templates first, apply brand kit id. Figma path: pull existing templates with get_design_context, screenshot to preview.
5. Verify (below), then deliver with a suggested caption hook.

## Verification

Open the rendered file at 100% and at phone scale (roughly 30% zoom). Expect: the core message readable at phone scale, text crisp (no downscale blur), logo present, source line on any stat, correct pixel dimensions. Run `python3 -c "from PIL import Image; print(Image.open('<file>').size)"` and expect exactly the target dimensions. Wrong size or soft text: re-render at 2x and downscale properly.

## Completion checklist

- [ ] Template matches the message type
- [ ] All numbers and quotes real, stats carry source attribution
- [ ] Brand colors and fonts only
- [ ] Rendered at 2x and downscaled, exact target dimensions verified
- [ ] Readable at phone scale
- [ ] Logo present, CTA where the template calls for one

Any box unchecked: not done. Fix or say so.

## Good vs bad

- Bad stat callout: "AI saves teams tons of time" over a gradient, no number, no source.
- Good stat callout: "72%" at 100px, "of first drafts ship unedited when the model knows your voice" as two support lines, source line at the bottom, logo bottom-right.

## Footguns

- Rendering text at 1x produces fuzzy type on retina screens. Always 2x then downscale.
- Screenshots pasted raw look like bug reports. Frame them in a browser or device mockup (feature spotlight rule).
- All-checkmarks comparison graphics read as propaganda. Use yes / partial / no honestly; credibility is the conversion mechanism.
- Missing source attribution on a stat is the first comment someone leaves. Non-negotiable.
- Star ratings on casual feedback quotes overclaim. Stars only for formal reviews.
