Models
Models · Research release · 28 October 2026

Drishya Tiny

How far does about $21 of GPU time go for a video model? A research release, failures included.

Drishya Tiny is a 212M-parameter video generator trained from scratch, using the frozen Wan2.2 VAE and Flan-T5-Base text encoder. It turns a text prompt, or a text prompt plus a first frame, into a 2-second 256×256 clip.

We built it as an experiment: how much video model can about $21 of GPU time buy, and what moves prompt-following at this size? So we are releasing almost everything, including what didn’t work. Give it a sentence, or a photo and a sentence, and it makes a 2-second clip. It is good at waves, skies, snow and fire. Ask it for two things in one clip and it mostly can’t.

Read the release post

Try it now · in your browser · free, no login

Type a prompt and make a 2-second clip, on your own device.

Drishya Tiny runs entirely inside this tab: the 665 MB of model files download once and are kept by your browser. Give it a prompt, and optionally a photo to animate. Runs on your device; nothing you type leaves your browser, and photos never leave your device.

Checking this browser…

Needs WebGPU (desktop Chrome or Edge); other browsers fall back to a slower CPU path. Once the files are cached, a clip takes a few seconds on a recent Mac. The browser version uses a tiny decoder (TAEW2.2, MIT, by Ollin Boer Bohan), so clips are softer than the full model’s. Long, descriptive prompts of nature and scenery work best. Every clip carries a visible “AI-generated” mark.

Or try it on Hugging Face (GPU)

The result

Close on video quality. About half on following the prompt.

On VBench, its video quality is 75.6, level with the 256px VideoCrafter-0.9 (74.9) and close to ModelScope (78.1), both built on Stable Diffusion. Its generator was trained from scratch and is about a sixth the size of ModelScope’s 1.35B UNet. Prompt-following (semantic 32.3) is about half theirs (65–67).

Our own sampling and scoring with the official VBench code, not a certified leaderboard entry (21–22 October 2026). The other models’ numbers are published ones, checked on 25 October 2026.

Generator
212M
211.92M, trained from random weights. With the frozen Flan-T5-Base and Wan2.2 VAE decoder, about 877M at inference
Training
15 h
One L40S GPU, 180,080 steps at batch 64, 11.53M clips seen
Cost
≈$21
The release model’s own path: data prep $7.40 plus training $13.76. Everything, failures included: $57.43
Output
2 s
17 frames at 8 fps, 256×256, from a prompt or a prompt plus a first frame

Text-to-video clips from our own prompts of the kind it does well, at the default settings, each shown at its real size and looped. Two seeds per prompt, nothing else picked, so you see the weaker take too.

  • “Ocean waves rolling onto a sandy beach on a sunny day, blue sky with white clouds, the camera is static.”

    Seeds 0 and 1

  • “Sunset time lapse at the beach with moving clouds and orange colors in the sky.”

    Seeds 0 and 1

  • “Snow-covered mountain peaks under a blue sky, clouds drifting slowly past the summit.”

    Seeds 0 and 1

  • “Ocean waves crashing against a rocky cliff, white foam and spray, aerial view.”

    Seeds 0 and 1

  • “A sailboat sailing on the open sea on a sunny day, gentle waves.”

    Seeds 0 and 1

From a photo

Give it a photo and a prompt and the photo becomes the first frame; the prompt says what should move. Three public-domain photos, seed 0, default settings. Later frames lose detail and the motion is small, as it is from text. The in-browser version at the top of this page does both: add a photo there to animate it.

  • A photo of a big white cloud over trees and dry grass
    Photo
    Clip

    “A large white cloud drifting slowly over a grassy field with trees, summer day, gentle wind.”

  • A photo of a small ruined stone building and a bare tree in a green field
    Photo
    Clip

    “An old stone building in a green field, clouds drifting across a blue sky, the grass moving in the wind.”

  • A photo of a park with trees, a lake and paths seen from above
    Photo
    Clip

    “A view over a park with a lake surrounded by trees, clouds moving slowly across the sky.”

Photos: public domain / CC0 (PD12M).

Where it breaks

The blooper reel: prompts that ask for two things, a layout or written words, with the same settings and the same two seeds. It almost never draws two named objects (VBench multiple objects 2.9%). Here the cat and the dog merge, the cup and the book never appear, and HELLO never gets written.

  • “A cat and a dog sitting together on a red sofa”

    Seeds 0 and 1

  • “A red cup to the left of a blue book on a wooden table”

    Seeds 0 and 1

  • “A person writing the word HELLO on a whiteboard”

    Seeds 0 and 1

