Back to work

RandomSeed

An AI creative studio with 46 models across 6 media types — built on a spatial canvas with trainable aesthetic intelligence

AICreative ToolsNext.jsSupabasefal.aiThree.js

At a Glance

Role
Design & Engineering
Timeline
2 months
Tech Stack
Next.js 16React 19TypeScriptSupabasefal.aiThree.jsFFmpeg WASMPolar.sh

The Problem

AI creative tools are fragmented. You generate an image in Midjourney, upscale it in Topaz, animate it in Runway, add a voiceover in ElevenLabs, then compose everything in a video editor. Every step is a separate tool, a separate account, a separate billing model. There's no pipeline.

Worse, none of these tools learn your aesthetic. Every session starts from zero. You describe what you want in words, hope the model interprets it correctly, and iterate through dozens of generations to get close to the look you had in mind. The gap between "what I can describe" and "what I actually want" is where most creative time gets wasted.

What We Built

RandomSeed is a browser-native AI media studio. One workspace, 46 models, 6 media types. Generate an image, remove its background, animate it to video, add a soundtrack, and export — all without leaving the canvas. Every output becomes input for the next step.

The differentiator: the Taste System. Upload reference images and the AI learns your aesthetic preferences — palette, mood, composition, texture. Those preferences get baked into every generation as toggleable style fragments. The more you use it, the less you prompt.

The Spatial Canvas

The studio is built on an infinite 2D canvas, not a chat interface or a gallery grid. Every AI generation appears as a draggable card. SVG connection lines show the creative lineage between parent and child outputs.

This matters because creative work isn't linear. You branch, compare, backtrack, and fork. A canvas lets you see the full exploration tree — what derived from what, which branches worked, which didn't. Selecting any card highlights its entire derivation chain.

Canvas features:

  • Pan and zoom with mouse wheel, pinch, and space+drag
  • Stem cards showing thumbnail, model name, seed, and generation status
  • Lineage highlighting that dims unrelated stems to 35% opacity
  • Tidy layout that auto-arranges stems into a tree based on parent-child relationships
  • Gallery toggle for a flat grid view when spatial layout isn't needed
  • Full-screen preview and side-by-side comparison of sibling stems
  • Keyboard shortcuts for power users (delete, undo, grab mode)

Six Media Modes, 46 Models

All accessible from a single prompt bar at the bottom of the canvas:

Image (11 models) — FLUX Dev/Pro/Ultra, FLUX 2 Pro, Ideogram v3, HiDream, Recraft V3, Grok Imagine, GPT Image 1. Aspect ratio presets, image-to-image variants auto-routed when a reference image is attached.

Enhance (6 models) — Background removal (Bria, BEN v2), upscaling (Creative Upscaler, Topaz, Super Resolution), face restoration (CodeFormer).

Video (12 models) — Veo 3/2, Kling 2.1 Pro, Hailuo 02, Wan 2.6, Luma Ray 2 Flash, LTX Video, Seedance 1.5 Pro, Sora 2 Pro. Duration controls per model.

Voice (5 models) — Dia TTS, Kokoro EN, MiniMax Turbo/HD, ElevenLabs Turbo.

Music (2 models) — CassetteAI, MiniMax Music 2.0.

3D (4 models) — Meshy 6, Trellis, Hunyuan3D Turbo/Full. Interactive GLB viewer on the canvas with rotate and zoom.

Every model shows its credit cost before generation. No surprises.

The Derive System

The core pipeline mechanic. Any output can become input for the next step:

  • Image can derive to: image-to-image variation, background removal, upscale, animate to video, generate 3D model
  • Video can derive to: add narration (TTS), compose with audio (FFmpeg)
  • Audio can derive to: compose with video (FFmpeg)

Derived stems auto-position to the right of their parent. The canvas becomes a visual record of the entire creative pipeline.

Six preset chains ship out of the box:

PresetSteps
Product ShootUpload, remove background, upscale, animate to video
Podcast KitPrompt, generate cover art, record voiceover
Animate ShotPrompt, generate image, animate to video
Launch PackPrompt, generate image, remove background, upscale, animate to video
Product to 3DUpload, remove background, generate 3D model
Music Video KitPrompt, generate image, animate to video, add soundtrack

The Taste System

This is what makes RandomSeed different from every other AI creative tool.

Taste Library — Upload reference images from anywhere. Screenshots, mood boards, design inspiration. The Chrome Extension ("Taste Capture") lets you right-click any image on the web and save it directly to your library.

AI Analysis — Each reference image is analyzed by Claude's vision model across six dimensions: palette, mood, composition, texture, typography, and materials. This creates a structured descriptor for every image.

Boards — Organize references into named collections by project, brand, or aesthetic direction. Each board has its own aggregate taste profile computed from its images.

Style Briefs — AI-generated documents that translate a board's aggregate taste into actionable generation language. Includes: narrative description, hex color palette, mood tags, composition notes, prompt fragments, negative prompts, recommended models, and example prompts. Music-specific fragments for audio generation.

Toggleable Fragments — Style brief prompt fragments are individually toggleable per generation. Keep what's relevant, disable what isn't. Negative prompts auto-inject for compatible models.

Auto-Reference — For models that support style references (FLUX, Ideogram), the system automatically selects the most relevant reference image from your board based on prompt similarity scoring. Manual override available.

Feedback Loop — Every user action (star, save to board, delete, regenerate) is logged as a taste signal. These signals feed back into style brief regeneration — the system learns from what you kept versus what you discarded.

The API

RandomSeed ships with a public REST API and an MCP server, so AI agents can use it programmatically.

