SAVRN
Search Contact SAVRN

Open-weight model · Image to image

MadStickArt

by Danger Room danger-room/MadStickArt

MadStickArt is an open-weight model for image to image from Danger Room, released under Apache License 2.0. It has 61,296 parameters. At 16-bit it needs about 0 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 151 downloads a month.

MadStickArt is a trained, 61,296-parameter neural raster decoder for stick-figure storyboard scenes. It reconstructs 956 × 400 grayscale frames from four explicit layout masks: actors, setting, props, and motion. Its output contract is 2.39:1.

Parameters61,296
Context—
Weights2.1 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads151

Runs On

What it takes to serve MadStickArt (61,296 parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 12, 2026.

MadStickArt on every accelerator the SAVRN Index prices, at every precision

Model Card

By Danger Room, published under apache-2.0, revision 5a2a43985c97.

MadStickArt v0.8.0

MadStickArt is a trained, 61,296-parameter neural raster decoder for stick-figure storyboard scenes. It reconstructs 956 × 400 grayscale frames from four explicit layout masks: actors, setting, props, and motion. Its output contract is 2.39:1.

Try MadStickArt online → — the browser trial is deployed separately. Its deployed model/version and renderer are recorded in the Space's model-provenance.json. The renderer included with this release supports 186 settings and 320 props; the deployed trial has its own model and renderer pins and is updated through a separate reviewed stage. Browser suggestions use transparent rules, while Strands decisions run in the downloadable Python pipeline.

The Python pipeline handles structured scene decisions and procedural composition. Strands Decider fills missing controls; explicit user controls and placement remain authoritative. The procedural renderer lays out geometry, and the trained neural decoder rasterizes that layout. This model does not generate story text or choose scene composition from pixels.

Read the full model card (1,267 words)

Configuration

Architecture
StickRasterDecoder
Model type
madstick-raster

Identity and Version

Repository
danger-room/MadStickArt
Publisher
Danger Room
Task
Image to image
Modality
Image
Library
pytorch
Parameters
61,296 parameters
Languages
en
Revision
5a2a43985c9785cd5ea82c5b262a6ae693a95d64
First published
2026-10-06
Last updated
2026-10-11

Files and Weights

401 files, 130.1 MB in total. The weights are 2 files totalling 2.1 MB in pt, safetensors.

Weights2 files · 2.1 MB
Configuration382 files · 76.0 MB
Documentation4 files · 25.2 KB
Other11 files · 51.9 MB
Repository2 files · 2.2 KB
Every file
FileTypeSizeSHA-256
best.ptWeights1.9 MB dc3b414f4041
model.safetensorsWeights246.7 KB 49486d826f30
config.jsonConfiguration2.6 MB —
examples/scene.jsonConfiguration873 B —
madstick/__init__.pyConfiguration81 B —
madstick/assets.pyConfiguration116.4 KB —
madstick/augmentation.pyConfiguration33.2 KB —
madstick/benchmark.pyConfiguration9.0 KB —
madstick/cli.pyConfiguration9.1 KB —
madstick/data.pyConfiguration64.7 KB —
madstick/decider.pyConfiguration32.6 KB —
madstick/evaluation.pyConfiguration4.5 KB —
madstick/hub.pyConfiguration8.4 KB —
madstick/loop10_accessible_ferry_assets.pyConfiguration14.6 KB —
madstick/loop10_airport_assets.pyConfiguration8.3 KB —
madstick/loop10_tactile_bus_assets.pyConfiguration13.5 KB —
madstick/loop11_clinic_assets.pyConfiguration15.0 KB —
madstick/loop11_paddler_assets.pyConfiguration11.4 KB —
madstick/loop11_playground_assets.pyConfiguration12.9 KB —
madstick/loop12_bus_assets.pyConfiguration11.1 KB —
madstick/loop12_counter_assets.pyConfiguration9.6 KB —
madstick/loop12_sanitation_assets.pyConfiguration12.1 KB —
madstick/loop13_courthouse_assets.pyConfiguration12.2 KB —
madstick/loop13_nurse_assets.pyConfiguration15.6 KB —
madstick/loop13_postal_assets.pyConfiguration10.7 KB —
madstick/loop14_bridge_assets.pyConfiguration10.7 KB —
madstick/loop14_garden_assets.pyConfiguration12.3 KB —
madstick/loop14_kitchen_assets.pyConfiguration11.9 KB —
madstick/loop15_bench_assets.pyConfiguration9.7 KB —
madstick/loop15_election_assets.pyConfiguration10.7 KB —
madstick/loop15_utility_assets.pyConfiguration12.8 KB —
madstick/loop2_coast_assets.pyConfiguration9.6 KB —
madstick/loop2_mountain_assets.pyConfiguration3.9 KB —
madstick/loop2_shelter_assets.pyConfiguration7.0 KB —
madstick/loop3_blackout_assets.pyConfiguration6.1 KB —
madstick/loop3_restaurant_assets.pyConfiguration7.1 KB —
madstick/loop3_transit_assets.pyConfiguration7.2 KB —
madstick/loop4_carpenter_assets.pyConfiguration7.3 KB —
madstick/loop4_plumber_assets.pyConfiguration7.3 KB —
madstick/loop4_rural_assets.pyConfiguration7.6 KB —
madstick/loop5_electrician_assets.pyConfiguration7.8 KB —
madstick/loop5_farmer_assets.pyConfiguration10.4 KB —
madstick/loop5_roofer_assets.pyConfiguration7.6 KB —
madstick/loop6_baker_assets.pyConfiguration9.6 KB —
madstick/loop6_beekeeper_assets.pyConfiguration10.1 KB —
madstick/loop6_tailor_assets.pyConfiguration11.3 KB —
madstick/loop7_bicycle_assets.pyConfiguration12.9 KB —
madstick/loop7_dock_assets.pyConfiguration11.4 KB —
madstick/loop7_road_assets.pyConfiguration15.2 KB —
madstick/loop8_ferry_assets.pyConfiguration12.5 KB —
madstick/loop8_innkeeper_assets.pyConfiguration9.5 KB —
madstick/loop8_layout.pyConfiguration7.0 KB —
madstick/loop8_train_assets.pyConfiguration5.0 KB —
madstick/loop9_campers_assets.pyConfiguration8.4 KB —
madstick/loop9_city_assets.pyConfiguration10.6 KB —
madstick/loop9_desert_assets.pyConfiguration16.5 KB —
madstick/model.pyConfiguration7.4 KB —
madstick/pipeline.pyConfiguration10.4 KB —
madstick/prop_layout.pyConfiguration21.3 KB —
madstick/render.pyConfiguration15.6 KB —
madstick/schema.pyConfiguration6.7 KB —
madstick/train.pyConfiguration45.3 KB —
main.pyConfiguration69 B —
release-manifest.jsonConfiguration69.8 KB —
reports/accumulated-quality.jsonConfiguration362.1 KB —
reports/asset-library-v0.19.0.jsonConfiguration151.9 KB —
reports/benchmark-accumulated-v08-retained-balance.pyConfiguration3.0 KB —
reports/benchmark-output-validation.jsonConfiguration162.8 KB —
reports/benchmark.jsonConfiguration321.3 KB —
reports/camera-coverage-index.jsonConfiguration2.3 KB —
reports/catalog-audit.jsonConfiguration63.1 KB —
reports/component-versions.jsonConfiguration2.7 MB —
reports/dataset-validation.jsonConfiguration47.9 KB —
reports/dataset.jsonConfiguration983.9 KB —
reports/derivation/original-primary/dataset.jsonConfiguration983.6 KB —
reports/derivation/original-primary/generation-inputs.jsonConfiguration936.5 KB —
reports/derivation/original-primary/independent-review.jsonConfiguration41.5 KB —
reports/derivation/original-primary/source/madstick/assets.pyConfiguration116.4 KB —
reports/derivation/original-primary/source/madstick/augmentation.pyConfiguration33.2 KB —
reports/derivation/original-primary/source/madstick/data.pyConfiguration64.7 KB —
reports/derivation/original-primary/source/madstick/loop10_accessible_ferry_assets.pyConfiguration14.6 KB —
reports/derivation/original-primary/source/madstick/loop10_airport_assets.pyConfiguration8.3 KB —
reports/derivation/original-primary/source/madstick/loop10_tactile_bus_assets.pyConfiguration13.5 KB —
reports/derivation/original-primary/source/madstick/loop11_clinic_assets.pyConfiguration15.0 KB —
reports/derivation/original-primary/source/madstick/loop11_paddler_assets.pyConfiguration11.4 KB —
reports/derivation/original-primary/source/madstick/loop11_playground_assets.pyConfiguration12.9 KB —
reports/derivation/original-primary/source/madstick/loop12_bus_assets.pyConfiguration11.1 KB —
reports/derivation/original-primary/source/madstick/loop12_counter_assets.pyConfiguration9.6 KB —
reports/derivation/original-primary/source/madstick/loop12_sanitation_assets.pyConfiguration12.1 KB —
reports/derivation/original-primary/source/madstick/loop13_courthouse_assets.pyConfiguration12.2 KB —
reports/derivation/original-primary/source/madstick/loop13_nurse_assets.pyConfiguration15.6 KB —
reports/derivation/original-primary/source/madstick/loop13_postal_assets.pyConfiguration10.7 KB —
reports/derivation/original-primary/source/madstick/loop14_bridge_assets.pyConfiguration10.7 KB —
reports/derivation/original-primary/source/madstick/loop14_garden_assets.pyConfiguration12.3 KB —
reports/derivation/original-primary/source/madstick/loop14_kitchen_assets.pyConfiguration11.9 KB —
reports/derivation/original-primary/source/madstick/loop15_bench_assets.pyConfiguration9.7 KB —
reports/derivation/original-primary/source/madstick/loop15_election_assets.pyConfiguration10.7 KB —
reports/derivation/original-primary/source/madstick/loop15_utility_assets.pyConfiguration12.8 KB —
reports/derivation/original-primary/source/madstick/loop2_coast_assets.pyConfiguration9.6 KB —
reports/derivation/original-primary/source/madstick/loop2_mountain_assets.pyConfiguration3.9 KB —
reports/derivation/original-primary/source/madstick/loop2_shelter_assets.pyConfiguration7.0 KB —
reports/derivation/original-primary/source/madstick/loop3_blackout_assets.pyConfiguration6.1 KB —
reports/derivation/original-primary/source/madstick/loop3_restaurant_assets.pyConfiguration7.1 KB —
reports/derivation/original-primary/source/madstick/loop3_transit_assets.pyConfiguration7.2 KB —
reports/derivation/original-primary/source/madstick/loop4_carpenter_assets.pyConfiguration7.3 KB —
reports/derivation/original-primary/source/madstick/loop4_plumber_assets.pyConfiguration7.3 KB —
reports/derivation/original-primary/source/madstick/loop4_rural_assets.pyConfiguration7.6 KB —
reports/derivation/original-primary/source/madstick/loop5_electrician_assets.pyConfiguration7.8 KB —
reports/derivation/original-primary/source/madstick/loop5_farmer_assets.pyConfiguration10.4 KB —
reports/derivation/original-primary/source/madstick/loop5_roofer_assets.pyConfiguration7.6 KB —
reports/derivation/original-primary/source/madstick/loop6_baker_assets.pyConfiguration9.6 KB —
reports/derivation/original-primary/source/madstick/loop6_beekeeper_assets.pyConfiguration10.1 KB —
reports/derivation/original-primary/source/madstick/loop6_tailor_assets.pyConfiguration11.3 KB —
reports/derivation/original-primary/source/madstick/loop7_bicycle_assets.pyConfiguration12.9 KB —
reports/derivation/original-primary/source/madstick/loop7_dock_assets.pyConfiguration11.4 KB —
reports/derivation/original-primary/source/madstick/loop7_road_assets.pyConfiguration15.2 KB —
reports/derivation/original-primary/source/madstick/loop8_ferry_assets.pyConfiguration12.5 KB —
reports/derivation/original-primary/source/madstick/loop8_innkeeper_assets.pyConfiguration9.5 KB —
reports/derivation/original-primary/source/madstick/loop8_layout.pyConfiguration7.0 KB —
reports/derivation/original-primary/source/madstick/loop8_train_assets.pyConfiguration5.0 KB —
reports/derivation/original-primary/source/madstick/loop9_campers_assets.pyConfiguration8.4 KB —
reports/derivation/original-primary/source/madstick/loop9_city_assets.pyConfiguration10.6 KB —
reports/derivation/original-primary/source/madstick/loop9_desert_assets.pyConfiguration16.5 KB —
reports/derivation/original-primary/source/madstick/pipeline.pyConfiguration10.4 KB —
reports/derivation/original-primary/source/madstick/prop_layout.pyConfiguration21.3 KB —
reports/derivation/original-primary/source/madstick/render.pyConfiguration15.6 KB —
reports/derivation/original-primary/source/madstick/schema.pyConfiguration6.7 KB —
reports/derivation/original-primary/title-registry.jsonConfiguration19.9 KB —
reports/derivation/original-primary/validation.jsonConfiguration47.8 KB —
reports/derivation/original-training-recipe.jsonConfiguration1.9 MB —
reports/derivation/primary-independent-review.jsonConfiguration10.3 KB —
reports/derivation/primary-lineage.jsonConfiguration997.2 KB —
reports/derivation/primary-preservation.jsonConfiguration1.0 MB —
reports/evaluate-accumulated-holdouts.pyConfiguration10.2 KB —
reports/heldout-preview-selection.jsonConfiguration121.6 KB —
reports/holdout-probes.jsonConfiguration39.4 KB —
reports/independent-readiness.jsonConfiguration91.5 KB —
reports/interval-quality.jsonConfiguration56.5 KB —
reports/native-visual-review.jsonConfiguration25.3 KB —
reports/original-scope-diagnostics.jsonConfiguration115.8 KB —
reports/per-source-tradeoffs.jsonConfiguration70.8 KB —
reports/predecessor/accumulated-heldout-quality.jsonConfiguration362.1 KB —
reports/predecessor/model-readiness-hold.jsonConfiguration9.6 KB —
reports/predecessor/training-recipe.jsonConfiguration2.5 MB —
reports/predecessor/training-report.jsonConfiguration2.7 MB —
reports/release-profile-v08-retained-balance.pyConfiguration29.6 KB —
reports/release-profile-v08-rotation-repair.pyConfiguration42.6 KB —
reports/release-profile-v08.pyConfiguration17.3 KB —
reports/replay-summary.jsonConfiguration2.5 MB —
reports/retained-balance/sampling-design-audit.jsonConfiguration8.6 KB —
reports/retained-balance/sampling-policy.jsonConfiguration13.2 KB —
reports/retained-balance/sampling-proposal.jsonConfiguration6.7 KB —
reports/retained-balance/train-validation-diagnosis.jsonConfiguration67.3 KB —
reports/reviewed-input-audit.jsonConfiguration193.4 KB —
reports/rotation-quality.jsonConfiguration60.9 KB —
reports/sources/action-generation-inputs.jsonConfiguration3.9 KB —
reports/sources/action-selection.jsonConfiguration8.7 KB —
reports/sources/action-summary.jsonConfiguration36.9 KB —
reports/sources/action-validation.jsonConfiguration15.7 KB —
reports/sources/dance-generation-inputs.jsonConfiguration5.6 KB —
reports/sources/dance-selection.jsonConfiguration13.3 KB —
reports/sources/dance-summary.jsonConfiguration72.8 KB —
reports/sources/dance-validation.jsonConfiguration18.5 KB —
reports/sources/interval_loop-11-clinic-v1-generation-inputs.jsonConfiguration647.2 KB —
reports/sources/interval_loop-11-clinic-v1-selection.jsonConfiguration20.1 KB —
reports/sources/interval_loop-11-clinic-v1-summary.jsonConfiguration685.6 KB —
reports/sources/interval_loop-11-clinic-v1-validation.jsonConfiguration36.5 KB —
reports/sources/interval_loop-11-paddler-v1-generation-inputs.jsonConfiguration647.2 KB —
reports/sources/interval_loop-11-paddler-v1-selection.jsonConfiguration20.1 KB —
reports/sources/interval_loop-11-paddler-v1-summary.jsonConfiguration685.6 KB —
reports/sources/interval_loop-11-paddler-v1-validation.jsonConfiguration36.5 KB —
reports/sources/interval_loop-11-playground-v1-generation-inputs.jsonConfiguration647.3 KB —
reports/sources/interval_loop-11-playground-v1-selection.jsonConfiguration20.1 KB —
reports/sources/interval_loop-11-playground-v1-summary.jsonConfiguration685.6 KB —
reports/sources/interval_loop-11-playground-v1-validation.jsonConfiguration36.4 KB —
reports/sources/interval_loop-12-bus-v1-generation-inputs.jsonConfiguration716.8 KB —
reports/sources/interval_loop-12-bus-v1-selection.jsonConfiguration20.6 KB —
reports/sources/interval_loop-12-bus-v1-summary.jsonConfiguration756.8 KB —
reports/sources/interval_loop-12-bus-v1-validation.jsonConfiguration38.9 KB —
reports/sources/interval_loop-12-counter-v1-generation-inputs.jsonConfiguration716.8 KB —
reports/sources/interval_loop-12-counter-v1-selection.jsonConfiguration20.6 KB —
reports/sources/interval_loop-12-counter-v1-summary.jsonConfiguration756.9 KB —
reports/sources/interval_loop-12-counter-v1-validation.jsonConfiguration38.9 KB —
reports/sources/interval_loop-12-sanitation-v1-generation-inputs.jsonConfiguration716.9 KB —
reports/sources/interval_loop-12-sanitation-v1-selection.jsonConfiguration20.6 KB —
reports/sources/interval_loop-12-sanitation-v1-summary.jsonConfiguration757.2 KB —
reports/sources/interval_loop-12-sanitation-v1-validation.jsonConfiguration38.9 KB —
reports/sources/interval_loop-13-courthouse-v1-generation-inputs.jsonConfiguration788.2 KB —
reports/sources/interval_loop-13-courthouse-v1-selection.jsonConfiguration21.1 KB —
reports/sources/interval_loop-13-courthouse-v1-summary.jsonConfiguration830.6 KB —
reports/sources/interval_loop-13-courthouse-v1-validation.jsonConfiguration41.7 KB —
reports/sources/interval_loop-13-nurse-v1-generation-inputs.jsonConfiguration788.2 KB —
reports/sources/interval_loop-13-nurse-v1-selection.jsonConfiguration21.1 KB —
reports/sources/interval_loop-13-nurse-v1-summary.jsonConfiguration830.7 KB —
reports/sources/interval_loop-13-nurse-v1-validation.jsonConfiguration41.8 KB —
reports/sources/interval_loop-13-postal-v1-generation-inputs.jsonConfiguration788.2 KB —
reports/sources/interval_loop-13-postal-v1-selection.jsonConfiguration21.1 KB —
reports/sources/interval_loop-13-postal-v1-summary.jsonConfiguration830.6 KB —
reports/sources/interval_loop-13-postal-v1-validation.jsonConfiguration41.8 KB —
reports/sources/interval_loop-14-bridge-v1-generation-inputs.jsonConfiguration861.5 KB —
reports/sources/interval_loop-14-bridge-v1-selection.jsonConfiguration21.7 KB —
reports/sources/interval_loop-14-bridge-v1-summary.jsonConfiguration906.1 KB —
reports/sources/interval_loop-14-bridge-v1-validation.jsonConfiguration44.7 KB —
reports/sources/interval_loop-14-garden-v2-generation-inputs.jsonConfiguration861.5 KB —
reports/sources/interval_loop-14-garden-v2-selection.jsonConfiguration21.7 KB —
reports/sources/interval_loop-14-garden-v2-summary.jsonConfiguration906.2 KB —
reports/sources/interval_loop-14-garden-v2-validation.jsonConfiguration44.7 KB —
reports/sources/interval_loop-14-kitchen-v1-generation-inputs.jsonConfiguration861.5 KB —
reports/sources/interval_loop-14-kitchen-v1-selection.jsonConfiguration21.7 KB —
reports/sources/interval_loop-14-kitchen-v1-summary.jsonConfiguration906.1 KB —
reports/sources/interval_loop-14-kitchen-v1-validation.jsonConfiguration44.7 KB —
reports/sources/interval_loop-15-bench-v1-generation-inputs.jsonConfiguration936.5 KB —
reports/sources/interval_loop-15-bench-v1-selection.jsonConfiguration22.2 KB —
reports/sources/interval_loop-15-bench-v1-summary.jsonConfiguration983.5 KB —
reports/sources/interval_loop-15-bench-v1-validation.jsonConfiguration47.8 KB —
reports/sources/interval_loop-15-election-v2-generation-inputs.jsonConfiguration936.5 KB —
reports/sources/interval_loop-15-election-v2-selection.jsonConfiguration22.2 KB —
reports/sources/interval_loop-15-election-v2-summary.jsonConfiguration983.5 KB —
reports/sources/interval_loop-15-election-v2-validation.jsonConfiguration47.8 KB —
reports/sources/learning-generation-inputs.jsonConfiguration5.6 KB —
reports/sources/learning-selection.jsonConfiguration12.1 KB —
reports/sources/learning-summary.jsonConfiguration69.7 KB —
reports/sources/learning-validation.jsonConfiguration19.6 KB —
reports/sources/legacy-selection.jsonConfiguration7.6 KB —
reports/sources/legacy-summary.jsonConfiguration40.4 KB —
reports/sources/legacy-validation.jsonConfiguration30.8 KB —
reports/sources/music-generation-inputs.jsonConfiguration4.4 KB —
reports/sources/music-selection.jsonConfiguration9.9 KB —
reports/sources/music-summary.jsonConfiguration39.3 KB —
reports/sources/music-validation.jsonConfiguration16.3 KB —
reports/sources/primary-generation-inputs.jsonConfiguration225.0 KB —
reports/sources/primary-selection.jsonConfiguration22.2 KB —
reports/sources/primary-summary.jsonConfiguration983.9 KB —
reports/sources/primary-validation.jsonConfiguration47.9 KB —
reports/sources/retained_loop-1-firefighters-v3-generation-inputs.jsonConfiguration48.5 KB —
reports/sources/retained_loop-1-firefighters-v3-selection.jsonConfiguration14.7 KB —
reports/sources/retained_loop-1-firefighters-v3-summary.jsonConfiguration78.6 KB —
reports/sources/retained_loop-1-firefighters-v3-validation.jsonConfiguration18.8 KB —
reports/sources/retained_loop-1-flood-v3-generation-inputs.jsonConfiguration48.4 KB —
reports/sources/retained_loop-1-flood-v3-selection.jsonConfiguration14.7 KB —
reports/sources/retained_loop-1-flood-v3-summary.jsonConfiguration78.3 KB —
reports/sources/retained_loop-1-flood-v3-validation.jsonConfiguration18.8 KB —
reports/sources/retained_loop-1-paramedics-v2-generation-inputs.jsonConfiguration48.2 KB —
reports/sources/retained_loop-1-paramedics-v2-selection.jsonConfiguration14.7 KB —
reports/sources/retained_loop-1-paramedics-v2-summary.jsonConfiguration78.4 KB —
reports/sources/retained_loop-1-paramedics-v2-validation.jsonConfiguration18.8 KB —
reports/sources/retained_loop-10-airport-v1-generation-inputs.jsonConfiguration579.5 KB —
reports/sources/retained_loop-10-airport-v1-selection.jsonConfiguration19.4 KB —
reports/sources/retained_loop-10-airport-v1-summary.jsonConfiguration616.0 KB —
reports/sources/retained_loop-10-airport-v1-validation.jsonConfiguration34.0 KB —
reports/sources/retained_loop-10-ferry-v1-generation-inputs.jsonConfiguration579.5 KB —
reports/sources/retained_loop-10-ferry-v1-selection.jsonConfiguration19.4 KB —
reports/sources/retained_loop-10-ferry-v1-summary.jsonConfiguration616.1 KB —
reports/sources/retained_loop-10-ferry-v1-validation.jsonConfiguration34.0 KB —
reports/sources/retained_loop-10-tactile-v1-generation-inputs.jsonConfiguration579.5 KB —
reports/sources/retained_loop-10-tactile-v1-selection.jsonConfiguration19.4 KB —
reports/sources/retained_loop-10-tactile-v1-summary.jsonConfiguration615.9 KB —
reports/sources/retained_loop-10-tactile-v1-validation.jsonConfiguration34.0 KB —
reports/sources/retained_loop-2-coast-v1-generation-inputs.jsonConfiguration102.0 KB —
reports/sources/retained_loop-2-coast-v1-selection.jsonConfiguration15.2 KB —
reports/sources/retained_loop-2-coast-v1-summary.jsonConfiguration130.2 KB —
reports/sources/retained_loop-2-coast-v1-validation.jsonConfiguration19.7 KB —
reports/sources/retained_loop-2-mountain-v1-generation-inputs.jsonConfiguration102.0 KB —
reports/sources/retained_loop-2-mountain-v1-selection.jsonConfiguration15.2 KB —
reports/sources/retained_loop-2-mountain-v1-summary.jsonConfiguration130.2 KB —
reports/sources/retained_loop-2-mountain-v1-validation.jsonConfiguration19.7 KB —
reports/sources/retained_loop-2-shelter-v1-generation-inputs.jsonConfiguration102.1 KB —
reports/sources/retained_loop-2-shelter-v1-selection.jsonConfiguration15.2 KB —
reports/sources/retained_loop-2-shelter-v1-summary.jsonConfiguration130.5 KB —
reports/sources/retained_loop-2-shelter-v1-validation.jsonConfiguration19.7 KB —
reports/sources/retained_loop-3-blackout-v2-generation-inputs.jsonConfiguration156.2 KB —
reports/sources/retained_loop-3-blackout-v2-selection.jsonConfiguration15.7 KB —
reports/sources/retained_loop-3-blackout-v2-summary.jsonConfiguration184.0 KB —
reports/sources/retained_loop-3-blackout-v2-validation.jsonConfiguration20.7 KB —
reports/sources/retained_loop-3-restaurant-v2-generation-inputs.jsonConfiguration156.2 KB —
reports/sources/retained_loop-3-restaurant-v2-selection.jsonConfiguration15.7 KB —
reports/sources/retained_loop-3-restaurant-v2-summary.jsonConfiguration184.1 KB —
reports/sources/retained_loop-3-restaurant-v2-validation.jsonConfiguration20.8 KB —
reports/sources/retained_loop-3-transit-v2-generation-inputs.jsonConfiguration156.2 KB —
reports/sources/retained_loop-3-transit-v2-selection.jsonConfiguration15.7 KB —
reports/sources/retained_loop-3-transit-v2-summary.jsonConfiguration184.1 KB —
reports/sources/retained_loop-3-transit-v2-validation.jsonConfiguration20.7 KB —
reports/sources/retained_loop-4-carpenter-v2-generation-inputs.jsonConfiguration211.6 KB —
reports/sources/retained_loop-4-carpenter-v2-selection.jsonConfiguration16.2 KB —
reports/sources/retained_loop-4-carpenter-v2-summary.jsonConfiguration239.8 KB —
reports/sources/retained_loop-4-carpenter-v2-validation.jsonConfiguration22.0 KB —
reports/sources/retained_loop-4-plumber-v2-generation-inputs.jsonConfiguration211.6 KB —
reports/sources/retained_loop-4-plumber-v2-selection.jsonConfiguration16.2 KB —
reports/sources/retained_loop-4-plumber-v2-summary.jsonConfiguration239.7 KB —
reports/sources/retained_loop-4-plumber-v2-validation.jsonConfiguration22.0 KB —
reports/sources/retained_loop-4-rural-v2-generation-inputs.jsonConfiguration211.6 KB —
reports/sources/retained_loop-4-rural-v2-selection.jsonConfiguration16.2 KB —
reports/sources/retained_loop-4-rural-v2-summary.jsonConfiguration239.8 KB —
reports/sources/retained_loop-4-rural-v2-validation.jsonConfiguration22.0 KB —
reports/sources/retained_loop-5-electrician-v2-generation-inputs.jsonConfiguration268.4 KB —
reports/sources/retained_loop-5-electrician-v2-selection.jsonConfiguration16.7 KB —
reports/sources/retained_loop-5-electrician-v2-summary.jsonConfiguration297.7 KB —
reports/sources/retained_loop-5-electrician-v2-validation.jsonConfiguration23.8 KB —
reports/sources/retained_loop-5-farmer-v2-generation-inputs.jsonConfiguration268.4 KB —
reports/sources/retained_loop-5-farmer-v2-selection.jsonConfiguration16.7 KB —
reports/sources/retained_loop-5-farmer-v2-summary.jsonConfiguration297.8 KB —
reports/sources/retained_loop-5-farmer-v2-validation.jsonConfiguration23.8 KB —
reports/sources/retained_loop-5-roofer-v3-generation-inputs.jsonConfiguration268.4 KB —
reports/sources/retained_loop-5-roofer-v3-selection.jsonConfiguration16.7 KB —
reports/sources/retained_loop-5-roofer-v3-summary.jsonConfiguration297.8 KB —
reports/sources/retained_loop-5-roofer-v3-validation.jsonConfiguration23.8 KB —
reports/sources/retained_loop-6-baker-v1-generation-inputs.jsonConfiguration327.0 KB —
reports/sources/retained_loop-6-baker-v1-selection.jsonConfiguration17.2 KB —
reports/sources/retained_loop-6-baker-v1-summary.jsonConfiguration357.7 KB —
reports/sources/retained_loop-6-baker-v1-validation.jsonConfiguration25.8 KB —
reports/sources/retained_loop-6-beekeeper-v1-generation-inputs.jsonConfiguration327.0 KB —
reports/sources/retained_loop-6-beekeeper-v1-selection.jsonConfiguration17.2 KB —
reports/sources/retained_loop-6-beekeeper-v1-summary.jsonConfiguration357.8 KB —
reports/sources/retained_loop-6-beekeeper-v1-validation.jsonConfiguration25.8 KB —
reports/sources/retained_loop-6-tailor-v1-generation-inputs.jsonConfiguration327.0 KB —
reports/sources/retained_loop-6-tailor-v1-selection.jsonConfiguration17.3 KB —
reports/sources/retained_loop-6-tailor-v1-summary.jsonConfiguration357.8 KB —
reports/sources/retained_loop-6-tailor-v1-validation.jsonConfiguration25.8 KB —
reports/sources/retained_loop-7-bicycle-v2-generation-inputs.jsonConfiguration387.4 KB —
reports/sources/retained_loop-7-bicycle-v2-selection.jsonConfiguration17.8 KB —
reports/sources/retained_loop-7-bicycle-v2-summary.jsonConfiguration420.1 KB —
reports/sources/retained_loop-7-bicycle-v2-validation.jsonConfiguration28.3 KB —
reports/sources/retained_loop-7-dock-v2-generation-inputs.jsonConfiguration387.4 KB —
reports/sources/retained_loop-7-dock-v2-selection.jsonConfiguration17.8 KB —
reports/sources/retained_loop-7-dock-v2-summary.jsonConfiguration420.1 KB —
reports/sources/retained_loop-7-dock-v2-validation.jsonConfiguration28.3 KB —
reports/sources/retained_loop-7-road-v2-generation-inputs.jsonConfiguration387.4 KB —
reports/sources/retained_loop-7-road-v2-selection.jsonConfiguration17.8 KB —
reports/sources/retained_loop-7-road-v2-summary.jsonConfiguration420.2 KB —
reports/sources/retained_loop-7-road-v2-validation.jsonConfiguration28.4 KB —
reports/sources/retained_loop-8-ferry-v5-generation-inputs.jsonConfiguration449.6 KB —
reports/sources/retained_loop-8-ferry-v5-selection.jsonConfiguration18.3 KB —
reports/sources/retained_loop-8-ferry-v5-summary.jsonConfiguration483.3 KB —
reports/sources/retained_loop-8-ferry-v5-validation.jsonConfiguration29.9 KB —
reports/sources/retained_loop-8-innkeeper-v4-generation-inputs.jsonConfiguration449.7 KB —
reports/sources/retained_loop-8-innkeeper-v4-selection.jsonConfiguration18.3 KB —
reports/sources/retained_loop-8-innkeeper-v4-summary.jsonConfiguration483.3 KB —
reports/sources/retained_loop-8-innkeeper-v4-validation.jsonConfiguration29.9 KB —
reports/sources/retained_loop-8-train-v4-generation-inputs.jsonConfiguration449.6 KB —
reports/sources/retained_loop-8-train-v4-selection.jsonConfiguration18.3 KB —
reports/sources/retained_loop-8-train-v4-summary.jsonConfiguration483.1 KB —
reports/sources/retained_loop-8-train-v4-validation.jsonConfiguration29.9 KB —
reports/sources/retained_loop-9-campers-v1-generation-inputs.jsonConfiguration513.6 KB —
reports/sources/retained_loop-9-campers-v1-selection.jsonConfiguration18.8 KB —
reports/sources/retained_loop-9-campers-v1-summary.jsonConfiguration548.3 KB —
reports/sources/retained_loop-9-campers-v1-validation.jsonConfiguration31.6 KB —
reports/sources/retained_loop-9-city-v1-generation-inputs.jsonConfiguration513.6 KB —
reports/sources/retained_loop-9-city-v1-selection.jsonConfiguration18.9 KB —
reports/sources/retained_loop-9-city-v1-summary.jsonConfiguration548.4 KB —
reports/sources/retained_loop-9-city-v1-validation.jsonConfiguration31.7 KB —
reports/sources/retained_loop-9-desert-v1-generation-inputs.jsonConfiguration513.6 KB —
reports/sources/retained_loop-9-desert-v1-selection.jsonConfiguration18.9 KB —
reports/sources/retained_loop-9-desert-v1-summary.jsonConfiguration548.3 KB —
reports/sources/retained_loop-9-desert-v1-validation.jsonConfiguration31.6 KB —
reports/sources/retained_release_v0.5-generation-inputs.jsonConfiguration1.6 KB —
reports/sources/retained_release_v0.5-selection.jsonConfiguration7.6 KB —
reports/sources/retained_release_v0.5-summary.jsonConfiguration42.1 KB —
reports/sources/retained_release_v0.5-validation.jsonConfiguration30.0 KB —
reports/sources/sports-generation-inputs.jsonConfiguration4.4 KB —
reports/sources/sports-selection.jsonConfiguration9.8 KB —
reports/sources/sports-summary.jsonConfiguration39.5 KB —
reports/sources/sports-validation.jsonConfiguration16.4 KB —
reports/teacher-source-freeze.jsonConfiguration951.4 KB —
reports/training-recipe.jsonConfiguration2.5 MB —
reports/training-report.jsonConfiguration2.8 MB —
reports/training-source/scripts/benchmark_accumulated_v08_retained_balance.pyConfiguration3.0 KB —
reports/training-source/scripts/benchmark_accumulated_v08_rotation_repair.pyConfiguration3.0 KB —
reports/training-source/scripts/evaluate_accumulated_v08_retained_balance.pyConfiguration10.2 KB —
reports/training-source/scripts/evaluate_accumulated_v08_rotation_repair.pyConfiguration10.0 KB —
reports/training-source/scripts/evaluate_rotation_model.pyConfiguration7.3 KB —
reports/training-source/scripts/finalize_accumulated_v08_retained_balance.pyConfiguration3.6 KB —
reports/training-source/scripts/finalize_accumulated_v08_rotation_repair.pyConfiguration2.1 KB —
reports/training-source/scripts/freeze_accumulated_repair_provenance.pyConfiguration7.7 KB —
reports/training-source/scripts/preview_accumulated_v08_rotation_repair.pyConfiguration4.0 KB —
reports/training-source/scripts/retained_replay_train.pyConfiguration27.5 KB —
reports/training-source/scripts/train_accumulated_repair.pyConfiguration39.4 KB —
reports/training-source/scripts/train_accumulated_v08_retained_balance.pyConfiguration25.6 KB —
reports/training-source/scripts/train_accumulated_v08_rotation_repair.pyConfiguration69.1 KB —
reports/training-source/scripts/train_rotation_model.pyConfiguration6.7 KB —
reports/training-source/scripts/train_rotation_repair.pyConfiguration20.6 KB —
reports/training-source/scripts/training_loop_evidence.pyConfiguration24.0 KB —
reports/training-source/scripts/validate_benchmark_outputs_v08_retained_balance.pyConfiguration12.5 KB —
reports/training-source/scripts/validate_benchmark_outputs_v08_rotation_repair.pyConfiguration10.6 KB —
reports/validate-benchmark-outputs.pyConfiguration12.5 KB —
LICENSEDocumentation11.4 KB —
NOTICEDocumentation1.4 KB —
PIPELINE.mdDocumentation961 B —
README.mdDocumentation11.5 KB —
examples/beats-loop-15-utility.jsonlOther86.0 KB —
examples/benchmark-accumulated-v0.8.jsonlOther162.5 KB —
examples/multigenre-storyboard.jsonlOther9.9 KB —
previews/camera-coverage.pngOther166.4 KB 3cddcc370267
previews/heldout-comparison.pngOther479.3 KB 58fa982e7b90
previews/training-data.pngOther204.9 KB b22d0167bc94
pyproject.tomlOther958 B —
reports/derivation/original-full_interval-test.jsonlOther37.6 MB 9f2064819ec5
reports/derivation/original-primary-test.jsonlOther2.5 MB —
reports/derivation/original-primary/manifest.jsonlOther10.5 MB 01b969d0b451
uv.lockOther278.9 KB —
.gitattributesRepository2.2 KB —
.python-versionRepository5 B —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
2.1 MB
Download from Danger Room

Released by Danger Room through its official repository on Hugging Face. Read the license.

Evaluations

Each result is shown as reported, with the conditions its reporter stated. None is a SAVRN measurement. A comparison lines two results up only when their configuration, unit and setup are all stated and identical.

BenchmarkConditionsResultReported byRevisionDate
MadStickArt synthetic 1-genre title-held-out test split Task Layout-conditioned storyboard rasterizationMetric Foreground IoU (ink threshold 0.35)Comparison conditions not established 0.675982 danger-room
Publisher reported
Evaluated revision not stated —
MadStickArt synthetic 1-genre title-held-out test split Task Layout-conditioned storyboard rasterizationMetric Pixel mean absolute errorComparison conditions not established 0.0162692 danger-room
Publisher reported
Evaluated revision not stated —

Memory Requirements

PrecisionWeights in memory
As published2.1 MB
16-bit0.0 GB
8-bit0.0 GB
4-bit0.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About MadStickArt

How much GPU memory does MadStickArt need?

About 0 GB at 16-bit and 0 GB at 4-bit: the weights (61,296 parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run MadStickArt on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use MadStickArt commercially?

Yes. MadStickArt is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Image to image

MadStickArt-v0.8.0

Danger Room

MadStickArt is a trained, 61,296-parameter neural raster decoder for stick-figure storyboard scenes. It reconstructs 956 × 400 grayscale frames from four explicit layout masks: actors, setting, props, and motion. Its output contract is 2.39:1. Try MadStickArt online → — the browser trial is deployed separately. Its deployed model/version and renderer are recorded in the Space's model-provenance.json. The renderer included with this release supports 186 settings and 320 props; the deployed trial has its own model and renderer pins and is updated through a separate reviewed stage. Browser suggestions use transparent rules, while Strands decisions run in the downloadable Python pipeline. The…

Open weights apache-2.0 61,296 parameters pytorch

Model · Image to image

MadStickArt-v0.1.0

Danger Room

Try MadStickArt online → — generate a storyboard in your browser before downloading. Adjust composition and camera controls, then export clean or annotated PNGs and scene JSON. The playground runs the released neural decoder locally and uses optional rule-based scene suggestions; Strands Decider is available in the downloadable Python pipeline. MadStickArt is a small, trained 12,192-parameter image model for clean stick-figure storyboard scenes at 956 × 400 pixels, exactly 2.39:1. This first public release is danger-room/MadStickArt-v0.1.0, licensed under Apache 2.0. Pin revision v0.1.0 for reproducible downloads. The model is a custom PyTorch layout-conditioned neural raster decoder. A…

Open weights apache-2.0 12,192 parameters pytorch

Model · Image to image

FLUX.2-klein-4B-GGUF

Unsloth AI

This is a GGUF quantized version of FLUX.2-klein-4B. unsloth/FLUX.2-klein-4B-GGUF uses Unsloth Dynamic 2.0 methodology for SOTA performance. - Important layers are upcasted to higher precision. - Uses tooling from ComfyUI-GGUF by city96. The FLUX.2 [klein] model family are our fastest image models to date. FLUX.2 [klein] unifies generation and editing in a single compact architecture, delivering state-of-the-art quality with end-to-end inference in as low as under a second. Built for applications that require real-time image generation without sacrificing quality, and runs on consumer hardware, with as little as 13GB VRAM. FLUX.2 [klein] 4B is a 4 billion parameter rectified flow…

Open weights apache-2.0 ggml

Model · Image to image

FLUX.2-klein-4b-fp8

Black Forest Labs

FLUX.2 [klein] 4B is a 4 billion parameter rectified flow transformer capable of generating images from text descriptions and supports multi-reference editing capabilities. For more information, please read our blog post. This repository holds an FP8 version of FLUX.2 [klein] 4B. The main repository of this model (full BF16 weights) can be found here. Limitations - This model is not intended or able to provide factual information. - While the model can output text, text rendered may be inaccurate or subject to distortion. - As a statistical model, this checkpoint may represent or amplify biases observed in the training data. - The model may fail to generate output that matches the prompts.…

Open weights apache-2.0 diffusion-single-file

A LoRA adapter for the Qwen-Image-Edit-2511 diffusion pipeline, enabling NSFW content generation and editing capabilities. The easiest way to use this LoRA is through the ScottzillaSystems Image Editor — select " MCNL-NSFW-v1" from the adapter dropdown. Use these concepts in your prompts to activate specific capabilities: nsfw nipples vagina penis missionary cowgirlout reversecowgirlpov blowjob cumonface creamp1e l1ck

Open weights openrail++ diffusers

FLUX.2 [klein] 4B Base is a 4 billion parameter rectified flow transformer capable of generating images from text descriptions and supports multi-reference editing capabilities. For more information, please read our blog post. This repository holds an FP8 version of FLUX.2 [klein] 4B Base. The main repository of this model (full BF16 weights) can be found here. Limitations - This model is not intended or able to provide factual information. - While the model can output text, text rendered may be inaccurate or subject to distortion. - As a statistical model, this checkpoint may represent or amplify biases observed in the training data. - The model may fail to generate output that matches the…

Open weights apache-2.0 diffusion-single-file