More in where it falls short.

How it compares

VBench scores a video model on many separate things. Quality asks whether the clip looks and moves like a video: steady subjects, smooth motion, no flicker, a good-looking frame. Semantic asks whether it shows what the prompt asked for: the right object, two objects, a colour, a place, an action. The fair peers are the models the VBench team scored at the same 256×256 size and about 2 seconds.

VBench at 256×256, about 2 seconds, higher is better. Video quality: Drishya Tiny (212M generator) 75.59, ModelScope T2V (1.7B system) 78.05, VideoCrafter-0.9 74.91, InstructVideo 81.56. Prompt-following (semantic): Drishya Tiny 32.26, ModelScope T2V 66.54, VideoCrafter-0.9 65.46, InstructVideo 56.81. Drishya Tiny is our own sampling and scoring with the official VBench code, not a certified leaderboard entry; the others are published numbers.
VBench text-to-video scores, higher is better
ModelSize and lineageTotalQualitySemantic
Drishya Tiny212M generator (from scratch)66.9275.5932.26
ModelScope T2V1.7B system (UNet ≈ 1.35B), from SD 2.175.7578.0566.54
VideoCrafter-0.9Not stated; spatial layers from SD73.0274.9165.46
InstructVideoA reward fine-tune of ModelScope76.6181.5656.81

Drishya Tiny: our own sampling and scoring with the official VBench code (commit fd18b3d055cb), not a certified leaderboard entry; 946 standard prompts × 5 videos, CFG 5, shift 5, 50 Euler steps; 21–22 October 2026. The other rows are published numbers: the VBench team’s own sampling and scoring at 256×256 and 16 frames, checked against the official leaderboard on 25 October 2026. Every peer has Stable Diffusion in its lineage.

Every VBench dimension

The split is sharp. It is smooth, steady and colourful, and it really moves (dynamic degree 80.56). It rarely puts the asked-for things in the clip, and almost never two of them.

Quality · %
Subject consistency87.54
Background consistency94.52
Temporal flickering98.78
Motion smoothness96.87
Dynamic degree80.56
Aesthetic quality34.77
Imaging quality51.49
Semantic · %
Object class24.97
Multiple objects2.91
Human action20.00
Colour84.39
Spatial relationship6.03
Scene6.03
Appearance style20.40
Temporal style12.15
Overall consistency14.53

Image-to-video

Give it a first frame and a prompt and it keeps the frame and animates it. On VBench’s image-to-video suite it is level with VideoCrafter-I2V and behind the two other 256px models.

VBench image-to-video total, higher is better
ModelI2V total
DynamiCrafter-25685.25
ConsistI2V84.07
Drishya Tiny82.62
VideoCrafter-I2V82.57

VBench image-to-video total on the 1:1 crops (1,118 images × 5 videos). Drishya Tiny: our own sampling and scoring with the official code, not a certified leaderboard entry; quality 75.00, I2V 90.24. Its 355 crops are byte-identical to the official copy. Others: published numbers, checked 25 October 2026.

Where it falls short

  • Prompt-following is about half the peers’ (VBench semantic 32.3, against about 65–67 for the 1–1.7B 256px peers). It almost never draws two named objects (multiple objects 2.9%), rarely gets spatial relations (6.0%) or named scenes (6.0%), and gets the object class right about a quarter of the time (25.0%).
  • Faces and hands smear. Text melts.
  • Short and small: 2 seconds, 256×256, 8 frames a second. Motion is small.
  • Image-to-video drifts: later frames lose detail and blur over the 2 seconds; faces and text melt.
  • Visual quality is modest: aesthetic 34.8%, imaging 51.5%.
  • Data fixes alone won’t close the gap at this size: our controlled test moved prompt-following by 3–4 points.
  • Not certified: the VBench numbers are our own sampling and scoring.
  • Non-commercial weights: the training clips come from HD-VILA-100M, whose terms allow research use only.
  • It works best on nature and scenery (water, waves, sky, snow, boats, fire); people degrade. That is our impression from picked clips, not a measurement.

