Skip to content

clawnify/open-render-studio

Repository files navigation

Open Render Studio preview

Open Render Studio

AI staging & render editing for interior-design and archviz studios. Snap a room photo or drop in a CAD render, run one-click directed edits β€” restyle, material swap, furnish, declutter, relight, upscale, walkthrough video β€” and package the variants for a client. Built with React + Tailwind CSS + Hono + D1. Deploys to Cloudflare Workers via Clawnify.

An open-source, self-hostable alternative to Collov / InteriorAI β€” with three differences that matter:

  • Runs on one key. Nano Banana / Gemini image and async video generation both go through your own OpenRouter key β€” no per-image subscription tax, no second provider to configure. (A FAL_API_KEY is optional and only upgrades Enhance & Upscale.)
  • Agent-native β€” every tool is also a callable action in the OpenAPI spec, so it works from a chat channel (snap a room in WhatsApp β†’ variants back), not just a web app.
  • Grounded, not hallucinated β€” every edit keeps the room's architecture, camera, and proportions fixed and changes only the one thing named. Tools that touch geometry return an honest note: verify dimensions in your CAD tool. This stays a post/ideation layer, not a fake CAD.

Tools

Each tool is a preset directed edit against the source image. Add one by adding an entry to src/server/tools.ts β€” it appears in the UI grid and the agent API automatically.

Tool What it does
Restyle Re-imagine the same room in a chosen aesthetic (Scandinavian, Japandi, …)
Material / Finish Swap Change one surface β€” floor, walls, cabinetry, countertops
Add Furniture Stage an empty room in a style; point it at your own catalogue
Furniture Eraser / Declutter Empty the room or just remove clutter
Renovation Before β†’ After Visualise a renovation from a plain-language brief
Relight / Twilight Change time of day and mood without a re-render
Enhance & Upscale Portfolio-quality sharpen + upscale (fal SeedVR when a FAL key is set, else an OpenRouter enhance pass)
Walkthrough Video Animate a still into a cinematic clip β€” async via OpenRouter's video API (Wan / Veo)

Quickstart

git clone https://github.com/clawnify/open-render-studio.git
cd open-render-studio
pnpm install

Create a .dev.vars file with your OpenRouter API key:

OPENROUTER_API_KEY=your-key-here
# optional β€” enables Enhance/Upscale + Walkthrough Video:
# FAL_API_KEY=your-fal-key-here

Start the dev server:

pnpm dev

Open http://localhost:5173. The database schema is applied automatically on startup.

Tech Stack

Layer Technology
Frontend React 19, TypeScript, Tailwind CSS v4, Vite
Backend Hono (Cloudflare Worker) + @hono/zod-openapi
Database D1 (SQLite at the edge) via @clawnify/db
Storage R2 (source + result images/video)
AI OpenRouter β€” Nano Banana / Gemini image edits + async video (/api/v1/videos); fal.ai optional (upscale quality)

Prerequisites

Architecture

schema.sql          β€” Canonical schema (projects, renders, assets)
src/
  server/
    index.ts        β€” Hono API; runRender() is the single execution path
    tools.ts        β€” Directed-edit tool registry (UI + agent + prompts)
    image.ts        β€” Provider engine: editImage / upscaleImage / startVideo + pollVideo
    db.ts           β€” D1 adapter (@clawnify/db)
    uploads.ts      β€” R2 storage adapter
  client/
    app.tsx         β€” Upload β†’ tool grid β†’ param panel β†’ variants
    api.ts          β€” Typed API client

API

Human/UI routes are under /api/*. Agent-callable routes are in the OpenAPI spec at /openapi.json:

Method Endpoint Description
GET /api/v1/tools List directed-edit tools + their inputs
POST /api/v1/render Run a tool on a source image. Image edits return done; video returns pending
GET /api/v1/renders/:id Poll a render β€” advances a pending async video to done/error
GET /api/tools Same tool list (UI)
POST /api/render Run a tool (UI)
GET /api/renders/:id Poll a render (UI)
GET/POST /api/projects Projects (a client engagement / room)
GET /api/projects/:id/renders Variants for a project
GET/POST /api/assets Studio's own furniture / style / material library
POST /api/uploads Upload an image

Schema & Migrations

schema.sql at the project root is the canonical schema for fresh deployments β€” edit it directly to add tables or columns. On a fresh deploy, Clawnify applies it once and records a baseline; deployed instances then evolve via auto-generated migration files. Don't hand-edit schema.sql inside a deployed instance (there it's an auto-regenerated snapshot).

Deploy

npx clawnify deploy

License

MIT

About

🎨 Open-source Collov / InteriorAI alternative β€” AI virtual staging & render editing for interior-design & archviz studios, on your own image-model key. Deploys via Clawnify.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors