Tio Vik Studio — Pitch Summary
For Tio Vik — what we're building and why it beats Higgsfield
What We're Building
A platform built entirely around your workflow — not 30 generic AI models dumped in one place.
Users go through your exact 5-step process, step by step, guided by the platform. At every step they see the output, can approve it, redo it, or swap in their own asset. The platform uses Claude AI vision to automatically check quality between steps — flagging frames that look off, rejecting junk, and surfacing only cinema-quality results.
Your 1-week process → under 1 hour.
Side-by-Side vs Higgsfield
| Higgsfield | Tio Vik Studio | |
|---|---|---|
| Workflow | 30+ models, figure it out yourself | Your exact 5-step method, guided |
| Quality control | Manual — you check everything | Claude AI vision gates every step |
| Pricing | $15–$84/mo subscription, hidden credit caps | Pay per video, no subscription |
| Trustpilot | 3.2/5 — complaints about hidden limits | Transparent, per-step pricing |
| Who it's for | Generic content creators | People who want YOUR cinematic quality |
| Authority | None — just a model aggregator | Built on your proven method |
| Result quality | Variable — depends on which model you pick | Cinema quality — baked into the process |
| Video production time | Still slow — no QC automation | Under 1 hour |
The 5 Steps (Your Workflow, Powered by APIs)
- Image Generation — User prompts or uploads their own image. Platform generates via AI, Claude scores quality, surfaces the best result.
- Image Cleanup & Upscaling — Automatic upscaling, Claude checks for plastic/degraded textures.
- Image → Video — Kling AI API. Claude analyzes key frames for artifacts, motion issues, face distortion.
- Video Downscaling — Converts to mobile-optimized 1080×1920 / 30fps automatically.
- Download & Publish — Ready for TikTok, Instagram, YouTube Shorts.
At every step: approve → continue or redo → try again or upload your own → skip this step.
Why This Works
- Higgsfield sells access to models. You're selling a proven result.
- Content creators don't want to learn 30 tools. They want to trust a process that works.
- Your audience already knows your quality. This gives them a path to replicate it.
- The Claude vision QC layer is what no one else has — automated quality judgment trained on what "cinema quality" actually means at each step.
Revenue Model
Pay per generation step used: - Image gen: $0.50 - Upscaling: $0.25 - Video generation: $3.00 - Downscaling: $0.25 - Full 5-step video: ~$4.00 to the user
Platform cost per video: ~$0.60–1.00 in API fees. Healthy margin.
Users who bring their own assets only pay for steps they use.
What's Needed to Build
- From Tio: Kling API application (klingai.com) — apply today, takes a few days to approve
- From Sam: Cloudflare R2 bucket, Replicate account, Stripe
- Already have: Anthropic API key (Claude vision QC)
Demo-ready in 4–6 build sessions. Launch-ready in ~3 weeks.
Working name: Tio Vik Studio
Tio Vik Studio — Full Design Document
Version 1.0 — 2026-05-18
1. Product Overview
A guided AI video production platform built around Tio Vik's 5-step workflow. Users move through each step sequentially, see results, and choose to approve, redo, or substitute their own asset. Claude vision AI acts as a quality gate between steps — automating the frame-checking and iteration that currently takes Tio a week to do manually.
Core promise: Cinema-quality AI video in under 1 hour.
Audience: Content creators who want professional results and full control over the process.
Monetization: Pay-per-generation-step. No subscription. Transparent pricing.
2. Architecture
User Browser
│
▼
CF Pages (React frontend)
│
▼ HTTPS API calls
FastAPI Backend (VPS/droplet)
├── Job Queue (SQLite async)
├── Replicate API (image gen, upscaling)
├── Kling AI API (image → video)
├── ffmpeg (video downscaling)
├── Claude Haiku API (vision QC)
└── Cloudflare R2 (file storage)
│
▼
Stripe (payments)
Stack
| Layer | Tech |
|---|---|
| Frontend | React (Vite) → Cloudflare Pages |
| Backend | Python FastAPI → VPS |
| Storage | Cloudflare R2 |
| Job queue | SQLite-based async (upgradeable to Redis) |
| Database | PostgreSQL |
| Image gen | Replicate (Flux / SDXL) |
| Upscaling | Replicate (Real-ESRGAN) |
| Image→Video | Kling AI API |
| Downscaling | ffmpeg (runs on VPS) |
| Vision QC | Claude Haiku 4.5 |
| Payments | Stripe |
3. User Flow
3.1 Onboarding
- User lands on homepage — sees pitch, Tio's brand, example before/after videos
- Signs up with email
- Adds payment method via Stripe (pay-as-you-go, no subscription)
- Starts a new project
3.2 Project Workspace (Step-by-Step)
Each step follows the same pattern:
[Step Card] → [Generate / Upload] → [Processing...] → [QC Running...] → [Result] → [Approve / Redo / Upload Own]
Step 1 — Image Generation - Prompt: user writes description (or uses ChatGPT helper link) - Platform generates 3 variations via Replicate (Flux) - Claude vision scores each on: realism, clarity, cinematic framing, no artifacts - Best-scoring image shown to user, others available to browse - User options: ✅ Use this | 🔄 Generate more | ⬆️ Upload my own image
Step 2 — Image Upscaling - Auto-runs Real-ESRGAN on user's selected image - Claude vision checks: no plastic skin, no degraded textures, detail preserved - User options: ✅ Looks good | 🔄 Try different settings | ⏭️ Skip (image already high quality)
Step 3 — Image → Video (Kling AI) - User writes motion prompt (simple — "car drives forward", "man walks into scene") - Platform generates 2 variations at 720p first (credit-efficient test) - Claude vision analyzes key frames: motion artifacts, face distortion, consistency - If QC passes → auto-upgrade to 4K final render - User options: ✅ Use this | 🔄 Try new prompt | ⬆️ Upload my own video clip
Step 4 — Video Downscaling - ffmpeg converts 4K/24fps → 1080×1920/30fps (mobile-optimized) - No QC needed — deterministic process - Preview shown in player - User options: ✅ Done | ⬆️ Upload different video
Step 5 — Download & Publish - Download button (MP4, watermark-free) - Direct share links: TikTok, Instagram, YouTube Shorts - Project saved to dashboard
4. Claude Vision QC System
This is the core differentiator. Between each generation step, Claude Haiku analyzes output quality.
4.1 QC per step
Step 1 (Image):
Prompt to Claude: "Rate this AI-generated image on a scale of 1-10 for:
1. Photorealism — does it look like a real photo?
2. Cinematic quality — professional framing, lighting, depth?
3. Artifacts — any visible AI artifacts, distortions, extra limbs, merged objects?
4. Subject clarity — is the main subject clearly defined?
Return JSON: {score: X, flags: [...], pass: true/false}"
Pass threshold: 7/10. Auto-retry up to 3x if failing.
Step 2 (Upscale):
Prompt: "Compare these two images (original + upscaled). Rate the upscale on:
1. Texture preservation — no plastic/smooth-over effect?
2. Detail enhancement — sharper without looking artificial?
3. No new artifacts introduced?
Return JSON: {score: X, flags: [...], pass: true/false}"
Step 3 (Video — frame sampling):
ffmpeg extracts frames at 0s, 25%, 50%, 75%, 100% of video duration.
Each frame sent to Claude:
"Rate this video frame on:
1. Motion consistency — does it look like natural motion?
2. Face/object integrity — no morphing, distortion, or flickering?
3. Lighting consistency — same as source image?
4. Overall cinema quality?
Return JSON: {score: X, flags: [...], pass: true/false}"
All 5 frames must pass. If any fail → auto-retry Kling with adjusted prompt.
4.2 QC results shown to user
- Green badge: "QC Passed — Cinema Quality"
- Yellow badge: "QC Note: [specific flag]" — user decides to proceed or redo
- Red badge: "Quality Issue Detected — We recommend redoing this step"
5. Data Models
-- Users
users (
id UUID PRIMARY KEY,
email TEXT UNIQUE,
stripe_customer_id TEXT,
created_at TIMESTAMP
)
-- Projects
projects (
id UUID PRIMARY KEY,
user_id UUID REFERENCES users,
name TEXT,
status TEXT, -- active, complete, abandoned
current_step INT, -- 1-5
created_at TIMESTAMP
)
-- Jobs (one per generation attempt per step)
jobs (
id UUID PRIMARY KEY,
project_id UUID REFERENCES projects,
step INT, -- 1-5
status TEXT, -- queued, processing, qc_running, complete, failed
input_url TEXT,
output_url TEXT,
qc_score FLOAT,
qc_flags JSONB,
qc_pass BOOLEAN,
retry_count INT DEFAULT 0,
created_at TIMESTAMP
)
-- Payments
payments (
id UUID PRIMARY KEY,
user_id UUID REFERENCES users,
job_id UUID REFERENCES jobs,
step INT,
amount_cents INT,
stripe_payment_intent_id TEXT,
status TEXT, -- pending, captured, refunded
created_at TIMESTAMP
)
6. Pricing
| Step | What It Does | User Price | API Cost | Margin |
|---|---|---|---|---|
| 1 — Image gen | Replicate Flux × 3 variations | $0.50 | ~$0.09 | 82% |
| 2 — Upscaling | Real-ESRGAN on Replicate | $0.25 | ~$0.02 | 92% |
| 3 — Video gen | Kling AI (720p test + 4K final) | $3.00 | ~$0.60 | 80% |
| 4 — Downscaling | ffmpeg on VPS | $0.25 | ~$0.01 | 96% |
| Full 5-step video | All steps | $4.00 | ~$0.72 | 82% |
Users who upload their own assets only pay for steps they use. No subscription. No hidden caps. Stripe charges per job completion.
7. Frontend Pages
| Page | Purpose |
|---|---|
/ |
Landing page — pitch, demo video, pricing, CTA |
/dashboard |
User's projects, history, billing |
/project/:id |
Main workspace — step-by-step workflow |
/pricing |
Transparent per-step pricing |
/settings |
Account, payment method, email |
UI Principles
- Dark, cinematic aesthetic (matches Tio's brand)
- Each step card is full-width, shows current status
- Completed steps collapse with result thumbnail visible
- Active step expanded with controls
- Mobile-responsive (content creators are on phones)
8. Backend API Endpoints
POST /api/projects → create project
GET /api/projects/:id → get project + all jobs
POST /api/jobs → start a generation job
GET /api/jobs/:id → poll job status
POST /api/jobs/:id/approve → user approves this output, advance step
POST /api/jobs/:id/redo → retry same step
POST /api/jobs/:id/upload → user uploads their own asset
POST /api/payments/intent → create Stripe payment intent
POST /api/payments/confirm → confirm payment, trigger generation
GET /api/user/me → user profile + billing
9. Build Phases
Phase 1 — Working Demo (4–6 sessions)
- Backend: FastAPI skeleton + R2 storage + job queue
- Steps 2–4: upscaling + Kling video + ffmpeg downscale
- Claude vision QC on video frames
- Basic React UI (no auth, no payments)
- User can upload image → get cinema-quality video
Phase 2 — Launch Ready (8–10 more sessions)
- Full Step 1: image generation with 3 variations
- Auth (email + password or magic link)
- Stripe pay-per-step billing
- Project dashboard
- QC badges in UI
- Landing page with Tio's branding
Phase 3 — Polish
- Multiple Kling variations side-by-side
- Prompt improvement suggestions (Claude)
- Longer video: sequence multiple clips (Tio's 10-image method)
- Mobile PWA
10. What Sam Sets Up (Blockers)
| Account | Where | Priority | Time |
|---|---|---|---|
| Kling API | klingai.com → API section | 🔴 URGENT — apply today | 5 min to apply |
| Replicate | replicate.com | 🟡 Before Phase 1 | 5 min |
| Cloudflare R2 bucket | CF dashboard | 🟡 Before Phase 1 | 5 min |
| Stripe account | stripe.com | 🟢 Before Phase 2 | 15 min |
| Anthropic API | Already have it | ✅ Done | — |
Design doc v1.0 — ready for implementation planning