Architecture Overview
media-gateway (Express, port 3000)
βββ /api/v1/creative/* REST API (behind CF Tunnel + CF Access)
βββ /api/v1/creative/social/* Social gateway (publish, discover, track)
βββ Providers: Seedance/Jimeng, Kling, Sora, Gemini/flow4api
βββ Storage: R2 (primary), GDrive (fallback)
βββ Classification: claude -p (AI asset categorization)
jimeng-sign-service (Node.js, port 3457)
βββ Standalone sidecar a_bogus signing + pure HTTP login (zero browser)
Workers (Cloudflare Edge)
βββ asset-browser Directory browsing at assets.frai.paradream.info
βββ inbox-worker Event-driven inbox β AI classify β archive β Slack notify
βββ job-runner Async generation task queue (polls every 5min)
βββ outbox-worker R2 outbox/ event handler β social publish
βββ social-worker Social gateway D1 state + cron scheduler
βββ api-gateway External API gateway at creative.hellyeahai.com
Python Workers (same-machine systemd)
βββ social-worker Platform adapter (IG/TikTok) β polls Express for tasksJimeng Provider Architecture
The jimeng provider uses a dual-backend approach:
-
Primary: Standalone Sidecar β
jimeng-sign-serviceruns on port 3457, handles all signing (a_bogus, msToken, sign headers) and session cookies natively in Node.js. Zero browser dependency. -
Fallback: Browser Client β Puppeteer-based Chrome automation. Only used if the sidecar is unavailable.
Cloudflare Infrastructure
| Resource | Type | Account |
|---|---|---|
creative-assets | R2 Bucket | Company (cc323c2aβ¦) |
inbox-state | D1 Database | Company |
social-state | D1 Database | Company |
api-gateway | D1 Database | Company |
inbox-events / outbox-events | Queues | Company |
frai.paradream.info | CF Tunnel | Personal |
assets.frai.paradream.info | CNAME β Worker (pending DNS migration) | Personal DNS |
creative.hellyeahai.com | Worker Custom Domain | Company |
Last updated on