◢PSYKOMEDIA
Documentation

READ THIS FIRST

PsykoMedia is an early-access build. These docs describe what exists today, how the sovereign image engines connect, and what's honestly still on the roadmap.

Getting started

  • Join the waitlist on the pricing page — every tier is free during early access.
  • Once invited, open /studio/ in a desktop browser, allow camera and mic access, and hit record. Your capture is saved locally as WebM first, then uploaded when you publish.
  • Publish an episode from Cast, generate cover art in Create, and chain repeatable tasks in Automate. Settings for your account live under /settings.html.
  • Everything works best on a recent Chrome or Firefox. Safari is untested in this build.

The five modules

  • Studio (/studio/) — browser recording booth: camera, microphone, and screen capture with scene switching. Outputs WebM. Local-first capture; upload happens on publish.
  • Cast (/cast/) — podcast hosting. Episodes you publish generate an RSS feed automatically, so podcast apps can subscribe. Just Talk Louder is the flagship show: a weekly guest-hosted podcast where each guest confronts a demon — struggle, avoidance, turning point. Its launch trailer is in production.
  • Create (/create/) — generative art for covers, thumbnails, and promo visuals. Two honest engines: the always-on procedural engine (deterministic, renders in the browser, nothing to set up) and SDXL diffusion running on your own machine via your sovereign API — no cloud accounts, no third-party keys. The SDXL adapter in Settings is pre-filled from your API's contract and editable if your setup changes.
  • Library (/library/) — a stock shelf of beds, loops, stingers, and textures synthesized in-house. Every asset is labeled with how it was made. No scraped or unlicensed content.
  • Automate (/automate/) — pipelines that chain modules: record → publish → RSS update, clip extraction from long recordings, and timed runs. You can inspect and edit every pipeline; nothing runs that you can't see.
  • Active Pieces (/pieces/) — interactive gallery experiments: Reactor, Flow, Glitch, Sequencer. They're art pieces, not tools — click around.

Roadmap / Phase 2

Honestly not built yet. These are planned, not promised:

  • Browser RTMP live streaming — Studio is record-only today; true live broadcast is a Phase 2 build.
  • Whisper transcription — automated transcripts of episodes are planned; today you upload or paste your own.
  • Sovereign AI, no cloud keys — Create's engines are yours: the procedural engine runs in the browser, and SDXL runs on your own hardware through your own API (port 8003 via SSH tunnel). There is no cloud-provider key slot and never will be as a requirement.
  • Scheduled publishing UI — Automate can run pipelines now; a calendar-style "publish at 6am Friday" interface is still to come.
  • Mobile recording support beyond basic capture.

API reference

The v1 API is JSON over HTTP, rooted at /api. Responses are JSON; errors return a detail string. Multipart upload endpoints accept form fields. All endpoints documented here are the contract the backend implements.

EndpointMethodBodyResponse
/api/waitlist POST {"email": string, "name": string, "interest": string} — all three required; email must be valid and unique {"ok": true} · 400 on invalid email or duplicate
/api/studio/upload POST multipart: file (WebM), title? {"ok": true, "id": number, "title": string, "file_path": string}
/api/studio/recordings GET — {"ok": true, "recordings": [...]}
/api/shows GET / POST {"title", "slug"?, "description"?, "author"?, "image"?} show list / created show · 409 on duplicate slug
/api/shows/{id}/episodes GET / POST GET: ?include_unpublished=true; POST multipart: title, description?, status?, audio? episode list / created episode
/api/episodes/{id} GET / PUT / DELETE PUT: {"title"?, "description"?, "status"?, ...} episode object
/api/episodes/{id}/publish POST — episode with status: "published"
/cast/{slug}/feed.xml GET — RSS 2.0 + iTunes, generated live from the DB
/api/create/jobs POST {"prompt", "style"?: "flow|glitch|orb|grid", "engine"?: "local|flux", "negative_prompt"?, "steps"?, "guidance"?, "width"?, "height"?, "seed"?} — flux = SDXL on your machine (historical engine id) queued job with queue_position; SDXL jobs finish async with seed_used
/api/create/jobs GET — job list, each with status and queue_position
/api/create/engines GET — per-engine status: ready|warming_up|offline + latency ms
/api/library GET ?q=&kind=audio|video|image|other&license=psyko-free|cc-by|personal&source= {"items": [...], "count": n}
/api/library/upload POST multipart: file, title?, kind?, license?, tags? created library item
/api/library/{id} GET / PUT / DELETE PUT: ?title=&license=&tags= item object
/api/library/{id}/file GET — the stored media file (audio/video/image preview)
/api/pipelines GET / POST {"name", "description"?, "trigger"?, "actions": [{"action", "params"}], "enabled"?} pipeline list / created pipeline
/api/pipelines/{id}/run POST {"input"?: object} — fills $input.* placeholders run record with per-step logs
/api/runs GET — run history
/api/automate/meta GET — available actions + triggers for the pipeline builder
/api/settings/flux GET / PUT SDXL adapter config (base URL, endpoint paths, active mode). Auth value accepted on PUT, never returned on GET. adapter config + per-engine status

FAQ

Is PsykoMedia free?

Yes — every tier is free during early access. There is no checkout, no credit card field, and no "free trial" that converts. When we eventually charge, we'll say so plainly first.

Do I need an AI API key?

No — there is no key slot anywhere. The procedural engine in Create runs entirely in your browser, and SDXL runs on your own machine through your own API (port 8003, reached via SSH tunnel). Nothing leaves your hardware and no third-party account is involved.

Can I go live right now?

Not yet. Studio records to file today; browser RTMP live streaming is on the Phase 2 roadmap. If you need live this week, PsykoMedia isn't the tool for that — yet.

Who owns what I create here?

You do. Recordings, episodes, generated art, and pipelines are yours. We claim no ownership and won't sell or license your content. Generated art from the procedural engine and your own SDXL API is yours to use commercially — it's your hardware and your models.