tokengratis-id
Directory free AI credits & free tier, Indonesia-first, auto-aggregated dari sumber komunitas. Aggregator transparan (bukan verifier), anti-halusinasi, maintenance nyaris nol.
Directory free AI credits & free tier, Indonesia-first, auto-aggregated dari sumber komunitas. Aggregator transparan (bukan verifier), anti-halusinasi, maintenance nyaris nol.
Directory free AI credits & free tier, Indonesia-first, auto-aggregated dari sumber komunitas. Aggregator transparan (bukan verifier), anti-halusinasi, maintenance nyaris nol.
Direktori free tier & free credits API LLM, di-aggregate otomatis dari sumber komunitas — plus alat buat milih, masang, dan mantau pilihan itu. Audience Indonesia (antarmuka Bahasa Indonesia). Aggregator transparan — bukan verifier.
Live: https://tokengratis.id · Spec:
docs/PRD.md· State terkini:docs/STATE.md
Tiap data nampilin dari mana + di-sync kapan + link ke sumber aslinya. Ga ada klaim "verified" — trust dari transparansi, bukan klaim.
Angka saat ini: 24 provider · 397 model · 54 penawaran modal gratis · 144 URL sitemap.
/provider/[slug] per provider./pilih — wizard: saring provider+model by modalitas / context minimum / preferensi rate limit → kandidat provider+model ranked dengan alasan yang di-generate dari data yang beneran ada (bukan skor buatan)./fallback — susun 2–4 provider jadi rantai fallback, generate config siap pakai: Vercel AI SDK, LiteLLM (config.yaml), TypeScript polos, atau .env./provider/[slug] — generate .env + snippet kerja: OpenAI SDK (Node/Python), Vercel AI SDK, LangChain, curl./modal-gratis + 54 halaman detail — free tier & kredit di luar token LLM (hosting, database, storage, email, auth, monitoring, devtool, domain, paket mahasiswa, kredit startup). Entity terpisah (lib/offer-types.ts), di-kurasi manual tiap minggu — bukan bagian sync nightly, karena riset (docs/PRODUCT-ROADMAP.md §3 Fase 5) nemu nol sumber machine-readable di domain ini./opensource — direktori open source Indonesia (sync terpisah, npm run sync:opensource)./api/providers · /api/models — JSON statis, CORS terbuka./feed.xml — RSS perubahan data (model/provider baru & hilang), di-generate tiap sync./llms.txt / /llms-full.txt — ringkasan buat LLM crawler.packages/tokengratis — CLI + MCP serverPackage npm zero-dependency, published sebagai tokengratis: dua binary, tokengratis (CLI — list/show/search/models, --json, --refresh) dan tokengratis-mcp (MCP server via stdio, JSON-RPC hand-rolled, no SDK). Detail lengkap + config: packages/tokengratis/README.md.
npx -y tokengratis list --modality vision --json
MCP config — tokengratis-mcp itu bin DI DALAM package tokengratis, bukan package sendiri, jadi wajib -p tokengratis:
{ "mcpServers": { "tokengratis": { "command": "npx", "args": ["-y", "-p", "tokengratis", "tokengratis-mcp"] } } }
Next.js 16 (App Router, Turbopack) + TypeScript strict + Tailwind v4 · static/SSG · no DB, no auth, no backend · data = file JSON di repo, regenerate tiap malam via pipeline aggregator (nightly cron → Vercel rebuild).
npm install
npm run dev # http://localhost:3000
npm run build # production build
npm test # pipeline self-tests (jalan offline, no creds)
Env vars semuanya opsional — situs build & jalan tanpa satu pun di-set. Copy .env.example → .env kalau mau ngaktifin LLM fallback / newsletter route.
Repo ini pakai agentmap (devDep) — code-relationship & reuse map buat ngejawab "file apa yang make X", "siapa yang import ini", "fitur Y filenya apa aja", reuse-before-rebuild — tanpa grep manual. Berguna buat human contributor maupun AI coding assistant.
npm run agentmap -- --any <query> # auto-route: file / symbol / feature / live content
npm run agentmap -- --relates <path> # blast radius (siapa yang import path ini)
npm run agentmap -- --find <symbol> # reuse-before-rebuild
npm run sync (atau nightly cron) jalanin scripts/sync.mjs:
scripts/adapters/*.mjs (sumber gagal di-skip, ga jatohin pipeline):mnfst/awesome-free-llm-apis — JSON bersih (anchor, prioritas #1)freellm.net — HTML table (regex parse)cheahjs/free-llm-api-resources — README markdownopenrouter.ai/api/v1/models — live API publik (filter :free)scripts/lib/merge.mjs) — tiap adapter cuma mindahin field yang eksplisit ada di sumbernya, merge ga nebak.context/maxOutput yang masih null dari models.dev (scripts/lib/enrich.mjs, exact-match doang, ga overwrite).scripts/lib/llm-fallback.mjs) — re-parse sumber unstructured kalau markup drift; aktif hanya kalau ANTHROPIC_API_KEY / CLAUDE_CODE_OAUTH_TOKEN ada.data/source-baselines.json) → block push kalau data collapse, last-known-good tetap live.data/providers.json.Direktori open-source Indonesia di-refresh terpisah via npm run sync:opensource (scripts/sync-opensource.mjs).
2026-07-25, freellm.net nyisipin kolom baru "Score" dan ngebuang kolom "Max Output". Jumlah kolom tetap sama, jumlah baris tetap normal — cuma ARTI tiap kolom yang berubah. Akibatnya: sanity floor (count-based), diff guard, dan smoke test semua lolos, sementara context diam-diam keisi nilai Score. 216 dari 398 model kena data salah selama berminggu-minggu. Ketahuan cuma karena ada manusia yang notice context=81 di output CLI — bukan karena ada guard yang nangkep.
Perbaikannya nambah axis yang ilang: guard berbasis bentuk (shape) nilai, bukan cuma kuantitas.
scripts/lib/shape-guard.mjs — 8 rule berbasis ratio (fatal cuma kalau sistemik: >50% dari sample ≥20; satu-dua baris aneh tetap dianggap noise wajar buat data komunitas).scripts/lib/diff-guard.mjs Rule 6 — churn nilai-field antar run (bukan cuma churn jumlah).npm test jalanin 94 self-test lintas 6 modul, full offline, no creds.Detail lengkap: CLAUDE.md + docs/PRD.md.
app/ ← App Router — homepage · /provider/[slug] · /pilih · /fallback ·
/modal-gratis(/[slug]) · /model/[slug] · /gratis/[modality] ·
/opensource · /changelog · /api/providers · /api/models · /feed.xml
app/api/subscribe/ ← Resend newsletter route (dormant, belum di-mount di UI)
packages/tokengratis/ ← CLI + MCP server, zero-dep, published sebagai "tokengratis" di npm
components/ ← UI components (incl. components/setup/SetupPanel.tsx)
lib/types.ts ← schema Provider + Model
lib/offer-types.ts ← schema Offer ("modal gratis", entity terpisah)
lib/wizard.ts · lib/fallback.ts · lib/model-clusters.ts ← logic /pilih, /fallback, /model/[slug]
scripts/sync.mjs ← pipeline aggregator (npm run sync)
scripts/adapters/ ← mnfst · freellm · cheahjs · openrouter (4 sumber paralel)
scripts/lib/ ← merge · enrich · llm-fallback · shape-guard · diff-guard · source-sanity
scripts/sync-opensource.mjs ← direktori open source Indonesia
data/ ← providers.json · offers.json · opensource.json · source-baselines.json (di-generate; read-only)
docs/ ← PRD, STATE, PRODUCT-ROADMAP, log, CHANGELOG
Yang di-aggregate cuma fakta (nama provider, context window, rate limit, signup URL), selalu dengan atribusi + link balik (lihat components/Footer.tsx + sources[] provenance per provider). Kredit:
| Sumber | Lisensi | Peran |
|---|---|---|
| mnfst/awesome-free-llm-apis | CC0-1.0 | Anchor source (#1) |
| cheahjs/free-llm-api-resources | no license declared | Cross-ref (fakta only) |
| freellm.net | website | Cross-ref |
| openrouter.ai | public API | Authoritative untuk openrouter |
| models.dev | — | Enrichment metadata teknis |
Detail lisensi/ToS tiap sumber: docs/PRD.md §10. Kalau lo pemilik salah satu sumber dan mau entry-nya diturunin, buka issue.
Lihat CONTRIBUTING.md — terutama cara nambah sumber data baru (bikin adapter di scripts/adapters/ → wire ke scripts/sync.mjs → set merge priority). PR ke main; CI jalanin typecheck + build + pipeline self-tests.
MIT © Raymond Chin. Lisensi nutup kode proyek ini — data agregat tetap milik sumber masing-masing (lihat Attribution).