REST API (v1) — authenticated via API keys (managed in the account settings):

  • GET /api/v1/credits — check credit balance
  • POST /api/v1/generate — generate images (FLUX Dev/Schnell/Pro, with model selection, aspect ratio, seed)
  • POST /api/v1/analyze — analyze an image for taste descriptors (palette, mood, composition, texture, typography, materials) via Claude vision
  • POST /api/v1/embed — extract image embeddings for similarity scoring
  • GET /api/v1/boards — list moodboards
  • GET /api/v1/boards/{id} — get board details and style brief
  • GET /api/v1/boards/{id}/brand — export a board's style as JSON, YAML, Markdown, or design tokens

Every API call is rate-limited per user (via Upstash Redis) and deducts credits atomically. API keys show a prefix in the UI but the full key is only visible at creation time.

MCP Server (POST /api/v1/mcp) — a 277-line HTTP-based MCP endpoint that exposes tools for AI coding assistants:

  • get_credits — check balance
  • list_boards / get_board — browse moodboards
  • analyze_image — taste analysis (5 credits)
  • generate_image — image generation with optional board-based style injection
  • generate_with_style — generate using a board's style brief fragments automatically

The MCP endpoint accepts API key auth and handles the full JSON-RPC tool call protocol. An AI agent can analyze reference images, build a moodboard, generate a style brief, and produce on-brand images — all through tool calls.

Architecture

Dual-Mode Storage

The app runs in two modes with zero code changes:

FeatureLocal ModeCloud Mode
StemsIndexedDBSupabase + API routes
WorkspaceslocalStorageSupabase + API routes
Taste ImageslocalStorageSupabase + API routes
Taste BlobsIndexedDBSupabase Storage
SettingslocalStorageSupabase + API routes
AuthNone (anonymous)Supabase Auth (SSR middleware)
CreditsClient-side trust-basedServer-validated via Supabase

This means a developer can run the full studio locally with zero backend. Clone, install, run. All features work. When you're ready for production, add Supabase env vars and everything migrates to cloud storage with row-level security.

AI Backend

All model inference runs through fal.ai's proxy architecture. The FAL_KEY stays server-side — the client calls a Next.js API route that forwards to fal.ai. Users can also bring their own fal.ai API key, stored in their settings and never sent to our server.

Taste analysis uses Anthropic's Claude for vision-based descriptor extraction and language-based style brief synthesis. Two separate API calls: one for analyzing individual images (vision), one for synthesizing a board's aggregate taste into a brief (language).

Client-Side Media Processing

Video and audio composition happens entirely in the browser using FFmpeg compiled to WASM. No server-side media processing. This keeps costs at zero for composition operations and eliminates upload/download latency for large media files.

3D model viewing uses Three.js via React Three Fiber, with Google's model-viewer as fallback. GLB files render directly on the canvas with interactive orbit controls.

Payments

Credit-based, pay-per-generation. No subscription. Three packs (100/$1.20, 500/$4.50, 1000/$7.00) via Polar.sh checkout with server-side webhook verification. 100 starter credits on signup. Atomic credit deduction via PostgreSQL functions prevents race conditions.

Model costs range from 1 credit (face restoration) to 120 credits (Veo 3 flagship video). Every cost is visible before generation.

Design

Dark theme with a warm accent color. Near-black background (#030303), light foreground (#e8e8e8), orange accents for interactive elements. Glass morphism on navigation. SVG grain overlay for texture. Framer Motion with custom ease-out-quint curves for scroll-triggered reveals. Smooth scrolling via Lenis.

Design tokens centralized in a single file. Reusable component library: Button (primary/secondary/ghost), IconButton, Spinner, Toast, ConfirmDialog, Reveal animations. The studio UI is dense and tool-like. The marketing pages are spacious and editorial.

Content and SEO

Nine blog posts covering product positioning, model guides, taste system tutorials, and competitive comparisons. Dynamic sitemap, structured FAQ schema, OG image generation, and llms.txt for AI crawler discoverability.

Results

  • 220 commits over 2 months of active development
  • 46 AI models across 6 media types in a single workspace
  • Dual-mode architecture — works locally with zero backend or at scale with Supabase
  • Client-side media processing — zero server cost for video/audio composition
  • Chrome Extension — taste capture from any webpage
  • Credit-based monetization — no subscription barrier, pay for what you use
  • 9 blog posts with full SEO infrastructure

What We Learned

The canvas was worth the complexity. Building a performant infinite canvas with drag, zoom, pan, connection lines, and dynamic card layouts is significantly harder than a chat interface or grid gallery. But it changes how people think about AI generation. When you can see the full tree of exploration, you make better creative decisions. Linear interfaces hide the creative process.

Taste is the moat. Every AI tool has the same models. FLUX, Kling, and Veo are available everywhere. The differentiator isn't access to models — it's making them produce what you want consistently. The Taste System turns subjective aesthetic preferences into structured, reusable generation parameters. That's hard to replicate because it requires both the vision analysis pipeline and the feedback loop to improve over time.

Dual-mode storage was the right call early. Starting with localStorage/IndexedDB meant we could iterate on the product without managing infrastructure. Adding Supabase later was straightforward because the data models were already clean. The same components work in both modes — only the storage layer swaps. If we'd started cloud-first, development speed would have been half as fast.

FFmpeg in the browser is powerful but fragile. WASM-compiled FFmpeg handles composition well for short clips, but memory pressure on large files is real. We scope video composition to the durations our models produce (4-12 seconds) which keeps it manageable. For longer content, server-side processing would be necessary.


This product was designed and built by Parallel Studio. We create AI-native tools that make complex technology feel intuitive. Tell us about your project.