Headless 3D and VFX engine for agents. Research preview.
翻訳待ち
Loading the full README.
Read the full README ↗vork is a 3D and VFX engine built for AI agents.
Agents write the whole scene as code, including their own shaders, materials, cameras and physics, and vork renders it on the GPU. The core API fits in about 2,500 tokens.
https://github.com/user-attachments/assets/03cfa020-be40-483a-89af-1ef77467b7a0
One million birds, each on its own path. 192 frames at 1080p rendered in 97 seconds on a single NVIDIA L4. Blender EEVEE at the same sample count is projected at 13–18 minutes. How we measured · how it's made · credits
Install vork, then paste:
Run
vork init my-shot, readvork help, render a preview and inspect the image. Refine the camera and lighting before rendering at final quality. Read the relevant help topic when you need a feature the first page doesn't explain.
vork is written in Rust and Slang, with GPU rendering through Vulkan and Metal. An agent writes a scene, renders it, looks at the result and revises the code. There is no editor to drive.
Most creative tools expose controls that a person can operate. An agent can also write a shader in the middle of a shot. vork gives it geometry, ray queries and GPU execution, then lets scene programs define materials, cameras, light propagation, simulation and compositing. Ordinary shots need only scene data; the programming hooks are there when the shot needs something unusual.
Source-available and free during the research preview.
After installing vork, create a working project:
vork init my-shot
cd my-shot
vork render scene.json --out render.png
vork help
Open render.png, change a colour or camera position in scene.json, and render
again. The starter uses only bundled sphere, box and grid primitives: no downloads,
no GPU needed to initialize. Use vork init my-shot --language typescript or
--language python for editable scene.ts or scene.py alongside the ready-to-render
JSON. The generated README explains regeneration and SDK requirements. Existing
files are never overwritten. The default std/final profile is warmed by setup; use --profile std/draft for quicker previews.
The examples include code, preparation commands and credits. Large downloaded assets and footage stay outside Git; the recipes fetch them or accept a local path. The images here are stills from these shots. Keep each credit with its image.
A million simulated agents steered by Slang compute programs, with a camera skimming through the flock. The camera and nine foreground birds are authored; the simulated million do not flap. The bird stills above come from the measured four-sample, denoised skim and reveal movies.
Credit: based on "Crow" by Alexei Ostapenko, CC BY 4.0. Changes: sampled flight pose, reduced distant mesh, rescaled, articulated flight wings, extracted wings for the starling body, resized textures. All bird and environment credits.
Watch the film: a car drives into the night as the forest turns into glowing cyan wireframe, drawn from real triangle edges by a scene shader.
Credit: “Car Concept” by Unity Fan, glTF adaptation by Eric Chadwick / Darmstadt Graphics Group, CC BY 4.0. Changes: scaled, animated, brighter head and tail lights, wheel pose. Trees, ground and asphalt from Poly Haven (CC0). The far mountains and sky are an image-model painting on a curved 3D card; everything else that moves is rendered.
| Original footage | Tracked camera and proxy geometry | Final look |
|---|---|---|
A procedural ceramic-and-bronze seed, a tracked camera, occlusion mattes and proxy geometry for relighting. The example teaches the base composite; the final look adds later relighting and wipes. Real footage + rendered 3D; no generative video.
Credit: footage by Ron Lach / Pexels, modified under the Pexels Licence. Original performer; no endorsement implied. Source and preparation.
A suspended neon seed and blade sign added to a moving shot of an empty alley at night, with spill on the wall and reflections in the wet street. Real footage + rendered 3D; no generative video.
This is the beginning of the README. Read the rest at the original. Read the full README ↗