Start from real Open Graph metadata
Fetch title, description, site name, and existing og image data through the API request before asking AI for directions.

Tool task
Design publish-ready social images for product launches, blog posts, and link previews. Enter a page URL or brief, let AI suggest copy, colors, and templates, then preview and export the final image.
Use the left panel for URL metadata, brief, size, and template controls. Preview on the right, then download PNG, JPEG, or WebP.
Why Tomako
Fetch title, description, site name, and existing og image data through the API request before asking AI for directions.
AI returns title, subtitle, template, and palette ideas. The final image is rendered locally through Canvas for predictable downloads.
Open Graph images, Twitter/X headers, and blog featured images share the same copy and brand system, reducing repetitive design work.

Implementation
After download, upload the image to your public folder, CMS, or object storage and reference it with an absolute URL. Social platforms cache previews, so refresh their debuggers after deployment.
Works for static pages, landing pages, and any server-rendered template.
<meta property="og:title" content="Your page title" />
<meta property="og:description" content="A short preview summary." />
<meta property="og:image" content="https://example.com/og-image.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="https://example.com/og-image.png" />Use the metadata API in Next.js 13+. Prefer absolute image URLs.
export const metadata = {
openGraph: {
title: "Your page title",
description: "A short preview summary.",
images: ["https://example.com/og-image.png"],
},
twitter: {
card: "summary_large_image",
images: ["https://example.com/og-image.png"],
},
};Use Nuxt 3 useSeoMeta from a page or layout.
useSeoMeta({
ogTitle: "Your page title",
ogDescription: "A short preview summary.",
ogImage: "https://example.com/og-image.png",
twitterCard: "summary_large_image",
twitterImage: "https://example.com/og-image.png",
});In a Vue app, use a head manager or render these tags from your server template.
useHead({
meta: [
{ property: "og:title", content: "Your page title" },
{ property: "og:image", content: "https://example.com/og-image.png" },
{ name: "twitter:card", content: "summary_large_image" },
{ name: "twitter:image", content: "https://example.com/og-image.png" },
],
});More Tips
X headers and CMS thumbnails can crop the edges. Keep titles, brand names, and primary shapes away from the border.
A social preview is not a full poster. Shorter titles and clearer contrast usually perform better in link cards.
PNG is better for sharp text and UI-like graphics. After checking quality, export JPEG or WebP if your publishing surface needs smaller files.

What You Get
A 1200 x 630 link preview for websites, product pages, launch posts, and social sharing cards.
A 1500 x 500 profile or campaign banner for product launches, seasonal campaigns, and personal brands.
A 1600 x 900 article cover for blogs, newsletters, content hubs, and CMS thumbnails.
AI returns several title, subtitle, template, and palette directions that you can select and keep editing.
Export PNG, JPEG, or WebP files for public folders, CMS uploads, object storage, or social profile settings.
When URL fetching, OG metadata, or AI writeback fails, the page shows the real state instead of fake output.
Community
This module is reserved for external links, public examples, and customer logos. Add real product teams, creators, indie builders, and marketing teams here once public proof is ready.
After the OG image is ready, the next step is often matching avatars, profile banners, bios, and cross-platform profile assets.