- grok provider: imagine text/image-to-video (media.post.create → conversations/new), GetGrokCreditsConfig credit query (remaining = 100 - used) + weekly reset, spoofed x-statsig-id (no Cloudflare clearance needed), /api/auth/session email lookup, 6 reference images, 10 concurrent jobs/account, no token refresh (dead = dead) - runway: nano-banana-2 image flow (Nano Banana 2); drop pre-deduct + post-success reconcile; out-of-credits/403 → dead (no revive); 10-ratio support - imagine: drop post-success credit reconcile (consistent with krea) - account gate: per-account N-concurrency (grok=10, others=1) - admin: provider health lists all 7 providers; frontend import auto-detects Grok SSO - docs: README (CN/EN) updated to 7 providers + Grok Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ai-gateway frontend
Vue 3 + Vite admin console for the ai-gateway backend. This replaces the old
single-file static/admin.html.
Develop
npm install
npm run dev # http://localhost:5173
The dev server proxies /admin, /health, /generated, /v1 to the backend.
Start the backend separately:
# from repo root
python app.py # http://0.0.0.0:6060
If the backend runs elsewhere, set VITE_BACKEND before npm run dev:
VITE_BACKEND=http://192.168.1.10:6060 npm run dev
Build
npm run build # outputs static assets to ./dist
npm run preview # serve the production build locally
When hosting dist/ on a different origin than the API, set VITE_API_BASE
(e.g. VITE_API_BASE=http://api-host:6060) at build time, and add that frontend
origin to the backend's CORS_ORIGINS env var.