How it was trained

  1. 1

    Data

    About 300K clips from VidGen-1M (whose clips come from Microsoft’s HD-VILA-100M), cut into 475,157 two-second windows and encoded once with the Wan2.2 VAE. VidGen-1M’s own captions, read up to 77 tokens. No photos, no synthetic data. 2,048 clips held out for testing, never trained on.

  2. 2

    Model

    A 211.92M diffusion transformer (16 layers, width 768, 12 heads) from random weights. Flan-T5-Base reads the prompt and the Wan2.2 VAE turns the latents into frames; both stay frozen.

  3. 3

    Run

    15 hours on one L40S GPU on 20 October 2026: 180,080 steps at batch 64, rectified flow. A quarter of the steps train image-to-video by replacing the first frame. The recipe is the one Stage 1 tested on skies, unchanged by Stage 2.

  4. 4

    Gate

    A test written before the run, on held-out clips: FVD-2048 235.7, motion 0.73 of real, CLIP gap 78% of real. It passed.

The pre-registered release gate on held-out VidGen-1M clips
CheckResultReference
Text-to-video FVD-2048 (lower is better)235.7Real clips frozen on frame 0: 660.4
Motion, against real clips0.73Rule: 0.5 to 2.0
CLIP gap, own caption minus shuffled20.15Real clips 25.73, so 78% of real
Image-to-video FVD-512240.3Motion 0.89, CLIP gap 23.7

EMA weights, 50 Euler steps, shift 3, CFG 5, on 2,048 held-out clips. Our FVD code matches StyleGAN-V’s official FVD code to a relative 1e-10 on identical frames. CLIP gap uses OpenCLIP ViT-B/32.

What it cost, failures included

The release model’s own path cost about $21: the data step, $7.40 on one RTX 5090 for about 6.2 hours, and the training run, $13.76 on one L40S. Everything we tried to get there cost $57.43 of GPU time, across 55 machine rows, every failed attempt included.

GPU cost per stage
StageGPU costWhat it bought
Day-0 checks (Mac, Colab probe, research)$0.03Is it feasible?
Stage 1: method check on skies$7.14The recipe works
Stage 2: three techniques vs the plain recipe$7.20Keep the plain recipe
Stage 3: data and training of the release model$24.71The release model
Stage 4: sampling sweep and VBench$8.48The evaluation
Stage 5a: three controlled arms and scoring$9.90The data test
Total$57.46$57.43 of GPU plus $0.03 of research on day 0

Not included: the pretraining of the borrowed Wan2.2 VAE and Flan-T5 (not ours), people’s time, electricity and storage. Stages 1–3 are provider bills or rate × time; Stages 4–5a are rate × minutes. For a smaller bill still, MiniDance trained a scenery-only model for even less (about $2).

The model

Generator
211.92M parameters: a video diffusion transformer, width 768, 16 layers, 12 heads, patch 1×2×2; trained from random weights
Text encoder
Flan-T5-Base encoder, 109.63M, frozen; prompts are cut at 77 tokens
Video VAE
Wan2.2 VAE, 704.69M, frozen (the decoder, 555.05M, runs at inference)
At inference
About 877M for text-to-video; about 1.03B for image-to-video, which adds the VAE encoder
Output
17 frames at 8 fps (about 2 s), 256×256
Sampling
50 Euler steps, CFG 5, shift 5 for the VBench numbers
Training data
VidGen-1M clips (from HD-VILA-100M): 475,157 two-second windows; the clips are not redistributed
In the browser
onnxruntime-web (WebGPU, or the CPU), with the TAEW2.2 tiny decoder (MIT, by Ollin Boer Bohan) in place of the Wan2.2 VAE decoder, so clips are softer
Licence
Weights CC BY-NC 4.0; code Apache-2.0

Licence

Weights: CC BY-NC 4.0, for research and other non-commercial use. Code: Apache-2.0. Copyright 2026 Udgam Labs LLP.

The weights are non-commercial because the training clips come from HD-VILA-100M (Microsoft), whose terms allow research use only. We trained on clips from VidGen-1M, which draws on it, and we do not redistribute them: the release lists the clip IDs and the scripts to prepare them. The code is Apache-2.0, so you can train the same recipe on clips you have the rights to. Thank you to the VidGen-1M and HD-VILA-100M authors, to the Wan team for the Wan2.2 VAE, to Google for Flan-T5, to Ollin Boer Bohan for TAEW2.2 (MIT), the tiny decoder the browser version uses, and to the VBench team for an open benchmark.

How to cite

@misc{udgamlabs2026drishyatiny,
  title  = {Drishya Tiny: a 212M video generator trained from scratch with a frozen Wan2.2 VAE and Flan-T5-Base},
  author = {Prasad, Jitesh K},
  year   = {2026},
  howpublished = {Udgam Labs},
  url    = {https://huggingface.co/udgamlabs/Drishya-Tiny}
}