Og:Image as a Service

Create templates with React.js and Vue.js. Upload your amazingly crafted flyyers to our cloud and use them to render thousand of images.

Get started
import { FlyyerRender } from "@flyyer/flyyer";
const flyyer = new FlyyerRender({
tenant: "flyyer",
deck: "charming-man",
template: "main",
variables: { title: "Create more engagement" },
<meta property="og:image" content={flyyer.href()} />
<meta name="twitter:image" content={flyyer.href()} />
This image was rendered using Flyyer.ioCreate, deploy and update the <meta property="og:image" /> of your website. Checkout the integration
import React from "react"
import { Variable as V, Static } from '@flyyer/variables';
import { TemplateProps } from "@flyyer/types";
import clsx from "clsx";
import "../styles/tailwind.css";
import logo from "../static/logo.svg";
// Export 'schema' to declare variables
export const schema = V.Object({
title: V.String({ default: "This is a variable" }),
img: V.Image({ default: "/background.jpeg" }),
type Variables = Static<typeof schema>;
export default function MainTemplate({ variables, width, height, agent }: TemplateProps<Variables>) {
// Get parsed variables from querystring
const { title, img } = variables;
// Render component to image based on context
if ( === FlyyerAgentName.WHATSAPP) {
return (
<Layer className="bg-gray-800 p-20">
<img src={logo} className="w-full h-full" />
return (
<img className="w-full h-full object-cover object-bottom" src={img} />
<Layer className="bg-gradient-to-r from-gray-900 opacity-70 mr-96" />
<Layer className="flex flex-col justify-center items-start px-12 py-12 w-1/2">
<img src={logo} className="w-24 h-24" />
<h1 className="text-8xl text-white tracking-tight font-semibold">
function Layer({ className, ...props }: React.ComponentProps<"div">) {
return <div {...props} className={clsx("absolute inset-0", className)} />;

Create public and private templates today.

Use your favorite web technologies such as React, Vue and Tailwind to create templates for your own projects or share them with the community.

$ npm init flyyer-app@latest hello
? Select template setup:
$ NODE_ENV=production npm run-script build
🌠 flyyer project successfully built!
$ npm run-script deploy
🖼 Created template with URL:


Use our universal URL formatter @flyyer/flyyer-js to integrate with any framework.


Any Connect.js or Fastify framework can be integrated. Every view engine is supported too.



We love JAMStack and of course Gatsby is supported. Checkout our guide.



Flyyer was heavily inspired by this framework, even this site is built with Next.js


We created a pip package flyyer so you don't have to deal with URL encoding. Framework agnostic.


I have been using this framework for many years. I personally crafted a guide and example for Django lovers.


Our official gem flyyer is available and ready to be installed. Framework agnostic.

Ruby on Rails

Superpower your Rails app with Flyyer. We are building a gem to make this more automatic.

Official PHP Logo


Many people asked for a Wordpress plugin so we created this agnostic PHP library with Composer: flyyer/flyyer


For your blog, e-commerce, portafolio, or any type of website you have! Checkout flyyer/flyyer-wp

Developer Experience with zero configuration

We strongly believe in providing the best developer tools to help you maximize productivity.

Automatic deploys with GitHub Actions

Automate your workflow with GitHub Actions in less than 5 minutes

Setup now

Globally distributed service with edge technology

Ensures the best experience for users by delivering fast responses when a link is shared thanks to our global caching system.

PlanetPlanet avatar 01Planet avatar 02

Templates created


Images delivered


Data served




Pricing and plans

Get started for free. Every plan comes with renewable credits, access to our dashboard and free templates.

Free Tier

For small websites. No strings attached, try Flyyer for free.


No credit card required

Create account
  • 20 website pages

  • 300 credits/mo

  • 3 projects

  • 1 user(s)

  • Signed URLs


For small project with few amount of pages to share.


Get 2 months for free with anual billing

Select plan
  • 200 website pages

  • 3,000 credits/mo

  • 3 projects

  • 3 user(s)

  • Signed URLs

  • Analytics


High volume for companies with many projects and websites to share.


Get 2 months for free with anual billing

Select plan
  • 1,000 website pages

  • 10,000 credits/mo

  • 3 projects

  • 5 user(s)

  • Everything in Hobby

  • Full HD images


Massive amount of images for popular and viral websites.


Get 2 months for free with anual billing

Select plan
  • 3,000 website pages

  • 30,000 credits/mo

  • 3 projects

  • Unlimited user(s)

  • Everything in Hobby

  • Full HD images

  • Priority support

An impression is a metric used to quantify the number of views or engagement of images. Some platforms may store images in their own cache systems from time to time, you won't be charged in those cases.

Prices in US dollars. May be automatically converted to your local currency on checkout.

Enterprise plans with premium support

Custom solutions, dedicated servers, on-premise installation, and design/development services.

Priority service

If you are dealing with high traffic or you just don't want to worry about quotas, this plan might be for you. We also include dedicated service for additional security and faster delivery times.

What can be included

  • Unlimited images

  • Dedicated servers

  • Design and engineering consulting

  • Improved speed, security and privacy

  • On-premise setup

  • Shared Slack channel with the founding team

Superpower your marketing

Contact us