Project

Redrob Studio

99.92% accuracy on explicit-content moderation (n = 6,000)

TP 2,995 · FP 5 · FN 0 · TN 3,000. Recall 100%, precision 99.83%. LLM on the prompt, VLM on the output. Browser talks to Next.js; Next.js talks to ComfyUI on COMFYUI_URL (server-only). Image tools are Create (Redrob Image), Upscale, Compress, Convert, and Vision; audio is Speak, Clone, Design, Music (Tune/ACE-Step), Transcribe, Extract audio from a video file, and Convert. Bake-offs sit in the same shell.

Summary

Local Next.js studio for image and audio tools on your own ComfyUI GPU, with dual LLM/VLM safety gates. On a 6,000-prompt NSFW/SFW eval across image, text, and audio: 99.92% accuracy, 100% recall, five false positives. No chat surface and no video generation stack; home is a tools catalog and bake-offs sit in the same shell. Latency and preference claims live on Image and Tune.

My role

Built the ComfyUI client, dual LLM/VLM safety gates, tool matrix, and bake-off UI alone in about three weeks. Image and Tune supply models behind the shell.

Purpose

Ship a local client that calls generative workflows over ComfyUI you control, exposes the image and audio tool matrix on one screen, compares checkpoints and LoRAs in the tool rather than a spreadsheet, and keeps explicit content out of the product path with a measured catch rate.

Demo

Studio walkthrough

Create, tools, and bake-offs in one client on ordinary ComfyUI with dual safety gates.

Safety study

Studio's product claim is moderation, not preference. An LLM reviews the prompt before generation; a VLM reviews the finished asset afterward. The numbers below are from a labeled NSFW / SFW prompt set spanning image, text, and audio generation.

Design

  • 6,000 prompts total
  • Three modalities: image generation, text generation, and audio generation
  • For each modality: 1,000 NSFW and 1,000 SFW prompts
  • Sources: AI-generated and user-sourced for both NSFW and SFW
  • Positive class: explicit / NSFW content that should be blocked
  • Dual gate: LLM on the prompt, VLM on the output

AI-generated and user-sourced prompts were both included so the gate was not tuned only to one prompt dialect. Image, text, and audio share the same moderation claim because Studio routes all three through the same client path.

Confusion matrix

True positive
2,995
False positive
5
False negative
0
True negative
3,000
Accuracy
5,995 / 6,000 = 99.92%(TP + TN) / n
Recall
2,995 / 2,995 = 100%TP / (TP + FN) · no misses on NSFW
Precision
2,995 / 3,000 = 99.83%TP / (TP + FP)

Decisions

  • LLM on the prompt, VLM on the output

    Text safety and image/audio safety are different failure modes. An LLM reviews the prompt before generation; a VLM reviews the finished asset afterward. On the 6,000-prompt set that dual path reached 99.92% accuracy with zero false negatives.

  • Ordinary ComfyUI behind a server-only URL

    The browser never talks to ComfyUI directly. Workflows are assembled server-side from allowlisted templates; progress streams as SSE. Swapping a checkpoint or LoRA stays a graph change on GPUs you control.

  • Full tool matrix, one shell

    Image and audio tools share one Next.js surface and the same safety gates, so finishing one piece of work does not mean hopping between apps. Create runs Redrob Image and Music runs Redrob Tune, which is released only inside Studio. Bake-offs compare models in-product; latency and preference claims stay on Image and Tune.

  • The shipped setup is a starting point, not a lock-in

    Drop in your own checkpoint or LoRA, run it against the same prompt as the current one, and look at both results side by side before committing. Comparison happens in the tool, which is the only version of it people actually do.

  • No GPU, no output, and no quiet fallback

    Without a GPU host attached the UI opens but no tool produces anything, because there is no cloud path to pick up the work. That is a condition of the design rather than a setup problem. Create also inherits Redrob Image's gap on legible Hangul and typography-heavy graphics.

Challenges

  • Built alone in three weeks on about $350

    Scope: ComfyUI client, dual safety checks, the tool catalog, live progress, and enough bake-off UI to compare models.

  • One UI for several model lines

    Image and Tune share surfaces and moderation without sharing claims. The client stayed modality-agnostic enough for Speech next.

Impact

  • 99.92% accuracy, zero NSFW misses

    On 6,000 labeled prompts across image, text, and audio, the dual gate produced five false positives and no false negatives. Preference and latency stay on Image and Tune.

  • Interactive bake-offs once models were fast enough

    When Image entered the low-second range and Tune landed minute-long audio in tens of seconds, comparison UI became usable for live preference work instead of overnight jobs.

System

  • Redrob Studio

    99.92%

    safety accuracy (n=6000)

    Local Next.js client over ordinary ComfyUI (COMFYUI_URL, server-only): LLM on prompts, VLM on outputs; 99.92% accuracy on 6,000 NSFW/SFW prompts across image, text, and audio (TP 2995, FP 5, FN 0, TN 3000); image and audio tool matrix, no chat surface and no video generation stack; bake-offs for model comparison

    Web app calls ComfyUI workflows over a server-only URL, streams progress, runs an LLM on the prompt and a VLM on the finished output
  • Model and LoRA bake-offs

    bake-offs

    comparison UI

    Side-by-side preference suites inside Studio for comparing checkpoints and LoRAs

Screens

Create

Main generation screen: enter a prompt, choose Fast or Best, and run Redrob Image (or another hosted Redrob model). Before generation starts, an LLM reviews the prompt so unsafe requests can be blocked early.

Tools

Tools catalog from an earlier build that still carried a video generation stack and face/background editing. The shipped set is image and audio only: Create, Upscale, Compress, Convert, Vision; Speak, Clone, Design, Music, Transcribe, Extract audio, Convert.

In-studio bake-offs

Side-by-side comparison of models and prompts. Image and Tune setups get scores here.