Gaitkit Open the lab
Wyvern, A lean two-legged dragon kin, about 6 m nose to stinger with a 9 m wingspan: the wings are its forelimbs, with a hooked claw at each wrist, the hind legs fold their talons under the belly and a whip tail ends in a barbed stinger. Flies by distance with long, snapping wingbeats, the fingers folding on the upstroke and the tail lashing in an S-wave. Eyes and the venom sac glow at night.
Creature · Flies

Wyvern

A lean two-legged dragon kin, about 6 m nose to stinger with a 9 m wingspan: the wings are its forelimbs, with a hooked claw at each wrist, the hind legs fold their talons under the belly and a whip tail ends in a barbed stinger. Flies by distance with long, snapping wingbeats, the fingers folding on the upstroke and the tail lashing in an S-wave. Eyes and the venom sac glow at night.

Size
10.8 × 2.4 × 9.5 m
Triangles
1,948
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Scales, Crest, Stinger, Size.

Specs

Size
10.8 × 2.4 × 9.5 m
width × height × depth
Triangles
1,948
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
10 m
of travel per cycle
Altitude
4 m
above the ground
Moving parts
13
wing_L · rotate, wing_R · rotate, wingtip_L · rotate, wingtip_R · rotate, tail_0 · rotate, tail_1 · rotate, tail_2 · rotate, tail_3 · rotate, tail_4 · rotate, tail_5 · rotate, neck_0 · rotate, jaw · rotate, body · slide
Knobs
4
3 presets
Night lights
2
eye, venom

Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.

Use it

Code for the specimen as it is set up above; it follows your knobs.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/wyvern.mjs';

const wyvern = createAsset();
scene.add(wyvern);                      // rests on y = 0, front faces +Z

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  wyvern.position.set(0, groundY + wyvern.userData.altitude, dist);
  wyvern.userData.tick(dist);            // wings beat with the distance
  renderer.render(scene, camera);
});

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
scaleschoicemoss venom sand night bloodmossColour family: moss (olive green with khaki wings), venom (purple with a sickly green belly), sand (desert tan), night (blue-black with ice eyes), blood (dark red).
crestchoicehorns frill nonehornsHead crest: horns (two long swept-back horns), frill (a webbed fan of spines behind the skull), none (a smooth, snake-like head).
stingertoggleon / offtrueA barbed venom stinger and a glowing venom sac at the tail tip. Off = a plain tapering tail with a small membrane spade.
sizerange0.3 to 1.6, step 0.051Uniform scale. 1 is about 6 m long with a 9 m wingspan; 0.3 is a hound-sized drakeling; 1.6 is a 10 m terror.

Presets: venom wyvern {"scales":"venom","crest":"frill"} · desert drake {"scales":"sand","crest":"none","stinger":false} · night stalker {"scales":"night","size":1.4}

Files

FileWhat
wyvern.glbGLB, default look · 279 KB
wyvern.mjsES module, every knob live
wyvern.objOBJ, static, no colour
wyvern-params.jsonknob schema, presets, night zones

Licence

Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.