Skip to main content

armature

You block the shot. The model shoots it.

A video model can produce motion, light and life that no renderer can. It cannot be told who is on screen and where they are standing. armature supplies exactly that: a canonical character mesh is staged and animated in headless Blender, and the render becomes a per-frame control sequence the video model must obey — so AI-generated video can carry one persistent main character whose position and pose are known every frame.

armature is image-to-video with a GLB instead of an image. Everything spatial is authored, and the model paints life over it. The deliverable is footage — film, cutscenes, character poses and movement, any shot at all. A game is one consumer of that footage, never the boundary of the tool.

Install

pip install armature-studio
armature check

What this package is

The installable package is armature_core — the measured pieces of the pipeline, every one of which imports under a plain CPython:

  • Gates that raise. gates, route_gates, rig_gates, donor_gate — predicates that refuse a bad step inside the tool performing it, rather than warning beside it.
  • Framing and turnaround. framing, turnaround, startframe — perspective and orthographic camera solves, shared-scale shot-sets, silhouette extent, and the frame-clearance checks that refuse a cropped subject.
  • Control channels. channels, openpose, aapose, landmarks, lift_solve — channel maths and pose conventions for driving a video model.
  • Rig and mesh. joints, binding, parts, posearc, walk, glb.
  • Contracts and records. shotspec, subject, sitelist, assembly, clipstats, clipcompare, pngio, errors.
from armature_core import turnaround, framing

plan = turnaround.projection_plan(ortho=True, ortho_scale=1.1235359256161628)

What this package is not

The rendering scripts are not console entry points, deliberately. render_turnaround.py, stage_render.py and their siblings run inside Blender's own interpreter:

blender -b -P tools/render_turnaround.py -- --glb subject.glb --out renders --ortho

A console script installed on your Python could not import bpy and would fail on its first line, so shipping one would be a promise the package cannot keep. Those scripts live in the repository, where the invocation that works is the one written down.

armature_core.blender_scene is the single module that imports bpy. It is packaged, and it resolves only under Blender — armature check reports it as needs-blender rather than as a defect.

The discipline this comes from

armature is an experiment repository whose product is its record: a spec before the work, a report after, a ruling last, and the Director's eye as the verdict of record. Metrics are diagnostics and gate nothing on their own. Every generation records its model, payload, seed and control hashes, because a recipe that does not reproduce its output is not a recipe. No non-commercially-licensed model, weight or dependency enters the pipeline — anywhere, including experiments.

Requirements

Python 3.10+ and numpy. Blender 5.x is required only for the rendering scripts in the repository, not for this package.

License

MIT.

Metadata

Release files for armature-studio 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for armature-studio 0.4.0
File Size Uploaded
armature_studio-0.4.0.tar.gz 402.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for armature-studio 0.4.0
File Interpreter ABI Platform
armature_studio-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 813.6 kB

Release files / armature_studio-0.4.0.tar.gz

Download URL armature_studio-0.4.0.tar.gz
Size 402.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f2deddf3ce6014c4c7db4ee02276488eaac6bb3d84d768a8d3003d0117a0bfef
BLAKE2b-256 checksum
How to use checksums
db60673d0c4a9f8c20f0e1fa68fd70b19e7673c648abbb240e8e94729de9cbf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release files / armature_studio-0.4.0-py3-none-any.whl

Download URL armature_studio-0.4.0-py3-none-any.whl
Size 411.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2f695a03d15b1cf3ee04419557dc282542d456baa3a3ee41ba34e106c26e2df
BLAKE2b-256 checksum
How to use checksums
69a8f496ca132b632279cdd1583ddc4380c5c07dbc88e31a5979982cb33c0ba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page