How it works
WorkflowRemix generates nothing itself. It is a library and a remote control for your own ComfyUI, and everything else here exists to keep that private and reachable from your phone.
The pieces on your computer
| Piece | What it does | Built with |
|---|---|---|
| The window | What you see and click. It is held to its own server: every image, script and font comes from the app, and a link to anywhere else opens in your system browser. | Electron, the same base as VS Code and Slack |
| The server | Browses and searches your library, reads the workflow out of a file and turns it into a form, checks every run with the built-in safeguard, and sends it to ComfyUI. It answers only its own window: each launch makes a secret the window adds to every request. | Node.js, with no third-party packages; pages drawn with Vue |
| Your data folder | Settings, workflows, prompts, rules, H3 Studio and, unless you put it elsewhere, your media. You choose where it lives on the first launch. | Plain JSON files. A password is stored only as a hash |
| ComfyUI | Loads the models and renders the images, video and audio. Yours, installed separately. | Python and PyTorch on your graphics card |
| Ollama, if you set it up | H3 Studio's AI assistant: a language model on your own computer that writes and edits prompts by calling tools the app gives it. | Any Ollama model that supports tool calls |
| Tailscale, if you switch it on | Lets your phone reach the app over your own private network. See below. | Tailscale, built on WireGuard |
ComfyUI, the engine underneath
ComfyUI is a free, open-source program for running image, video and audio models. In it you build a workflow: a graph of nodes such as load model, prompt, sample and save. Around it sit your models folder (checkpoints, LoRAs and the rest), any custom nodes you installed, and its input and output folders. WorkflowRemix contains no ComfyUI code. It talks to ComfyUI's local address, http://127.0.0.1:8188 unless you set another, and a Docker install works as well as a native one.
Where "remix" comes from. ComfyUI saves the whole workflow inside every file it makes. WorkflowRemix reads it back out, shows the prompt, seed, steps, models, LoRAs and size as a form, and sends ComfyUI the copy with whatever you changed.
These are the parts of ComfyUI's API the app uses:
| Address | What the app uses it for |
|---|---|
/prompt | Queues a run: the edited workflow, after the safeguard has read it. |
/ws | A live connection that streams progress, which is what Jobs shows as it happens. |
/history | Finds the files a finished run wrote. |
/queue, /interrupt | What is waiting; cancelling a run or stopping the current one. |
/upload/image | Sends a picture in, for an edit or an image-to-video run. |
/object_info | Every node type and model your ComfyUI has. Enable uses it to check that a workflow's custom nodes and models are installed. A large install can take half a minute to answer, so the app keeps a copy for ten minutes. |
/system_stats, /free | Whether ComfyUI is up and what graphics card it has; freeing graphics memory when you ask. |
A phone never talks to ComfyUI directly. Every call goes through the WorkflowRemix server, so its password and safeguard stand in front of ComfyUI, and ComfyUI only ever needs to listen on the computer itself.
From your phone
With Remote access on, this is the path a tap on your phone takes:
- The phone's browser asks for the app's address, a name like
your-computer.your-tailnet.ts.net. The Tailscale app on the phone carries the request into your tailnet instead of out to the internet. - Tailscale encrypts it with WireGuard and sends it straight to your computer. Only devices signed in to your tailnet can get this far.
- Tailscale Serve on the computer handles the HTTPS and hands the request to the app. Serve shares the app with your tailnet only. Funnel, which would share it with the whole internet, is never used.
- The app checks the request: the right name, not through Funnel, from your own Tailscale account unless you allowed others, and a signed-in session behind a password of at least 12 characters.
- Then it works as at the computer. The run is checked, sent to ComfyUI, and the result comes back the same way. Your media never leaves your own devices.
The phone app, later
The WorkflowRemix phone app is not released yet. It will pair from a code on the computer's screen and carry Tailscale inside itself, so the phone needs no Tailscale app: it joins your tailnet as a device of its own, which you can remove from the app's settings.
The few times anything reaches the internet
Three lines on the diagram leave your computer. Everything else stays on it.
- The update check. GitHub Releases, 10 seconds after launch and every 4 hours. It sends your IP address and the fact that a copy is checking, nothing about your media, prompts or settings. See Updates.
- Model downloads you start. From Civitai or Hugging Face, with your Civitai key if you stored one.
- Problem reports you send. Only after you have seen the report and pressed Send, with your folders, names, addresses, keys and prompts taken out first. See Report a problem.
The full list, with what each one sends, is under What leaves the computer.
The technology, in plain words
Network and privacy
- Tailscale
- An app that joins your devices into one private network, so they can reach each other from anywhere as if they were on the same Wi-Fi.
- Tailnet
- Your own Tailscale network: only the devices signed in with your account.
- WireGuard
- The encryption Tailscale is built on. Traffic between two of your devices is encrypted end to end.
- MagicDNS
- Tailscale's names for your devices, such as
your-computer.your-tailnet.ts.net, so you never type a number address. - Tailscale Serve and Funnel
- Serve shares one program with your tailnet only, over HTTPS. Funnel shares it with the whole internet. WorkflowRemix uses Serve and refuses anything that comes through Funnel.
- HTTPS
- Encryption between a browser and a server, with proof that the server is the one it claims to be.
- Password hash
- A one-way scramble of your password. The app keeps only the hash, never the password itself.
- Built-in safeguard
- WorkflowRemix's own check that reads every run before ComfyUI sees it and refuses one that describes a minor sexually. It has no off switch.
The app
- Electron
- A way to ship a web app as a desktop program with its own window. VS Code and Slack are built on it.
- Node.js
- JavaScript that runs outside a browser. The app's server is a Node program with no third-party packages.
- Vue
- The framework that draws the app's pages. It ships inside the app, so nothing loads from the internet.
- WebSocket
- A connection that stays open so updates arrive the moment they happen, such as a run's progress.
- Code signing
- A signature proving who made an installer. WorkflowRemix's installers are not signed yet, which is why Windows asks you to confirm the first install.
The AI side
- Workflow
- A ComfyUI graph, saved as JSON and also written inside every file ComfyUI makes.
- Checkpoint and LoRA
- A checkpoint is the main model. A LoRA is a small add-on that teaches it a style, a character or an idea.
- Custom node
- An add-on for ComfyUI that adds new kinds of node. Each is someone else's code running on your computer, so install the ones you trust.
- Krea, Wan and MiniMax H3
- The models the included workflows are built for: Krea for editing pictures, Wan for turning a picture into video, and MiniMax H3 for video with sound, which H3 Studio is made around.
- Ollama
- A program that runs language models on your own computer. H3 Studio's assistant talks to it.
- Tool calls
- A language model asking the app to do a specific thing, such as changing a scene, rather than only writing text back.