Projects
/ project/AI Media

AI Fashion Content Studio

Failed but useful Flask experiment for AI fashion try-ons, video generation, and UGC-style content workflows.

Status
Smaller experiment
Type
AI Media

AI fashion content studio landing page

The idea

The bet was simple: e-commerce brands need more product and fashion content than they can afford to shoot manually. I tried to turn that into a small SaaS-style tool where a user could upload a model image and a garment image, generate try-on output, make short AI video variations, and save results into a gallery.

It did not become a business. The useful part was learning what breaks when an AI media idea moves from "cool demo" to "actual workflow."

What I built

The app was a Flask project with user auth, a SQLite database, and several generation paths:

  • Virtual try-on jobs through the fashn/tryon model on Fal.
  • Image-to-video jobs through a Kling endpoint.
  • A user-owned gallery for generated try-ons, videos, and UGC clips.
  • Socket.IO rooms for job status updates.
  • A UGC composer that could merge an avatar/template video with a product video and optional caption text.

AI fashion studio workspace

Implementation detail

The central pattern was job-first: save a database record, submit the generation request, then let the webhook update the job and gallery later.

new_job = TryOnJob(
    model_image_url=model_url,
    garment_image_url=garment_url,
    category=category,
    status="SUBMITTED",
    config=config,
)
db.session.add(new_job)
db.session.commit()

handler = rate_limited_api_call(
    fal_client.submit,
    "fashn/tryon",
    arguments={
        "model_image": model_url,
        "garment_image": garment_url,
        "category": category,
        **config,
    },
    webhook_url=webhook_url,
)

The UGC path used FFmpeg-style processing through Python subprocess calls: trim the uploaded product video, scale it to match the template, optionally burn in a caption, concatenate the clips, and extract a thumbnail.

AI fashion advanced settings

Why it failed

The core value proposition was too broad. It mixed virtual try-on, AI video, UGC management, subscriptions, and gallery behavior before any one user workflow was sharp enough.

Technically, async generation also made the product surface harder than expected: upload validation, temporary files, webhook reliability, user ownership, generated asset expiry, and model quality variance all mattered more than the landing page implied.

What stuck

This was a good early lesson in AI product scope. The model call was the easy part. The actual product was the surrounding system: job state, fallbacks, ownership, previews, cleanup, and a UI that made failures understandable.