Thema

FastOG SDK — Herunterladen & Verwenden

Eine Datei pro Sprache, keine Abhängigkeiten, kein Paketmanager erforderlich. Laden Sie sie unten herunter (oder curl sie von unserem CDN) und kopieren Sie sie in Ihr Projekt (nur serverseitig). Wird hier als v1 gepflegt — wenn sich der Vertrag ändert, aktualisieren wir diese Seite und die herunterladbaren Dateien gemeinsam. Den vollständigen Signaturvertrag sowie handgeschriebene Implementierungen in jeder Sprache finden Sie unter Agent- & LLM-Integration.

Downloads

Wählen Sie eine Sprache und klicken Sie auf Download (oder Rechtsklick → Speichern unter):

Sprache Download
Node.js (CommonJS) ⬇ fastog.js
Svelte / SvelteKit (ESM) ⬇ fastog.js
PHP ⬇ FastOg.php
Ruby / Rails ⬇ fastog.rb
Python (Django / FastAPI / Flask) ⬇ fastog.py
Go ⬇ fastog.go
Express (Node) ⬇ fastog.js
Next.js (App Router) ⬇ fastog.js
Astro ⬇ fastog.js
Vue / Nuxt ⬇ fastog.js

Diese Links verweisen auf /sdk/<file>, das die Datei als Download ausliefert – oder verwenden Sie curl -O https://fastog.com/sdk/<file>, falls Sie die Kommandozeile bevorzugen.

Vue, Next.js, Astro und Express laufen auf Node – sie verwenden dieselben getesteten Signer-Dateien (CommonJS für Express, ESM für die übrigen); nur die Nutzung/README unterscheidet sich. Das sdk/<name>/README.md jedes Frameworks zeigt die genaue Integration.

Jede Datei ist das vollständige SDK. Kopieren Sie sie in Ihr Projekt, require/import Sie sie, fertig.

Verwendung

Node.js

js
const { ogImageUrl } = require("./fastog.js");
const url = ogImageUrl(
    {
        template: "blog",
        title: "Hello World",
        features: ["Free shipping", "30-day returns"],
    },
    { key: process.env.FASTOG_API_KEY, secret: process.env.FASTOG_HMAC_SECRET },
);

SvelteKit (in +page.server.js / +layout.server.js)

js
import { ogImageUrl } from "$lib/fastog.js";
const url = ogImageUrl(params, {
    key: process.env.FASTOG_API_KEY,
    secret: process.env.FASTOG_HMAC_SECRET,
});

PHP

php
use FastOg\FastOg;
$url = FastOg::signedUrl($params, getenv('FASTOG_API_KEY'), getenv('FASTOG_HMAC_SECRET'));

Ruby / Rails

ruby
url = FastOg.signed_url(params, ENV.fetch("FASTOG_API_KEY"), ENV.fetch("FASTOG_HMAC_SECRET"))

Python (Django / FastAPI / Flask)

python
import fastog
url = fastog.signed_url(params, os.environ["FASTOG_API_KEY"], os.environ["FASTOG_HMAC_SECRET"])

Go

go
url := fastog.SignedURL(params, os.Getenv("FASTOG_API_KEY"), os.Getenv("FASTOG_HMAC_SECRET"))

Express / Next.js / Astro / Vue (Node) – Importieren Sie den Signer (Signer-Funktion), rufen Sie ogImageUrl(params, { key, secret }) in Ihrem Servercode auf und rendern Sie die URL im Head-Bereich. Siehe die sdk/<name>/README.md der jeweiligen Frameworks.

Fügen Sie url in <meta property="og:image"> ein. Crawler rufen es per GET ab – edge-cached, ein Rendering pro eindeutigem Bild.

Versionierung

Dies ist v1 und wird an Ort und Stelle gepflegt. Wenn sich der Vertrag ändert, erhöhen wir die Versionsnummer der Dateien und dieser Seite gemeinsam (v2, v3, …) – Sie aktualisieren, indem Sie die Dateien erneut herunterladen. Es gibt keine Paketregistrierung zum Synchronisieren, keine SemVer-Zeremonie und kein Abweichen zwischen mehreren Paketen.

So funktioniert es

canonical = sorted enc(key)=enc(value) pairs of every param except `s`, including `key`
message   = "GET/api/v1/og" + "\n" + canonical
signature = hex(HMAC-SHA256(message, secret))
  • Jede Änderung an einem Parameter macht die Signatur ungültig → 401, kein Rendering, keine Quota-Zählung.
  • Identische Parameter → identische URL → dauerhaft am Edge cachebar.
  • Array-Parameter (features) werden als key[]= / key[0]= ausgegeben, damit der Server sie korrekt dekodiert.
  • Widerruf durch Rotation des Schlüssel-Geheimnisses.

Verifizierung

Alle SDKs werden gegen denselben Golden-Vektor getestet, der vom FastOG-Server erzeugt wird:

canonical = features=30-day%20returns&features=Free%20shipping&key=sk_test123&template=blog&title=Hello%20World
signature = a79232b15b45002aee76174f542e0a661b37cb1259df01e263c952ca4052a54d

Wenn Ihre Kopie für diese Parameter dieselbe Signatur erzeugt, akzeptiert der Server Ihre URLs.

Sicherheit

  • secret ist nur serverseitig – niemals im Browser, niemals in einem öffentlichen CDN-Skript.
  • key ist öffentlich (er erscheint in URLs) – das ist erwartungsgemäß so.
  • Signieren Sie auf Ihrem Server; die FastOG-URL ist das, was Sie einbetten, nicht das Geheimnis.

Kostenlos testen – keine Anmeldung erforderlich

Vorschau und Test dynamischer OG-Bilder in Sekunden.

Kostenlosen OG-Bild-Tester öffnen

A BeCaSimulations site