What do you want to see?
Quick guide
Describe what you want. Start simple.
- Rooftop — rain and neon.
- Parking garage — dark and quiet.
- Vecindad — a creepy courtyard.
Want more control? Switch to Scene JSON.
Your video gets a link and shows up below.
At least 3 characters. 0 / 5000 characters
Set the cast, camera and scene directly. JSON skips the prompt step.
Scene limits
Up to 6 characters, 4 props and 16 camera keyframes. Up to 6 captions, each with 2 lines of 40 characters.
Use JSON through the API
Send your scene object as {"scene": {...}}
to POST /api/jobs.
New videos: 5–30 seconds.
Start with a prompt or scene JSON.
Latest videos
Tears in Rain
The original prompt
do the Tears in the rain scene from blade runner, you can speed it up a bit but dont limit yourself to 5 seconds. generate additional appropriate textures that go as close as possible to the movie with clear quake influences (e.g. skies can be the purple type skies in the quake fortress levels). surprise me.Open video
La Vecindad
Made from scene JSON
A tour of the vecindad. Characters, lights and camera moves, defined in JSON.
Inspect scene JSON
{
"template": "vecindad",
"duration_s": 30,
"frame": {
"w": 480,
"h": 200,
"pixel": 1,
"out_scale": 4,
"text_scale": 1.5
},
"fade_in": 1.5,
"fade_out": 2.5,
"env": {
"fog": [
0.02,
0.03,
0.06,
0.06
],
"caption_pad": 8
},
"lights": [
{
"pos": [
-200,
-140,
70
],
"light": 200,
"color": [
0.4,
1,
0.3
]
}
],
"actors": [
{
"id": "chavo",
"model": "chavo",
"pos": [
-250,
-170,
24
],
"yaw": 45,
"anims": [
{
"t": 0,
"clip": "in_barrel"
}
]
},
{
"id": "ramon",
"model": "ramon",
"pos": [
-296,
-150,
24
],
"anims": [
{
"t": 0,
"clip": "idle"
},
{
"t": 9,
"clip": "head_tilt",
"loop": false
}
]
},
{
"id": "florinda",
"model": "florinda",
"pos": [
296,
80,
24
],
"yaw": 180,
"anims": [
{
"t": 0,
"clip": "idle"
},
{
"t": 13,
"clip": "head_tilt",
"loop": false
}
]
},
{
"id": "chili",
"model": "chilindrina",
"pos": [
-120,
120,
24
],
"anims": [
{
"t": 0,
"clip": "walk"
},
{
"t": 20,
"clip": "head_tilt",
"loop": false
}
],
"path": [
{
"t": 0,
"pos": [
-120,
120,
24
],
"yaw": 0
},
{
"t": 20,
"pos": [
140,
-40,
24
],
"yaw": -30,
"ease": true
}
]
},
{
"id": "popis",
"model": "popis",
"pos": [
-298,
90,
94
],
"anims": [
{
"t": 0,
"clip": "idle"
},
{
"t": 17,
"clip": "head_tilt",
"loop": false
}
]
},
{
"id": "kiko",
"model": "kiko",
"pos": [
200,
-90,
24
],
"yaw": 180,
"anims": [
{
"t": 0,
"clip": "idle"
},
{
"t": 22,
"clip": "head_tilt",
"loop": false
}
]
}
],
"props": [
{
"id": "barrel",
"model": "barrel",
"pos": [
-250,
-170,
24
]
}
],
"fx": [],
"camera": {
"keys": [
{
"t": 0,
"pos": [
0,
-205,
180
],
"look_at": [
0,
60,
20
],
"fov": 90
},
{
"t": 6,
"pos": [
60,
-150,
120
],
"look_at": [
-200,
-60,
30
],
"fov": 80,
"ease": true
},
{
"t": 6.01,
"pos": [
-190,
-120,
50
],
"look_at": [
-250,
-170,
30
],
"fov": 55,
"cut": true,
"sway": 1
},
{
"t": 9,
"pos": [
-200,
-110,
50
],
"look_at": [
-280,
-150,
50
],
"fov": 50,
"sway": 1
},
{
"t": 12,
"pos": [
-210,
-120,
54
],
"look_at": [
-296,
-150,
58
],
"fov": 40,
"sway": 1
},
{
"t": 12.01,
"pos": [
220,
90,
60
],
"look_at": [
296,
80,
60
],
"fov": 45,
"cut": true,
"sway": 1
},
{
"t": 16,
"pos": [
230,
70,
64
],
"look_at": [
296,
80,
64
],
"fov": 38,
"sway": 1
},
{
"t": 16.01,
"pos": [
-200,
40,
130
],
"look_at": [
-298,
90,
120
],
"fov": 50,
"cut": true,
"sway": 1
},
{
"t": 20,
"pos": [
-150,
0,
100
],
"look_at": [
0,
0,
0
],
"fov": 60,
"track": "chili",
"sway": 1
},
{
"t": 20.01,
"pos": [
140,
-60,
50
],
"look_at": [
200,
-90,
50
],
"fov": 45,
"cut": true,
"sway": 1
},
{
"t": 25,
"pos": [
150,
-70,
52
],
"look_at": [
200,
-90,
52
],
"fov": 36,
"sway": 1
},
{
"t": 25.01,
"pos": [
0,
-200,
200
],
"look_at": [
0,
40,
0
],
"fov": 95,
"cut": true
},
{
"t": 30,
"pos": [
0,
-180,
230
],
"look_at": [
0,
40,
0
],
"fov": 95,
"ease": true
}
]
},
"text": [
{
"t": 2,
"duration": 3.5,
"msg": "LA VECINDAD"
},
{
"t": 26,
"duration": 3,
"msg": "FUE SIN QUERER QUERIENDO"
}
],
"score": {
"flashes": [],
"booms": [],
"time_scale": 0.39473684210526316
}
}