FastOG SDK — Unduh & Gunakan
Satu file per bahasa, tanpa dependensi, tanpa manajer paket yang diperlukan. Unduh di bawah ini (atau curl dari CDN kami) dan salin ke dalam proyek Anda (khusus sisi server). Dipelihara sebagai v1 di sini — ketika kontrak berubah, kami memperbarui halaman ini dan file yang dapat diunduh secara bersamaan. Untuk kontrak penandatanganan lengkap + implementasi buatan tangan dalam bahasa apa pun, lihat Integrasi Agen & LLM.
Unduhan
Pilih bahasa dan klik unduh (atau klik kanan → Simpan Sebagai):
| Bahasa | Unduhan |
|---|---|
| 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 |
Tautan ini mengarah ke
/sdk/<file>, yang menyajikan file sebagai unduhan — atau gunakancurl -O https://fastog.com/sdk/<file>jika Anda lebih suka baris perintah.
Vue, Next.js, Astro, dan Express berjalan di Node — mereka berbagi file penandatangan (signer) yang sama dan telah diuji (CommonJS untuk Express, ESM untuk lainnya); hanya penggunaan/README yang berbeda. sdk/<name>/README.md setiap kerangka kerja menunjukkan integrasi yang tepat.
Setiap file adalah seluruh SDK. Salin ke proyek Anda, require/import, selesai.
Penggunaan
Node.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 (di dalam +page.server.js / +layout.server.js)
import { ogImageUrl } from "$lib/fastog.js";
const url = ogImageUrl(params, {
key: process.env.FASTOG_API_KEY,
secret: process.env.FASTOG_HMAC_SECRET,
});
PHP
use FastOg\FastOg;
$url = FastOg::signedUrl($params, getenv('FASTOG_API_KEY'), getenv('FASTOG_HMAC_SECRET'));
Ruby / Rails
url = FastOg.signed_url(params, ENV.fetch("FASTOG_API_KEY"), ENV.fetch("FASTOG_HMAC_SECRET"))
Python (Django / FastAPI / Flask)
import fastog
url = fastog.signed_url(params, os.environ["FASTOG_API_KEY"], os.environ["FASTOG_HMAC_SECRET"])
Go
url := fastog.SignedURL(params, os.Getenv("FASTOG_API_KEY"), os.Getenv("FASTOG_HMAC_SECRET"))
Express / Next.js / Astro / Vue (Node) — impor fungsi penanda tangan (signer), panggil ogImageUrl(params, { key, secret }) dalam kode server Anda, lalu render URL di bagian head. Lihat sdk/<name>/README.md masing-masing framework.
Masukkan url ke dalam <meta property="og:image">. Perayap (crawler) akan mengambilnya melalui GET — cache di edge, satu render per gambar unik.
Versioning
Ini adalah v1 dan dipelihara di tempat yang sama. Ketika kontrak berubah, kami menaikkan versi file + halaman ini secara bersamaan (v2, v3, …) — Anda memperbarui dengan mengunduh ulang. Tidak ada registry paket untuk disinkronkan, tidak ada formalitas semver, tidak ada ketidaksesuaian antar paket.
Cara kerjanya
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))
- Perubahan apa pun pada parameter akan membatalkan tanda tangan →
401, tanpa render, tanpa hitungan kuota. - Parameter yang identik → URL yang identik → dapat di-cache di edge selamanya.
- Parameter array (
features) dikeluarkan sebagaikey[]=/key[0]=sehingga server dapat mendekodenya dengan benar. - Cabut dengan memutar ulang rahasia kunci.
Verifikasi
Semua SDK diuji terhadap vektor emas (golden vector) yang sama yang dihasilkan oleh server FastOG:
canonical = features=30-day%20returns&features=Free%20shipping&key=sk_test123&template=blog&title=Hello%20World
signature = a79232b15b45002aee76174f542e0a661b37cb1259df01e263c952ca4052a54d
Jika salinan Anda menghasilkan tanda tangan tersebut untuk parameter-parameter itu, server akan menerima URL Anda.
Keamanan
secrethanya untuk sisi server — jangan pernah di browser, jangan pernah di skrip CDN publik.keybersifat publik (muncul di URL) — itu hal yang wajar.- Tandatangani di server Anda; URL FastOG adalah yang Anda sematkan, bukan rahasianya.