API Status
Live status of every endpoint, organized by tier and build phase.
Source of truth for what's shipped, what's in progress, and what's blocked. Updated as
work lands. Bookmark this page.
- ๐ข Live โ deployed and tested in production
- ๐ก Built, not data-ready โ endpoint works but returns empty/404 because upstream data isn't migrated yet
- ๐ In progress โ actively being built
- ๐ด Not started
| Endpoint | Status | Credits | Notes |
|---|
GET /v1/templates | ๐ก | 0 | Live; returns empty array until template migration runs |
GET /v1/templates/{id} | ๐ก | 0 | Live; 404s on every id until migration runs |
POST /v1/meme/caption | ๐ก | 1 | Live for image_url and image_base64 paths; template_id blocked on migration |
POST /v1/meme/generate | ๐ก | 2 | Flagship. AI captioning works; needs templates to choose from |
GET /v1/trending | ๐ก | 0 | Live; templates list empty, topics stubbed |
GET /v1/models | ๐ข | 0 | Live; returns 6 model entries |
| Endpoint | Status | Credits | Notes |
|---|
POST /v1/meme/ai-image | ๐ข | 3 | Live; verified end-to-end with rendered captions via opentype.js paths |
POST /v1/gif/generate | ๐ด | 4 | Phase 2 |
POST /v1/meme/from-image | ๐ด | 2 | Phase 2 (reverse captioning, AI vision) |
POST /v1/video/generate | ๐ด | 8 | Phase 3 (Kling / Veo 3 / Sora) |
GET /v1/jobs/{id} | ๐ด | 0 | Phase 3 (async polling for video + batch) |
| Endpoint | Status | Credits | Notes |
|---|
POST /v1/meme/remix | ๐ด | 5 | Phase 3 |
POST /v1/meme/batch | ๐ด | varies | Phase 3 (webhook delivery) |
POST /v1/meme/branded | ๐ด | 3 | Phase 3 (logo + tone + forbidden topics) |
| Component | Status | Notes |
|---|
| API on Vercel | ๐ข | createa-meme-api.vercel.app |
| Docs on Vercel | ๐ข | createa-meme-docs.vercel.app |
| Dashboard on Vercel | ๐ด | Built locally; not deployed |
Custom domain api.createa.meme | ๐ด | DNS not configured |
Custom domain docs.createa.meme | ๐ด | DNS not configured |
Custom domain dashboard.createa.meme | ๐ด | DNS not configured |
| Supabase Auth (magic link) | ๐ข | Email provider enabled |
Supabase Storage (memes bucket) | ๐ข | Public bucket, 2 MB PNGs flowing |
| Upstash Redis (rate limiting) | ๐ข | Connected via Vercel Marketplace integration |
OpenAI integration (gpt-image-1) | ๐ข | Verified end-to-end |
| Anthropic integration | ๐ด | Not yet wired (optional fallback for captioning) |
| Stripe billing | ๐ด | Not started |
| Webhook delivery + HMAC signing | ๐ด | Phase 3 |
| Per-IP rate limit | ๐ด | Phase 1.5 hardening |
| Per-account OpenAI cost cap | ๐ด | Important before public launch โ heavy free users currently cost more than they earn |
| Task | Status | Notes |
|---|
| 4 SQL migrations executed | ๐ข | api_keys, usage_logs, templates, jobs |
| Template library (700+) migrated | ๐ด | Biggest single blocker. Needs source location |
| First test API key minted | ๐ข | Via CLI script + via dashboard |
| RLS policies on api_keys | ๐ | Service-role bypasses for now; tighten before scale |
- AI image generation with proper caption rendering via opentype.js (font-on-Vercel fix)
- Customer dashboard with magic-link signup
- Interactive playground via fumadocs-openapi (with known UX rough edges)
- Per-key sliding-window rate limit (Upstash)
- Atomic credit deduction (Postgres function)
- Migrate templates โ unblocks 4 endpoints from yellow to green
- Deploy dashboard to Vercel โ anyone can sign up, not just localhost
- Custom domains โ branded URLs
- Stripe โ actual revenue
- Per-account OpenAI cost cap โ before public launch
- Phase 2 endpoints (gif, from-image)
- Phase 3 endpoints (video, remix, batch, branded, jobs)