Open Graph Image Generator Online
Generate Open Graph / Twitter preview images (1200×630 PNG or JPEG) from a title, subtitle and site name, with correct Vietnamese typography and themes.
Result
Press “Run” to see the result.
The OG image API draws the picture shown when a link is shared on Facebook, Zalo, X, LinkedIn or Slack. Give it a title, an optional subtitle, a small tag (“Mới”, “Blog”…) and a site name; it lays them out on a 1200×630 canvas with a colour band and returns a PNG (or JPEG). The title takes the largest size that fits in four lines and long titles end with an ellipsis.
Text is rendered from the Be Vietnam Pro typeface, designed for Vietnamese, so stacked diacritics (ặ, ễ, ỗ) are positioned correctly, which many generic image services get wrong. Choose a theme (light, dark, brand), your own background, background2 (gradient), color and accent, align=center, and the size: og (1200×630), twitter (1200×675), linkedin, square (1080×1080) or story (1080×1920).
Use the URL directly in <meta property="og:image">: images are cacheable for a day, so social networks fetch them once.
Use this in your code
curl "https://apibox.io.vn/v1/og-image?title=Bộ API cho lập trình viên Việt Nam&subtitle=VietQR, tỉnh thành, lịch âm&site=apibox.io.vn&tag=Mới" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o outputconst res = await fetch('https://apibox.io.vn/v1/og-image?title=Bộ API cho lập trình viên Việt Nam&subtitle=VietQR, tỉnh thành, lịch âm&site=apibox.io.vn&tag=Mới', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const blob = await res.blob();import requests
res = requests.get(
"https://apibox.io.vn/v1/og-image?title=Bộ API cho lập trình viên Việt Nam&subtitle=VietQR, tỉnh thành, lịch âm&site=apibox.io.vn&tag=Mới",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
open("output", "wb").write(res.content)<?php
$ch = curl_init('https://apibox.io.vn/v1/og-image?title=Bộ API cho lập trình viên Việt Nam&subtitle=VietQR, tỉnh thành, lịch âm&site=apibox.io.vn&tag=Mới');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
file_put_contents('output', $response);API documentation → Get a free API key
FAQ
How do I use it in my pages?
Put the API URL with your parameters in <meta property="og:image" content="…">, or generate the image once and store it.
Can I add a logo?
Not yet; use the site name and accent colour as a brand line.
Why PNG and not SVG?
Social networks only accept bitmap images (PNG, JPEG) for previews.