Skip to content

CLI Reference

The CLI reference below is generated directly from the source code β€” every flag, argument, and help string you see here comes from the same Typer annotations that power assgen --help. Any change to the code is immediately reflected here on the next docs build.

assgen

assgen

AI-driven game asset generation pipeline.

Usage:

assgen [OPTIONS] COMMAND [ARGS]...

Options:

  -v, --verbose                 Enable debug logging (shows server
                                communication, model resolution, etc.)
  -V, --version                 Show version and exit.
  --json                        Emit machine-readable JSON to stdout.
                                Disables progress bars. Ideal for CI pipelines
                                and scripting.
  --yaml                        Emit machine-readable YAML to stdout.
                                Disables progress bars. Human-friendly
                                alternative to --json.
  -n, --variants INTEGER RANGE  Submit N identical jobs (batch generation).
                                Use with --wait to collect all outputs.
                                [default: 1; x>=1]
  -q, --quality TEXT            Model quality tier: draft (fastest/smallest),
                                standard, high (best/largest).  Maps to model
                                size variants where available.  [default:
                                standard]
  --from-job TEXT               Chain from a completed job's outputs.  Pass
                                the upstream job ID; its output files are
                                forwarded as inputs to this job.
  --context TEXT                Named context from a prior job: 'key=job_id'.
                                Repeatable.  Loads that job's primary text
                                output into params['context_map']['key'] so
                                handlers can incorporate prior narrative/lore
                                content.
  --install-completion          Install completion for the current shell.
  --show-completion             Show completion for the current shell, to copy
                                it or customize the installation.

client

Client configuration: server targeting and connection settings

Usage:

assgen client [OPTIONS] COMMAND [ARGS]...

config

View and update client configuration.

Usage:

assgen client config [OPTIONS] COMMAND [ARGS]...

set-server

Point the client at a specific assgen-server (local or remote).

Once set, all job submissions and queries go to this server rather than auto-starting a local one. Ideal for targeting your desktop GPU.

Example: assgen client config set-server http://192.168.1.50:8432

Usage:

assgen client config set-server [OPTIONS] URL

Options:

  URL     Server base URL, e.g. http://192.168.1.50:8432  [required]

show

Show active client configuration and the server this client will use.

Usage:

assgen client config show [OPTIONS]

unset-server

Remove the configured server URL (revert to auto-start local server mode).

After this, running any asset command will automatically start a local assgen-server if one is not already running.

Usage:

assgen client config unset-server [OPTIONS]

compose

Multi-step asset pipelines: npc, weapon, prop, material, soundscape, ui-kit, environment

Usage:

assgen compose [OPTIONS] COMMAND [ARGS]...

environment

Generate a cohesive level environment kit from a theme description.

Produces a batch of themed props, an optional ground material, and optional ambient audio β€” all sharing the same visual identity.

Runs a multi-phase pipeline: Phase 1 β€” Style reference (1Γ— concept generate) Phase 2 β€” Props: for each prop: concept β†’ mesh β†’ UV β†’ texture β†’ LOD β†’ collider Phase 3 β€” Ground material: texture β†’ seamless β†’ normalmap β†’ PBR [--no-ground to skip] Phase 4 β€” Audio: ambient loop + theme music [--no-audio to skip] Phase 5 β€” Batch export

Examples: assgen compose environment "medieval tavern interior" --count 8 --engine godot --wait assgen compose environment "sci-fi space station" --items "console,crate,pipe,terminal" --wait assgen compose environment "enchanted forest" --no-audio --quality high --wait

Usage:

assgen compose environment [OPTIONS] PROMPT

Options:

  PROMPT                  Environment theme, e.g. 'medieval tavern interior'
                          [required]
  -n, --count INTEGER     Number of props to generate  [default: 6]
  --items TEXT            Explicit comma-separated prop list, e.g.
                          'barrel,chair,table,torch'  (overrides --count)
  --style TEXT
  --engine TEXT           unity | unreal | godot  [default: unity]
  --audio / --no-audio    Generate ambient audio and theme music  [default:
                          audio]
  --ground / --no-ground  Generate a tiling ground/floor material  [default:
                          ground]
  -q, --quality TEXT      draft | standard | high  [default: standard]
  -o, --output TEXT       Output directory
  --wait / --no-wait      Block until the full pipeline completes (default:
                          on)  [default: wait]
  --dry-run

material

Generate a full PBR material set from a text description.

Runs a 5-6 step pipeline: 1. Albedo texture (SDXL) 2. Make seamless/tileable (algorithmic) 3. Normal map derivation (algorithmic) 4. PBR channel generation β€” roughness / AO / metallic (algorithmic) 5. 2Γ— upscale (Real-ESRGAN) [--upscale to enable] 6. Engine material folder export

Output files: albedo.png, normal.png, roughness.png, ao.png, metallic.png

Examples: assgen compose material "weathered cobblestone, mossy" --engine godot --wait assgen compose material "rusted metal plate" --type metal --resolution 2048 --wait assgen compose material "dark oak wood planks" --type wood --upscale --wait

Usage:

assgen compose material [OPTIONS] PROMPT

Options:

  PROMPT                    Surface description, e.g. 'weathered cobblestone,
                            mossy'  [required]
  --style TEXT
  --type TEXT               stone | wood | metal | fabric | organic | surface
                            [default: surface]
  -r, --resolution INTEGER  Output texture resolution in pixels (512 | 1024 |
                            2048 | 4096)  [default: 1024]
  --upscale / --no-upscale  Run a 2Γ— Real-ESRGAN upscale pass for crisper
                            detail  [default: no-upscale]
  --engine TEXT             unity | unreal | godot  [default: unity]
  -q, --quality TEXT        draft | standard | high  [default: standard]
  -o, --output TEXT         Output directory
  --wait / --no-wait        Block until the full pipeline completes (default:
                            on)  [default: wait]
  --dry-run

npc

Generate a complete game NPC from a text description.

Runs a multi-step pipeline: 1. Concept art (SDXL) 2. Multi-view turnaround (Zero123++) [--no-multiview to skip] 3. 3D mesh reconstruction (TripoSR) 4. UV unwrap 5. Concept-guided texture generation (IP-Adapter) 6. Auto-rig with humanoid skeleton (UniRig) 7. Animation retargeting (bundled BVH clips) 8. LOD levels 0/1/2 [--no-lod to skip] 9. Collision mesh [--no-collider to skip] 10. NPC dialog text generation 11. Text-to-speech for dialog lines 12. Engine export

Examples: assgen compose npc "pig shopkeeper with apron, medieval fantasy" --wait assgen compose npc "dark elf archer" --style "gritty realistic" --engine unreal --wait assgen compose npc "robot guard" --no-multiview --animations idle,walk,attack_light --wait

Usage:

assgen compose npc [OPTIONS] PROMPT

Options:

  PROMPT                        Character description, e.g. 'pig shopkeeper
                                with apron, medieval fantasy'  [required]
  --style TEXT                  Visual style applied to all generation steps,
                                e.g. 'painterly, warm tones'
  --voice TEXT                  TTS voice description for NPC dialog lines,
                                e.g. 'gruff male merchant, aged'
  -a, --animations TEXT         Comma-separated animation clips to retarget
                                onto the character  [default: idle,walk,talk]
  --skeleton TEXT               biped | humanoid (humanoid = Unity-compatible
                                55-bone naming)  [default: humanoid]
  --engine TEXT                 unity | unreal | godot  [default: unity]
  --lod / --no-lod              Generate LOD 0/1/2 levels  [default: lod]
  --collider / --no-collider    Generate collision mesh  [default: collider]
  --multiview / --no-multiview  Use Zero123++ multi-view for better mesh
                                quality (slower)  [default: multiview]
  -q, --quality TEXT            draft | standard | high  [default: standard]
  -o, --output TEXT             Output directory
  --wait / --no-wait            Block until the full pipeline completes
                                (default: on)  [default: wait]
  --dry-run                     Print pipeline steps without executing

prop

Generate a static game prop from a text description.

Runs a 7-step pipeline: 1. Concept art (SDXL) 2. 3D mesh reconstruction (TripoSR) 3. UV unwrap 4. Concept-guided texture (IP-Adapter) 5. LOD levels 0/1/2 [--no-lod to skip] 6. Collision mesh [--no-collider to skip] 7. Engine export

Examples: assgen compose prop "wooden barrel with iron bands, medieval" --engine godot --wait assgen compose prop "sci-fi crate with glowing vents" --type container --quality high --wait assgen compose prop "ornate stone fountain" --type decoration --style "low poly" --wait

Usage:

assgen compose prop [OPTIONS] PROMPT

Options:

  PROMPT                      Prop description, e.g. 'wooden barrel with iron
                              bands, medieval'  [required]
  --style TEXT                Visual style, e.g. 'low poly, flat shading'
  --type TEXT                 furniture | container | decoration | foliage |
                              structure | prop  [default: prop]
  --engine TEXT               unity | unreal | godot  [default: unity]
  --lod / --no-lod            Generate LOD 0/1/2 levels  [default: lod]
  --collider / --no-collider  Generate collision mesh  [default: collider]
  -q, --quality TEXT          draft | standard | high  [default: standard]
  -o, --output TEXT           Output directory
  --wait / --no-wait          Block until the full pipeline completes
                              (default: on)  [default: wait]
  --dry-run

soundscape

Generate a complete audio suite for a game level or biome.

Runs a 4-6 step pipeline: 1. Ambient loop (MusicGen-stereo) 2. Theme music (MusicGen-large) [--no-music to skip] 3. Loopable music variant (MusicGen-stereo-medium) [--no-music to skip] 4. SFX clips Γ— N (AudioGen) 5. Loop optimisation (algorithmic) 6. Audio folder export

Examples: assgen compose soundscape "enchanted forest at night" --wait assgen compose soundscape "medieval tavern" --sfx-list "mug clinking,fire crackling,crowd murmur" --wait assgen compose soundscape "space station interior" --no-music --sfx-count 8 --wait

Usage:

assgen compose soundscape [OPTIONS] PROMPT

Options:

  PROMPT                Environment/mood description, e.g. 'enchanted forest
                        at night'  [required]
  --sfx-count INTEGER   Number of SFX clips to generate  [default: 5]
  --sfx-list TEXT       Comma-separated explicit SFX prompts, e.g. 'footstep
                        on dirt,wind,door creak'
  --duration INTEGER    Length of ambient/music clips in seconds  [default:
                        30]
  --music / --no-music  Generate theme music in addition to ambient  [default:
                        music]
  -q, --quality TEXT    draft | standard | high  [default: standard]
  -o, --output TEXT     Output directory
  --wait / --no-wait    Block until the full pipeline completes (default: on)
                        [default: wait]
  --dry-run

ui-kit

Generate a cohesive UI element set for a game.

Runs a 5-8 step pipeline: 1. Style reference sheet (SDXL) β€” establishes visual identity 2. Button states β€” normal, hover, pressed (SDXL) 3. Panel/dialog background (SDXL) 4. Icon set Γ— N (SDXL) β€” one per icon name 5. Widget elements β€” slider, progress bar (SDXL) 6. Engine UI folder export

All elements share the same style prompt for visual consistency.

Examples: assgen compose ui-kit "dark fantasy RPG" --wait assgen compose ui-kit "cute cartoon mobile game" --icons "heart,star,coin,gem" --engine unity --wait assgen compose ui-kit "minimal sci-fi HUD" --palette "cyan, dark navy" --wait

Usage:

assgen compose ui-kit [OPTIONS] PROMPT

Options:

  PROMPT              Visual style description, e.g. 'dark fantasy RPG'
                      [required]
  --icons TEXT        Comma-separated icon names to generate  [default:
                      health,mana,stamina,gold,attack,defense]
  --palette TEXT      Colour palette hint, e.g. 'dark tones, gold accents'
  --engine TEXT       unity | unreal | godot  [default: unity]
  -q, --quality TEXT  draft | standard | high  [default: standard]
  -o, --output TEXT   Output directory
  --wait / --no-wait  Block until the full pipeline completes (default: on)
                      [default: wait]
  --dry-run

weapon

Generate a complete weapon asset: concept β†’ mesh β†’ LOD β†’ texture β†’ collider β†’ export.

Examples: assgen compose weapon "rusted iron longsword, dark fantasy" --wait assgen compose weapon "plasma rifle" --style "sci-fi, chrome" --engine unreal --wait

Usage:

assgen compose weapon [OPTIONS] PROMPT

Options:

  PROMPT                      Weapon description, e.g. 'rusted iron longsword'
                              [required]
  --style TEXT
  --engine TEXT               unity | unreal | godot  [default: unity]
  --lod / --no-lod            [default: lod]
  --collider / --no-collider  [default: collider]
  -q, --quality TEXT          draft | standard | high  [default: standard]
  -o, --output TEXT           Output directory
  --wait / --no-wait          Block until the full pipeline completes
                              (default: on)  [default: wait]
  --dry-run

config

Configure job-type β†’ model mappings

Usage:

assgen config [OPTIONS] COMMAND [ARGS]...

list

List all job-type β†’ model mappings with source and HF task info.

Usage:

assgen config list [OPTIONS]

Options:

  -d, --domain TEXT  Filter by domain prefix, e.g. visual, audio, scene,
                     pipeline
  --installed        Only show installed models

remove

Remove a user override, reverting to the built-in default.

Usage:

assgen config remove [OPTIONS] [JOB_TYPE]

Options:

  [JOB_TYPE]  Job type to remove override for

Search HuggingFace Hub for models relevant to a game-dev task.

Examples: assgen config search triposr --job-type visual.model.create assgen config search musicgen --task text-to-audio assgen config search sdxl --apply --job-type visual.texture.generate

Usage:

assgen config search [OPTIONS] [QUERY]

Options:

  [QUERY]              Search term (model name or keyword)
  -j, --job-type TEXT  Job type to pre-filter by HF task (e.g.
                       visual.model.create)
  -t, --task TEXT      HuggingFace pipeline_tag filter (e.g. text-to-image,
                       image-to-3d)
  -n, --limit INTEGER  Max results to show  [default: 10]
  -a, --apply          Interactively pick a result and apply it to the job
                       type

set

Add or update the model mapping for a job type.

If arguments are omitted, each field is prompted interactively. When no --model-id is given, an interactive HuggingFace search is offered.

Usage:

assgen config set [OPTIONS] [JOB_TYPE]

Options:

  [JOB_TYPE]           Job type to configure
  -m, --model-id TEXT  HuggingFace model ID (org/repo)
  -n, --name TEXT      Display name
  --notes TEXT         Optional notes
  -t, --task TEXT      Override HF pipeline_tag for search

show

Show the full configuration for a single job type.

Usage:

assgen config show [OPTIONS] [JOB_TYPE]

Options:

  [JOB_TYPE]  Job type to inspect

gen

Generate assets: visual Β· audio Β· scene Β· pipeline Β· support Β· qa

Usage:

assgen gen [OPTIONS] COMMAND [ARGS]...

audio

Sound effects, music, voice synthesis

Usage:

assgen gen audio [OPTIONS] COMMAND [ARGS]...

music

Music and ambient track generation

Usage:

assgen gen audio music [OPTIONS] COMMAND [ARGS]...
adaptive

Generate adaptive music stems for different gameplay moods.

Usage:

assgen gen audio music adaptive [OPTIONS] THEME

Options:

  THEME                 Base theme description  [required]
  --moods TEXT          Comma-separated mood states to generate stems for
                        [default: calm,tense,combat,victory]
  -d, --duration FLOAT  [default: 30.0]
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress
compose

Compose a music track from a text prompt (MusicGen).

Examples: assgen gen audio music compose "epic orchestral battle music, dramatic" --wait assgen gen audio music compose "ambient forest, birds, peaceful" -d 30 --wait assgen gen audio music compose "upbeat 8-bit chiptune, adventure" --genre chiptune --wait assgen gen audio music compose "tense stealth theme, low bass" -d 60 --wait

Usage:

assgen gen audio music compose [OPTIONS] PROMPT

Options:

  PROMPT                Music description, e.g. 'epic orchestral battle theme'
                        [required]
  -d, --duration FLOAT  Track length in seconds  [default: 15.0]
  --bpm INTEGER         Beats per minute
  --key TEXT            Musical key, e.g. 'C minor'
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress
loop

Generate a seamlessly looping music track.

Usage:

assgen gen audio music loop [OPTIONS] PROMPT

Options:

  PROMPT                    Loop description, e.g. 'calm forest ambient loop'
                            [required]
  -d, --duration FLOAT      Loop duration in seconds  [default: 30.0]
  -n, --variations INTEGER  Number of loop variants  [default: 1]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress

process

Audio processing: normalize, trim, convert

Usage:

assgen gen audio process [OPTIONS] COMMAND [ARGS]...
convert

Convert audio between formats (WAV/OGG/MP3/FLAC).

Usage:

assgen gen audio process convert [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Audio file to convert  [required]
  -f, --format TEXT   Target format: wav ogg mp3 flac  [default: ogg]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
downmix

Downmix stereo to mono (or upmix mono to stereo).

Usage:

assgen gen audio process downmix [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE              Audio file to downmix  [required]
  -c, --channels INTEGER  Target channel count: 1 (mono) or 2 (stereo)
                          [default: 1]
  -o, --output TEXT       Output file or directory path
  --wait / --no-wait      Block until the job completes
loop-optimize

Find zero-crossing loop points for seamless audio looping.

Usage:

assgen gen audio process loop-optimize [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Audio file to optimize for looping  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
normalize

Normalize audio to a target LUFS level or peak 0 dBFS.

Usage:

assgen gen audio process normalize [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Audio file to normalize  [required]
  --lufs FLOAT        Target LUFS level  [default: -14.0]
  -m, --mode TEXT     Normalization mode: lufs | peak  [default: lufs]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
resample

Change the sample rate of an audio file.

Usage:

assgen gen audio process resample [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Audio file to resample  [required]
  -r, --rate INTEGER  Target sample rate in Hz  [default: 48000]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
trim-silence

Strip leading and trailing silence from an audio file.

Usage:

assgen gen audio process trim-silence [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE            Audio file to trim  [required]
  --threshold-db FLOAT  Silence threshold in dBFS (default -50)  [default:
                        -50.0]
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes
waveform

Generate a waveform PNG preview of an audio file.

Usage:

assgen gen audio process waveform [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE            Audio file to visualize  [required]
  -W, --width INTEGER   Output image width in pixels  [default: 1200]
  -H, --height INTEGER  Output image height in pixels  [default: 200]
  --color TEXT          Waveform colour (hex, e.g. '#00ff88')  [default:
                        #00ff88]
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes

sfx

Sound effects generation

Usage:

assgen gen audio sfx [OPTIONS] COMMAND [ARGS]...
edit

Edit or process an existing sound effect.

Usage:

assgen gen audio sfx edit [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Input audio file to edit  [required]
  --op TEXT           pitch | reverb | speed | layer | normalize  [default:
                      pitch]
  --value TEXT        Operation parameter
  --secondary TEXT    Second audio for layer op
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
generate

Generate a sound effect from a text description (AudioGen).

Examples: assgen gen audio sfx generate "laser gun firing, futuristic" --wait assgen gen audio sfx generate "heavy footsteps on gravel" -d 3.0 --wait assgen gen audio sfx generate "explosion, distant, muffled" -n 3 --wait assgen gen audio sfx generate "UI button click, satisfying" -d 0.5 --wait

Usage:

assgen gen audio sfx generate [OPTIONS] PROMPT

Options:

  PROMPT                    Sound description, e.g. 'laser gun firing'
                            [required]
  -d, --duration FLOAT      Target duration in seconds  [default: 2.0]
  -n, --variations INTEGER  Number of variants to generate  [default: 1]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
  --model-id TEXT           Override HF model (validated by server)
library

Browse the local generated SFX library.

Usage:

assgen gen audio sfx library [OPTIONS] [QUERY]

Options:

  [QUERY]  Search query for local SFX library

voice

TTS, voice cloning, and dialog batching

Usage:

assgen gen audio voice [OPTIONS] COMMAND [ARGS]...
clone

Clone a voice from an audio sample and synthesise new speech.

Usage:

assgen gen audio voice clone [OPTIONS] SAMPLE TEXT

Options:

  SAMPLE              Path to reference audio sample (β‰₯5 seconds)  [required]
  TEXT                Text for the cloned voice to speak  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
dialog

Generate a batch of voiced NPC dialog lines from a script file.

Usage:

assgen gen audio voice dialog [OPTIONS] SCRIPT_FILE

Options:

  SCRIPT_FILE            JSON or plain-text file with dialog lines  [required]
  --speaker TEXT         Speaker preset or voice sample
  --emotion TEXT
  -o, --output-dir TEXT  Directory for output files
  --wait / --no-wait     Block until the job completes and stream live
                         progress
tts

Convert text to speech with optional emotion (Bark).

Examples: assgen gen audio voice tts "Hello adventurer, welcome to my shop!" --wait assgen gen audio voice tts "I will have my revenge!" --preset v2/en_speaker_6 --wait assgen gen audio voice tts "The ancient tome speaks of dark prophecy..." --preset v2/en_speaker_9 --wait

Usage:

assgen gen audio voice tts [OPTIONS] TEXT

Options:

  TEXT                Text to synthesise  [required]
  --emotion TEXT      Emotion tag: neutral angry happy sad fearful
  --speaker TEXT      Speaker preset, e.g. 'v2/en_speaker_6'
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

pipeline

Workflows, batching, engine integration, asset tools

Usage:

assgen gen pipeline [OPTIONS] COMMAND [ARGS]...

asset

Asset manifest, validation, rename, and budget report.

Usage:

assgen gen pipeline asset [OPTIONS] COMMAND [ARGS]...
manifest

Walk a directory and produce a manifest.json with file metadata.

Usage:

assgen gen pipeline asset manifest [OPTIONS] DIRECTORY

Options:

  DIRECTORY           Directory to scan  [required]
  --wait / --no-wait
rename

Batch rename assets to a naming convention (dry-run by default).

Usage:

assgen gen pipeline asset rename [OPTIONS] DIRECTORY

Options:

  DIRECTORY                 Directory containing files to rename  [required]
  -c, --convention TEXT     snake_case | PascalCase | kebab-case  [default:
                            snake_case]
  --prefix TEXT             Optional name prefix
  --suffix TEXT             Optional name suffix
  --dry-run / --no-dry-run  Plan only (default) or execute renames  [default:
                            dry-run]
  --wait / --no-wait
report

Generate a size-budget report grouped by asset type.

Usage:

assgen gen pipeline asset report [OPTIONS] DIRECTORY

Options:

  DIRECTORY           Directory to report on  [required]
  --wait / --no-wait
validate

Check for oversized textures, non-pow2 textures, and high-poly meshes.

Usage:

assgen gen pipeline asset validate [OPTIONS] DIRECTORY

Options:

  DIRECTORY                 Directory to validate  [required]
  --max-texture-mb FLOAT    Max texture file size in MB  [default: 16.0]
  --max-mesh-verts INTEGER  Max vertex count per mesh  [default: 100000]
  --wait / --no-wait

batch

Batch job queuing and variant generation.

Usage:

assgen gen pipeline batch [OPTIONS] COMMAND [ARGS]...
queue

Enqueue a batch of jobs from a JSON manifest file.

Manifest format: [{"job_type": "visual.model.create", "params": {"prompt": "..."}, "priority": 0}, ...]

Usage:

assgen gen pipeline batch queue [OPTIONS] MANIFEST

Options:

  MANIFEST            Path to JSON manifest file  [required]
  --wait / --no-wait
status

Show recent batch / queue status (active + recently completed jobs).

Usage:

assgen gen pipeline batch status [OPTIONS]

Options:

  -n, --limit INTEGER  [default: 20]
variant

Generate style or damage-state variants of an existing asset.

Usage:

assgen gen pipeline batch variant [OPTIONS] INPUT_ASSET

Options:

  INPUT_ASSET          Base asset path  [required]
  -n, --count INTEGER  Number of variants  [default: 4]
  --style TEXT         Style description for variants
  --damage             Generate damage-state variants
  --wait / --no-wait

git

Git and VCS helpers for game asset repos.

Usage:

assgen gen pipeline git [OPTIONS] COMMAND [ARGS]...
lfs-rules

Scan asset extensions and generate .gitattributes LFS rules.

Usage:

assgen gen pipeline git lfs-rules [OPTIONS] DIRECTORY

Options:

  DIRECTORY           Directory to scan for asset types  [required]
  --wait / --no-wait

integrate

Engine export, prefab bundling, and script generation.

Usage:

assgen gen pipeline integrate [OPTIONS] COMMAND [ARGS]...
export

Export an asset to a specific game engine format.

Usage:

assgen gen pipeline integrate export [OPTIONS] INPUT_ASSET

Options:

  INPUT_ASSET         Asset to export  [required]
  --engine TEXT       unity | unreal | godot  [default: unity]
  --format TEXT       Override output format
  --wait / --no-wait
prefab

Bundle multiple assets into an engine prefab or scene package.

Usage:

assgen gen pipeline integrate prefab [OPTIONS] ASSETS...

Options:

  ASSETS...           Asset files to bundle into a prefab  [required]
  --name TEXT         Prefab name
  --engine TEXT       [default: unity]
  --wait / --no-wait
script

Generate behavior script stubs and attach-point metadata for a mesh.

Usage:

assgen gen pipeline integrate script [OPTIONS] MESH

Options:

  MESH                Mesh to generate behavior stubs for  [required]
  --behaviors TEXT    Comma-separated behavior types to stub  [default:
                      interact,damage,loot]
  --language TEXT     csharp | gdscript | blueprint  [default: csharp]
  --wait / --no-wait

workflow

Define and run multi-step asset workflows.

Usage:

assgen gen pipeline workflow [OPTIONS] COMMAND [ARGS]...
create

Define a new multi-step workflow (sequence of job types).

By default, each step's output is automatically chained into the next step as upstream_files. Use --no-chain to submit all steps independently.

Usage:

assgen gen pipeline workflow create [OPTIONS] NAME STEPS...

Options:

  NAME                  Workflow name  [required]
  STEPS...              Ordered job types, e.g. visual.concept.generate
                        visual.model.splat  [required]
  -o, --output TEXT     Save workflow YAML to path
  --chain / --no-chain  Auto-chain each step's output into the next step's
                        upstream_files (default: on)  [default: chain]
list

List all saved workflows.

Usage:

assgen gen pipeline workflow list [OPTIONS]
run

Execute a saved workflow, chaining each step's output into the next.

Unlike a simple batch submit, each step waits for the previous to complete and receives its output files as upstream_files β€” enabling real multi-step pipelines where later steps depend on earlier outputs.

Usage:

assgen gen pipeline workflow run [OPTIONS] NAME

Options:

  NAME           Workflow name or path to YAML  [required]
  --inputs TEXT  JSON string of input params
  --dry-run      Print steps without executing

procedural

Procedural generation: terrain, levels, foliage, plants

Usage:

assgen gen procedural [OPTIONS] COMMAND [ARGS]...

foliage

Foliage and object scatter

Usage:

assgen gen procedural foliage [OPTIONS] COMMAND [ARGS]...
scatter

Scatter foliage instances using Poisson disk sampling on a density map.

Usage:

assgen gen procedural foliage scatter [OPTIONS] DENSITY_MAP

Options:

  DENSITY_MAP           Greyscale density map image  [required]
  -n, --count INTEGER   [default: 100]
  -d, --min-dist FLOAT  [default: 1.0]
  -s, --seed INTEGER    [default: 42]
  -o, --output TEXT
  --wait / --no-wait

level

Procedural level layouts (dungeon, Voronoi)

Usage:

assgen gen procedural level [OPTIONS] COMMAND [ARGS]...
dungeon

Generate a BSP or cellular-automata dungeon layout.

Usage:

assgen gen procedural level dungeon [OPTIONS]

Options:

  -W, --width INTEGER   [default: 64]
  -H, --height INTEGER  [default: 64]
  -r, --rooms INTEGER   [default: 10]
  -a, --algorithm TEXT  bsp | cellular  [default: bsp]
  -s, --seed INTEGER    [default: 42]
  -o, --output TEXT
  --wait / --no-wait
voronoi

Generate a Voronoi region map (colour PNG + regions JSON).

Usage:

assgen gen procedural level voronoi [OPTIONS]

Options:

  -W, --width INTEGER    [default: 512]
  -H, --height INTEGER   [default: 512]
  -r, --regions INTEGER  [default: 12]
  -s, --seed INTEGER     [default: 42]
  -o, --output TEXT
  --wait / --no-wait

plant

L-system plant skeleton generation

Usage:

assgen gen procedural plant [OPTIONS] COMMAND [ARGS]...
lsystem

Generate an L-system plant skeleton (SVG + branches JSON).

Usage:

assgen gen procedural plant lsystem [OPTIONS]

Options:

  -a, --axiom TEXT          [default: F]
  -r, --rules TEXT          JSON mapping symbol→replacement  [default:
                            {"F":"F[+F]F[-F]F"}]
  -i, --iterations INTEGER  [default: 4]
  -g, --angle FLOAT         Turn angle in degrees  [default: 25.0]
  -s, --step FLOAT          Segment length in pixels  [default: 10.0]
  -o, --output TEXT
  --wait / --no-wait

terrain

Procedural terrain heightmaps

Usage:

assgen gen procedural terrain [OPTIONS] COMMAND [ARGS]...
heightmap

Generate a procedural heightmap PNG (Perlin/fractal/ridged noise).

Usage:

assgen gen procedural terrain heightmap [OPTIONS]

Options:

  -W, --width INTEGER   [default: 512]
  -H, --height INTEGER  [default: 512]
  -t, --type TEXT       perlin | fractal | ridged  [default: fractal]
  -s, --seed INTEGER    [default: 42]
  --scale FLOAT         [default: 100.0]
  --octaves INTEGER     [default: 6]
  -o, --output TEXT
  --wait / --no-wait

texture

Procedural noise textures

Usage:

assgen gen procedural texture [OPTIONS] COMMAND [ARGS]...
noise

Generate a tileable noise texture PNG (Perlin/Voronoi/fBm).

Usage:

assgen gen procedural texture noise [OPTIONS]

Options:

  -W, --width INTEGER    [default: 512]
  -H, --height INTEGER   [default: 512]
  -n, --noise-type TEXT  perlin | voronoi | fbm  [default: fbm]
  -s, --seed INTEGER     [default: 42]
  --scale FLOAT          [default: 100.0]
  --octaves INTEGER      [default: 6]
  -o, --output TEXT
  --wait / --no-wait

tileset

Wave Function Collapse tileset synthesis

Usage:

assgen gen procedural tileset [OPTIONS] COMMAND [ARGS]...
wfc

Synthesise a new tileset using Wave Function Collapse from a sample image.

Usage:

assgen gen procedural tileset wfc [OPTIONS] SAMPLE

Options:

  SAMPLE                   Sample tileset image  [required]
  -W, --width INTEGER      [default: 20]
  -H, --height INTEGER     [default: 20]
  -t, --tile-size INTEGER  [default: 16]
  -s, --seed INTEGER       [default: 42]
  -o, --output TEXT
  --wait / --no-wait

qa

Asset validation and performance testing

Usage:

assgen gen qa [OPTIONS] COMMAND [ARGS]...

perf

Analyse performance characteristics: poly count, VRAM, draw calls.

Usage:

assgen gen qa perf [OPTIONS] ASSET

Options:

  ASSET                  Asset to performance-test  [required]
  --poly-budget INTEGER  Max polygon count
  --vram-budget INTEGER  VRAM budget in MB
  --lod-preview          Preview all LOD levels
  -o, --output TEXT      Output file or directory path
  --wait / --no-wait     Block until the job completes and stream live
                         progress

report

Generate a full QA issues report for a set of assets.

Usage:

assgen gen qa report [OPTIONS] [ASSET_DIR]

Options:

  [ASSET_DIR]         Directory of assets to include in the report  [default:
                      .]
  --format TEXT       markdown | json | html  [default: markdown]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

style

Check assets for visual consistency with the project art style guide.

Usage:

assgen gen qa style [OPTIONS] ASSET

Options:

  ASSET               Asset or directory to style-check  [required]
  --guide TEXT        Path to style guide image or YAML
  --threshold FLOAT   Similarity threshold 0.0-1.0  [default: 0.8]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

validate

Run automated validation checks on an asset (normals, UVs, manifold, etc.).

Usage:

assgen gen qa validate [OPTIONS] ASSET

Options:

  ASSET               Asset file or directory to validate  [required]
  --checks TEXT       Comma-separated checks: normals uvs manifold scale
                      naming textures  [default:
                      normals,uvs,manifold,scale,naming]
  --strict            Fail on warnings as well as errors
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

scene

Physics colliders and lighting assets

Usage:

assgen gen scene [OPTIONS] COMMAND [ARGS]...

lighting

HDRI skies, probes, lightmaps

Usage:

assgen gen scene lighting [OPTIONS] COMMAND [ARGS]...
bake

Bake global illumination lightmaps for a scene.

Usage:

assgen gen scene lighting bake [OPTIONS] SCENE

Options:

  SCENE               Scene file to bake lighting for  [required]
  --quality TEXT      low | medium | high  [default: medium]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
hdri

Generate an HDR environment / sky map from a text description.

Usage:

assgen gen scene lighting hdri [OPTIONS] PROMPT

Options:

  PROMPT                    Sky / environment description, e.g. 'sunset desert
                            sky'  [required]
  -r, --resolution INTEGER  Output resolution (width of equirectangular image)
                            [default: 4096]
  --format TEXT             exr | hdr  [default: exr]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
probes

Generate reflection or irradiance probes for a scene.

Usage:

assgen gen scene lighting probes [OPTIONS] SCENE

Options:

  SCENE               Scene file to generate probes for  [required]
  --type TEXT         reflection | light | irradiance  [default: reflection]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
volumetrics

Generate volumetric fog, cloud, or atmosphere assets.

Usage:

assgen gen scene lighting volumetrics [OPTIONS] PROMPT

Options:

  PROMPT              Volume description, e.g. 'thick morning fog'  [required]
  --type TEXT         fog | clouds | smoke | dust  [default: fog]
  --density FLOAT     Volume density 0.0-1.0  [default: 0.5]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

physics

Colliders, rigid bodies, cloth sim

Usage:

assgen gen scene physics [OPTIONS] COMMAND [ARGS]...
cloth

Simulate and bake cloth or hair physics.

Usage:

assgen gen scene physics cloth [OPTIONS] MESH

Options:

  MESH                Cloth or hair mesh to simulate  [required]
  --type TEXT         cloth | hair | softbody  [default: cloth]
  --duration FLOAT    Simulation duration in seconds  [default: 3.0]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
collider

Generate an optimised collision mesh from a visual mesh.

Usage:

assgen gen scene physics collider [OPTIONS] MESH

Options:

  MESH                  Visual mesh to generate a collider for  [required]
  --shape TEXT          Collider type: convex hull box sphere capsule mesh
                        [default: convex]
  --simplify / --exact  [default: simplify]
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress
export

Export baked physics data for a target game engine.

Usage:

assgen gen scene physics export [OPTIONS] MESH

Options:

  MESH                Physics setup to export  [required]
  --engine TEXT       Target engine: unity unreal godot  [default: unity]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
rigid

Set up rigid body physics properties for a mesh.

Usage:

assgen gen scene physics rigid [OPTIONS] MESH

Options:

  MESH                Mesh to configure as a rigid body  [required]
  --mass FLOAT        Mass in kg
  --material TEXT     Physics material: wood metal stone rubber
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

support

Narrative, lore, procedural data

Usage:

assgen gen support [OPTIONS] COMMAND [ARGS]...

data

Lightmap baking and procedural data generation.

Usage:

assgen gen support data [OPTIONS] COMMAND [ARGS]...
lightmap

Bake GI lightmaps for a scene using AI-accelerated methods.

Usage:

assgen gen support data lightmap [OPTIONS] SCENE

Options:

  SCENE               Scene file to bake  [required]
  --quality TEXT      low | medium | high  [default: medium]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
proc

Generate a procedural asset generation script from a description.

Usage:

assgen gen support data proc [OPTIONS] DESCRIPTION

Options:

  DESCRIPTION         Describe the procedural asset to generate code for
                      [required]
  --language TEXT     python | gdscript | csharp | hlsl  [default: python]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

i18n

Internationalisation (i18n) string extraction.

Usage:

assgen gen support i18n [OPTIONS] COMMAND [ARGS]...
extract

Extract localisation string keys from JSON files (outputs JSON + CSV).

Usage:

assgen gen support i18n extract [OPTIONS] DIRECTORY

Options:

  DIRECTORY             Directory to scan for translatable strings  [required]
  -p, --pattern TEXT    Glob pattern for files to scan  [default: **/*.json]
  -k, --key-field TEXT  JSON field to extract as translatable string
                        [default: text]
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress

narrative

NPC dialog and world-building lore generation.

Usage:

assgen gen support narrative [OPTIONS] COMMAND [ARGS]...
dialog

Generate NPC dialog lines or a branching dialog tree.

Examples: assgen gen support narrative dialog "grizzled blacksmith, old town, skeptical" assgen gen support narrative dialog "mysterious elf merchant" --context "player just saved the village" --wait assgen gen support narrative dialog "guard captain, corrupt city" --branching --lines 20 --wait

Usage:

assgen gen support narrative dialog [OPTIONS] CHARACTER

Options:

  CHARACTER            NPC name / description  [required]
  --context TEXT       Scene / quest context
  -n, --lines INTEGER  Number of dialog lines to generate  [default: 10]
  --branching          Generate a branching dialog tree
  -o, --output TEXT    Output file or directory path
  --wait / --no-wait   Block until the job completes and stream live progress
lore

Generate world-building lore text (codex entries, item descriptions, quest text).

Examples: assgen gen support narrative lore "history of the fallen empire" --wait assgen gen support narrative lore "ancient cursed sword" --format item-description --wait assgen gen support narrative lore "the order of silver dawn" --format codex --length 800 --wait

Usage:

assgen gen support narrative lore [OPTIONS] TOPIC

Options:

  TOPIC               Lore topic, e.g. 'history of the fallen empire'
                      [required]
  --length INTEGER    Approximate word count  [default: 500]
  --format TEXT       prose | codex | item-description | quest  [default:
                      prose]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
validate-dialogue

Lint a dialogue JSON: orphan nodes, dead ends, missing keys.

Usage:

assgen gen support narrative validate-dialogue [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Dialogue JSON file to validate  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
validate-quest

Check a quest JSON graph for cycles and unreachable nodes.

Usage:

assgen gen support narrative validate-quest [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Quest JSON file to validate  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

visual

3D meshes, textures, rigs, animations, VFX, UI

Usage:

assgen gen visual [OPTIONS] COMMAND [ARGS]...

animate

Keyframe, mocap, and animation blending

Usage:

assgen gen visual animate [OPTIONS] COMMAND [ARGS]...
blend

Blend two animations together.

Usage:

assgen gen visual animate blend [OPTIONS] ANIM_A ANIM_B

Options:

  ANIM_A              First animation file  [required]
  ANIM_B              Second animation file  [required]
  --weight FLOAT      Blend weight (0=A, 1=B)  [default: 0.5]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
keyframe

Generate a 2D animation preview video from a text prompt (AnimateDiff).

NOTE: Output is a short video clip or sprite-sheet reference β€” NOT a 3D skeletal animation (BVH/FBX). Use the output as a visual reference when hand-keying or to drive a 2D sprite animation. No open model currently produces importable 3D keyframe data.

Usage:

assgen gen visual animate keyframe [OPTIONS] PROMPT

Options:

  PROMPT              Animation description, e.g. 'walking cycle'  [required]
  -r, --rig TEXT      Rigged mesh to animate
  --fps INTEGER       [default: 30]
  --duration FLOAT    Duration in seconds  [default: 2.0]
  --loop              Generate as a looping animation
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
mocap

Extract motion from a video and convert to skeleton animation.

Usage:

assgen gen visual animate mocap [OPTIONS] VIDEO

Options:

  VIDEO               Input video file for motion capture  [required]
  --rig TEXT          Rig to retarget captured motion onto
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
retarget

Retarget an animation from one rig to another.

Usage:

assgen gen visual animate retarget [OPTIONS] ANIMATION SOURCE_RIG TARGET_RIG

Options:

  ANIMATION           Animation file to retarget  [required]
  SOURCE_RIG          Source skeleton  [required]
  TARGET_RIG          Target skeleton  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

blockout

Rapid greybox / blockout prototyping

Usage:

assgen gen visual blockout [OPTIONS] COMMAND [ARGS]...
assemble

Assemble multiple blockout pieces into a scene.

Usage:

assgen gen visual blockout assemble [OPTIONS] INPUTS...

Options:

  INPUTS...           Paths to blockout pieces to combine  [required]
  --layout TEXT       Layout description
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
create

Generate a 2D blockout layout sketch for scene planning (SDXL).

NOTE: Output is a 2D image reference (top-down or perspective sketch), NOT a 3D mesh. Use the output as a visual guide when building blockout geometry manually in your game engine or in Blender.

Usage:

assgen gen visual blockout create [OPTIONS] PROMPT

Options:

  PROMPT                  What to blockout, e.g. 'dungeon room with pillars'
                          [required]
  --scale TEXT            Approx scale, e.g. '10x10x3m'
  -i, --input-image TEXT  Reference image
  -o, --output TEXT       Output file or directory path
  --wait / --no-wait      Block until the job completes and stream live
                          progress
iterate

Generate a quick variation of an existing blockout.

Usage:

assgen gen visual blockout iterate [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH          Existing blockout .glb/.obj to vary  [required]
  --prompt TEXT       Variation guidance
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

concept

Concept art and style references

Usage:

assgen gen visual concept [OPTIONS] COMMAND [ARGS]...
generate

Generate concept art from a text prompt.

Examples: assgen gen visual concept generate "medieval knight, full plate armour, front view" assgen gen visual concept generate "neon-lit cyberpunk alley" --style "digital painting" --wait assgen gen visual concept generate "cartoon mushroom character" --variants 4 --wait assgen gen visual concept generate "sci-fi spaceship cockpit interior" -q high --wait

Usage:

assgen gen visual concept generate [OPTIONS] PROMPT

Options:

  PROMPT              Description of the concept art  [required]
  --negative TEXT     Negative prompt
  --style TEXT        Art style hint, e.g. 'painterly'
  --width INTEGER     Image width  [default: 1024]
  --height INTEGER    Image height  [default: 1024]
  -o, --output TEXT   Output file path
  --wait / --no-wait  Wait for completion and show result
ref

Generate a multi-view reference sheet (front/side/back/3/4).

Usage:

assgen gen visual concept ref [OPTIONS] SUBJECT

Options:

  SUBJECT             Character or prop to create references for  [required]
  --views INTEGER     Number of reference views (turnaround)  [default: 4]
  -o, --output TEXT   Output file path
  --wait / --no-wait  Wait for completion and show result
style

Generate art style exploration samples.

Usage:

assgen gen visual concept style [OPTIONS] PROMPT

Options:

  PROMPT              Art style description  [required]
  --samples INTEGER   Number of style samples  [default: 4]
  -o, --output TEXT   Output file path
  --wait / --no-wait  Wait for completion and show result

lod

LOD generation via QEM decimation

Usage:

assgen gen visual lod [OPTIONS] COMMAND [ARGS]...
generate

Generate N LOD meshes via QEM decimation (pyfqmr or trimesh fallback).

Usage:

assgen gen visual lod generate [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE                Source mesh file (glb, obj, ply, ...)  [required]
  -n, --num-lods INTEGER    Number of LOD levels to generate  [default: 3]
  --min-poly-count INTEGER  Minimum face count for the coarsest LOD  [default:
                            100]
  -o, --output TEXT         Output directory path
  --wait / --no-wait        Block until the job completes

mesh

Mesh processing: validate, convert, repair

Usage:

assgen gen visual mesh [OPTIONS] COMMAND [ARGS]...
bounds

Compute AABB, OBB, and bounding sphere for a mesh.

Usage:

assgen gen visual mesh bounds [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Mesh file  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
center

Reposition the mesh pivot to the origin or bounding-box centre.

Usage:

assgen gen visual mesh center [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Mesh file  [required]
  -m, --mode TEXT     Pivot mode: origin | bbox  [default: bbox]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
convert

Convert a mesh between formats (glb, obj, ply, stl).

Usage:

assgen gen visual mesh convert [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Source mesh file  [required]
  -f, --format TEXT   Target format: glb obj ply stl  [default: glb]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
flip-normals

Flip the face winding order (normals) of a mesh.

Usage:

assgen gen visual mesh flip-normals [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Mesh file  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
merge

Merge multiple meshes into a single file.

Usage:

assgen gen visual mesh merge [OPTIONS] INPUTS...

Options:

  INPUTS...           Mesh files to merge  [required]
  -f, --format TEXT   Output format  [default: glb]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
scale

Scale a mesh by a factor or perform unit conversion.

Usage:

assgen gen visual mesh scale [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Mesh file  [required]
  -s, --scale FLOAT   Uniform scale factor
  --from TEXT         Source unit, e.g. 'cm'
  --to TEXT           Target unit, e.g. 'm'
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
validate

Check mesh integrity: manifold, holes, non-manifold edges, duplicate verts.

Usage:

assgen gen visual mesh validate [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Mesh file to validate  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes
weld

Merge near-duplicate vertices within a threshold distance.

Usage:

assgen gen visual mesh weld [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE             Mesh file  [required]
  -t, --threshold FLOAT  Distance threshold for merging vertices  [default:
                         1e-05]
  -o, --output TEXT      Output file or directory path
  --wait / --no-wait     Block until the job completes

model

3D mesh generation, retopo, splat

Usage:

assgen gen visual model [OPTIONS] COMMAND [ARGS]...
create

Generate a 3D mesh from text or an image using InstantMesh (multi-view diffusion).

Examples: assgen gen visual model create "low-poly medieval sword" --wait assgen gen visual model create "cartoon treasure chest" --format glb --wait assgen gen visual model create "sci-fi pistol" --format obj --triangulate --wait assgen gen visual model create "wooden barrel" --from-job --wait

Usage:

assgen gen visual model create [OPTIONS]

Options:

  -p, --prompt TEXT       Text description
  -i, --input-image TEXT  Input image path or URL
  -f, --format TEXT       Output format: glb obj fbx  [default: glb]
  --target-faces INTEGER  Max triangles after decimation (default 10 000)
  -o, --output TEXT       Output file path (.glb/.obj/.fbx)
  --wait / --no-wait      Block until the job completes and stream live
                          progress
  --model-id TEXT         Override HF model (validated by server)
edit

Edit an existing mesh (deform, boolean, combine).

Usage:

assgen gen visual model edit [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH          Mesh to edit  [required]
  --op TEXT           deform | boolean | combine  [default: deform]
  --prompt TEXT       Edit guidance
  --secondary TEXT    Second mesh for boolean/combine
  -o, --output TEXT   Output file path (.glb/.obj/.fbx)
  --wait / --no-wait  Block until the job completes and stream live progress
export

Convert and export a mesh to a specific engine format.

Usage:

assgen gen visual model export [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH          Mesh to export  [required]
  -f, --format TEXT   glb obj fbx uasset  [default: glb]
  -o, --output TEXT   Output file path (.glb/.obj/.fbx)
  --wait / --no-wait  Block until the job completes and stream live progress
highpoly

Refine a mesh to high-poly for normal map baking.

Usage:

assgen gen visual model highpoly [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH          Input mesh path  [required]
  --detail INTEGER    Detail level 1-5  [default: 3]
  -o, --output TEXT   Output file path (.glb/.obj/.fbx)
  --wait / --no-wait  Block until the job completes and stream live progress
optimize

Generate LOD variants and reduce polygon count.

Usage:

assgen gen visual model optimize [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH              Mesh to optimise  [required]
  --lods INTEGER          Number of LOD levels  [default: 3]
  --target-polys INTEGER
  -o, --output TEXT       Output file path (.glb/.obj/.fbx)
  --wait / --no-wait      Block until the job completes and stream live
                          progress
retopo

Auto-retopology: produce clean, game-ready mesh topology.

Usage:

assgen gen visual model retopo [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH              High-poly or raw AI mesh to retopologise  [required]
  --target-polys INTEGER  Target polygon count
  --quads / --tris        Prefer quads or triangles  [default: quads]
  -o, --output TEXT       Output file path (.glb/.obj/.fbx)
  --wait / --no-wait      Block until the job completes and stream live
                          progress
splat

Generate a triangle mesh from multi-view images (TripoSR).

NOTE: Output is a triangle mesh (PLY/GLB), NOT a Gaussian Splat (3DGS). True 3DGS training requires a separate pipeline such as nerfstudio or the original gaussian-splatting trainer. The mesh output can be fed into a downstream 3DGS trainer as a point-cloud initialisation.

Usage:

assgen gen visual model splat [OPTIONS] IMAGES...

Options:

  IMAGES...               Multi-view input images  [required]
  --convert-mesh          Also export a .ply alongside the .glb
  --target-faces INTEGER  Max triangles after trimesh decimation  [default:
                          10000]
  -o, --output TEXT       Output file path (.glb/.obj/.fbx)
  --wait / --no-wait      Block until the job completes and stream live
                          progress

rig

Auto-rigging, skinning, retargeting

Usage:

assgen gen visual rig [OPTIONS] COMMAND [ARGS]...
auto

Auto-rig a mesh with a skeleton (UniRig-style).

Usage:

assgen gen visual rig auto [OPTIONS] MESH

Options:

  MESH                Character / creature mesh to rig  [required]
  --type TEXT         biped | quadruped | wing | custom  [default: biped]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
retarget

Retarget an existing rig to a different mesh.

Usage:

assgen gen visual rig retarget [OPTIONS] SOURCE_RIG TARGET_MESH

Options:

  SOURCE_RIG          Source rigged mesh  [required]
  TARGET_MESH         Target mesh to retarget the rig onto  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
skin

Generate or refine skin weight maps for a rigged mesh.

Usage:

assgen gen visual rig skin [OPTIONS] MESH

Options:

  MESH                Mesh with an existing skeleton  [required]
  --method TEXT       Skinning method: heat | geodesic | ai  [default: heat]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

sprite

Sprite sheet packing and animation frames

Usage:

assgen gen visual sprite [OPTIONS] COMMAND [ARGS]...
pack

Pack animation frames into a sprite sheet PNG + manifest JSON.

Usage:

assgen gen visual sprite pack [OPTIONS] INPUTS...

Options:

  INPUTS...           Ordered list of frame image files  [required]
  -c, --cols INTEGER  Number of columns in the sprite sheet  [default: 4]
  -o, --output TEXT   Output directory path
  --wait / --no-wait  Block until the job completes

texture

PBR textures, baking, material sets

Usage:

assgen gen visual texture [OPTIONS] COMMAND [ARGS]...
apply

Apply a PBR texture set to a mesh (UV-based projection).

Usage:

assgen gen visual texture apply [OPTIONS] MESH TEXTURE_DIR

Options:

  MESH                Mesh to apply textures to  [required]
  TEXTURE_DIR         Directory containing PBR texture maps  [required]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
atlas-pack

Pack images into a texture atlas + UV manifest JSON.

Usage:

assgen gen visual texture atlas-pack [OPTIONS] INPUTS...

Options:

  INPUTS...           Image files to pack into atlas  [required]
  -s, --size TEXT     Atlas dimensions WxH  [default: 2048x2048]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
bake

Bake normal, AO, and curvature from a high-poly to low-poly mesh.

Usage:

assgen gen visual texture bake [OPTIONS] HIGHPOLY LOWPOLY

Options:

  HIGHPOLY                  High-poly source mesh  [required]
  LOWPOLY                   Low-poly target mesh  [required]
  --maps TEXT               Maps to bake: normal ao curvature height
                            [default: normal,ao,curvature]
  -r, --resolution INTEGER  [default: 2048]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
channel-pack

Pack separate R/G/B/A channel images into a single RGBA texture.

Usage:

assgen gen visual texture channel-pack [OPTIONS]

Options:

  --r TEXT            Red channel image path  [required]
  --g TEXT            Green channel image path  [required]
  --b TEXT            Blue channel image path  [required]
  --a TEXT            Alpha channel image path (optional)
  --output-name TEXT  Output filename  [default: packed.png]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
convert

Convert an image to a different format (PNG/TGA/JPG/EXR β†’ WebP/PNG/TGA/JPG).

Usage:

assgen gen visual texture convert [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Source image file  [required]
  -f, --format TEXT   Target format: png jpg tga webp exr  [default: png]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
generate

Generate albedo and PBR maps from a text prompt or mesh reference.

Examples: assgen gen visual texture generate --prompt "worn cobblestone, mossy" --wait assgen gen visual texture generate -p "rusted metal panel" --resolution 2048 --wait assgen gen visual texture generate -p "oak wood planks" --maps albedo,normal,roughness --wait

Usage:

assgen gen visual texture generate [OPTIONS]

Options:

  -p, --prompt TEXT         Texture description
  -m, --mesh TEXT           Mesh to texture
  -r, --resolution INTEGER  Texture resolution (px)  [default: 1024]
  --maps TEXT               Comma-separated PBR maps to generate  [default:
                            albedo,normal,roughness,metallic]
  --style TEXT              Material style, e.g. 'worn stone'
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
mipmap

Generate a full mipmap chain and save each level as a PNG.

Usage:

assgen gen visual texture mipmap [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Source image file  [required]
  --min-size INTEGER  Stop at this minimum dimension (px)  [default: 1]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
normalmap-convert

Flip G channel to convert a normal map between DirectX and OpenGL conventions.

Usage:

assgen gen visual texture normalmap-convert [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE          Normal map image file  [required]
  --from-format TEXT  Source convention: dx | gl  [default: dx]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
pbr

Derive a full PBR material set (normal, roughness, metallic, AO, height) from an albedo image.

Usage:

assgen gen visual texture pbr [OPTIONS] ALBEDO

Options:

  ALBEDO                    Source albedo/diffuse image (PNG or JPEG)
                            [required]
  --maps TEXT               Comma-separated PBR maps to derive: normal
                            roughness metallic ao height  [default:
                            normal,roughness,metallic,ao,height]
  -r, --resolution INTEGER  Resize albedo before processing (e.g. 1024)
  --normal-strength FLOAT   Strength multiplier for normal map gradient
                            [default: 2.0]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
report

Generate a texture report: format, dimensions, and estimated GPU memory.

Usage:

assgen gen visual texture report [OPTIONS] [INPUTS]...

Options:

  [INPUTS]...           Image files to report on (or use --directory)
  -d, --directory TEXT  Directory to scan for textures
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress
resize

Resize a texture image to specified dimensions.

Usage:

assgen gen visual texture resize [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE            Source texture image  [required]
  -W, --width INTEGER   Target width in pixels
  -H, --height INTEGER  Target height in pixels
  --pow2                Snap to next power-of-2
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress
seamless

Fix tile seams via offset-blend to make a texture seamlessly tileable.

Usage:

assgen gen visual texture seamless [OPTIONS] INPUT_FILE

Options:

  INPUT_FILE           Source texture image  [required]
  --blend-width FLOAT  Blend zone as fraction of image size (0.01–0.49)
                       [default: 0.1]
  -o, --output TEXT    Output file or directory path
  --wait / --no-wait   Block until the job completes and stream live progress

ui

Icons, HUD elements, 2D overlays

Usage:

assgen gen visual ui [OPTIONS] COMMAND [ARGS]...
button

Generate styled game buttons with state variants, DPI scales, and optional 9-slice metadata.

State choices: normal, hover, pressed, disabled, focused, selected, locked

Examples: assgen gen visual ui button "stone RPG button" --states normal,hover,pressed --wait assgen gen visual ui button "sci-fi button" --nine-slice auto --dpi 1x,2x --wait assgen gen visual ui button "fantasy button" --greyscale-base --states normal,disabled --wait

Usage:

assgen gen visual ui button [OPTIONS] PROMPT

Options:

  PROMPT                          Button description, e.g. 'medieval stone
                                  START button'  [required]
  --style TEXT                    Visual style hint, e.g. 'flat', 'pixel-art',
                                  'gothic'
  --width INTEGER                 [default: 256]
  --height INTEGER                [default: 128]
  --states TEXT                   Comma-separated state variants: normal,hover
                                  ,pressed,disabled,focused,selected,locked
                                  [default: normal]
  --nine-slice TEXT               'auto' β†’ emit .meta.json sidecar with
                                  9-slice inset margins; 'off' to skip
                                  [default: off]
  --nine-slice-inset INTEGER      Override 9-slice border inset in px
                                  (default: ~16%% of shortest edge)
  --dpi TEXT                      Comma-separated DPI scale variants to
                                  output, e.g. '1x,2x,3x'  [default: 1x]
  --greyscale-base / --no-greyscale-base
                                  Output greyscale+alpha so the engine can
                                  tint at runtime  [default: no-greyscale-
                                  base]
  --steps INTEGER                 Inference steps (quality vs. speed)
                                  [default: 25]
  -o, --output TEXT               Output file or directory path
  --wait / --no-wait              Block until the job completes and stream
                                  live progress
hud

Generate HUD elements (health bars, minimaps, meters).

Usage:

assgen gen visual ui hud [OPTIONS] PROMPT

Options:

  PROMPT              HUD element description, e.g. 'health bar sci-fi'
                      [required]
  --width INTEGER     [default: 512]
  --height INTEGER    [default: 128]
  --style TEXT        Visual style hint, e.g. 'flat', 'pixel-art', 'gothic'
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
icon

Generate game UI icons or inventory sprites.

Usage:

assgen gen visual ui icon [OPTIONS] PROMPT

Options:

  PROMPT               Icon description, e.g. 'crossed swords inventory icon'
                       [required]
  -s, --size INTEGER   Icon size in pixels  [default: 256]
  --style TEXT         Visual style hint, e.g. 'flat', 'pixel-art', 'gothic'
  -n, --count INTEGER  Number of variants to generate  [default: 1]
  -o, --output TEXT    Output file or directory path
  --wait / --no-wait   Block until the job completes and stream live progress
iconset

Generate a themed icon pack with visual consistency across all icons.

Examples: assgen gen visual ui iconset "fantasy RPG" --icons "sword,shield,potion,map,key" --wait assgen gen visual ui iconset "sci-fi HUD" --count 12 --style-image ref_icon.png --wait

Usage:

assgen gen visual ui iconset [OPTIONS] PROMPT

Options:

  PROMPT               Icon theme, e.g. 'fantasy RPG inventory icons'
                       [required]
  --icons TEXT         Comma-separated icon names, e.g.
                       'sword,shield,potion,key'
  --style-image TEXT   Reference icon for style consistency
  -n, --count INTEGER  Number of icons (when --icons not specified)  [default:
                       8]
  -s, --size INTEGER   Icon size in pixels (square)  [default: 128]
  --steps INTEGER      Inference steps (quality vs. speed)  [default: 25]
  -o, --output TEXT    Output file or directory path
  --wait / --no-wait   Block until the job completes and stream live progress
layout

Generate grid-based HUD and menu layout compositions.

Examples: assgen gen visual ui layout "medieval RPG inventory grid, 6x4 item slots" --wait assgen gen visual ui layout "space game HUD" --reference grid_sketch.png --wait

Usage:

assgen gen visual ui layout [OPTIONS] PROMPT

Options:

  PROMPT                Layout description, e.g. 'sci-fi HUD minimap top-
                        right, health bottom-left'  [required]
  -r, --reference TEXT  Path to layout sketch or depth reference
  --width INTEGER       [default: 1280]
  --height INTEGER      [default: 720]
  --cn-scale FLOAT      [default: 0.7]
  --steps INTEGER       [default: 30]
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress
mockup

Generate full-screen UI mockups, optionally guided by a sketch reference.

Examples: assgen gen visual ui mockup "dark fantasy RPG main menu" --wait assgen gen visual ui mockup "sci-fi HUD" --reference wireframe.png --wait

Usage:

assgen gen visual ui mockup [OPTIONS] PROMPT

Options:

  PROMPT                Screen description, e.g. 'fantasy RPG main menu dark
                        castle'  [required]
  -r, --reference TEXT  Path to sketch/wireframe reference image
  --width INTEGER       [default: 1280]
  --height INTEGER      [default: 720]
  --cn-scale FLOAT      ControlNet strength (0.0–1.0)  [default: 0.8]
  --steps INTEGER       [default: 30]
  -o, --output TEXT     Output file or directory path
  --wait / --no-wait    Block until the job completes and stream live progress
overlay

Generate a 2D overlay for a 3D game canvas.

Usage:

assgen gen visual ui overlay [OPTIONS] PROMPT

Options:

  PROMPT                    Overlay description  [required]
  --width INTEGER           [default: 1920]
  --height INTEGER          [default: 1080]
  --transparent / --opaque  [default: transparent]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
panel

Generate dialog boxes, inventory frames, and panel chrome.

Usage:

assgen gen visual ui panel [OPTIONS] PROMPT

Options:

  PROMPT              Panel description, e.g. 'gothic stone dialog frame'
                      [required]
  -t, --type TEXT     dialog|inventory|tooltip|frame|border  [default: dialog]
  --style TEXT        Visual style hint, e.g. 'flat', 'pixel-art', 'gothic'
  --width INTEGER     [default: 512]
  --height INTEGER    [default: 256]
  --steps INTEGER     Inference steps (quality vs. speed)  [default: 25]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
screen

Generate a complete game screen composition at full resolution.

Examples: assgen gen visual ui screen "fantasy RPG combat HUD" --type gameplay --wait assgen gen visual ui screen "space game main menu" --type mainmenu --wait

Usage:

assgen gen visual ui screen [OPTIONS] PROMPT

Options:

  PROMPT              Screen description, e.g. 'fantasy RPG combat with health
                      bars and minimap'  [required]
  -t, --type TEXT     gameplay|mainmenu|pause|inventory|loading|cutscene
                      [default: gameplay]
  --width INTEGER     [default: 1920]
  --height INTEGER    [default: 1080]
  --steps INTEGER     [default: 35]
  --guidance FLOAT    [default: 7.5]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
theme

Generate a coordinated UI theme kit (icons + buttons + panels) from a style reference.

Examples: assgen gen visual ui theme "dark souls gothic stone" style_ref.png --wait assgen gen visual ui theme "pixel art retro" ref.png --elements "icon,button" --wait

Usage:

assgen gen visual ui theme [OPTIONS] PROMPT STYLE_IMAGE

Options:

  PROMPT              Theme description, e.g. 'dark souls gothic stone
                      medieval'  [required]
  STYLE_IMAGE         Reference image that defines the visual style
                      [required]
  --elements TEXT     Comma-separated elements to generate:
                      icon,button,panel,widget (default: all)
  --ip-scale FLOAT    Style influence (0.0–1.0)  [default: 0.65]
  --steps INTEGER     [default: 30]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
widget

Generate individual UI controls (sliders, toggles, checkboxes, progress bars).

Usage:

assgen gen visual ui widget [OPTIONS] PROMPT

Options:

  PROMPT              Widget description, e.g. 'fantasy scroll health bar'
                      [required]
  -t, --type TEXT     slider|toggle|checkbox|progressbar|spinner|radio|knob
                      [default: slider]
  --style TEXT        Visual style hint, e.g. 'flat', 'pixel-art', 'gothic'
  --width INTEGER     [default: 320]
  --height INTEGER    [default: 64]
  --steps INTEGER     Inference steps (quality vs. speed)  [default: 25]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

uv

UV unwrapping and layout optimisation

Usage:

assgen gen visual uv [OPTIONS] COMMAND [ARGS]...
auto

Run AI smart-unwrap on a mesh.

Usage:

assgen gen visual uv auto [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH          Mesh to unwrap  [required]
  --padding INTEGER   UV island padding in pixels  [default: 4]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
manual

Generate AI seam suggestions for a mesh.

Usage:

assgen gen visual uv manual [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH          Mesh to provide seam guidance for  [required]
  --style TEXT        Unwrap style: organic | hard-surface
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress
optimize

Optimise UV island packing and texel density.

Usage:

assgen gen visual uv optimize [OPTIONS] INPUT_MESH

Options:

  INPUT_MESH             Mesh with existing UVs to optimize  [required]
  --texel-density FLOAT  Target texels/metre
  -o, --output TEXT      Output file or directory path
  --wait / --no-wait     Block until the job completes and stream live
                         progress

vfx

Particle systems, decals, simulations

Usage:

assgen gen visual vfx [OPTIONS] COMMAND [ARGS]...
decal

Generate a decal texture (with alpha channel).

Usage:

assgen gen visual vfx decal [OPTIONS] PROMPT

Options:

  PROMPT                    Decal description, e.g. 'bullet hole in metal'
                            [required]
  -r, --resolution INTEGER  [default: 512]
  --alpha / --no-alpha      Include alpha channel  [default: alpha]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
particle

Generate a particle texture / sprite sheet.

Usage:

assgen gen visual vfx particle [OPTIONS] PROMPT

Options:

  PROMPT                    Effect description, e.g. 'magical sparkle burst'
                            [required]
  --frames INTEGER          Sprite sheet frame count  [default: 16]
  -r, --resolution INTEGER  [default: 512]
  -o, --output TEXT         Output file or directory path
  --wait / --no-wait        Block until the job completes and stream live
                            progress
sim

Run and bake a physics-based VFX simulation.

Usage:

assgen gen visual vfx sim [OPTIONS] SIM_TYPE

Options:

  SIM_TYPE            Simulation type: fire smoke cloth destruction fluid
                      [required]
  --duration FLOAT    Simulation duration in seconds  [default: 2.0]
  -o, --output TEXT   Output file or directory path
  --wait / --no-wait  Block until the job completes and stream live progress

jobs

Job queue management

Usage:

assgen jobs [OPTIONS] COMMAND [ARGS]...

cancel

Cancel a queued or running job.

Usage:

assgen jobs cancel [OPTIONS] JOB_ID

Options:

  JOB_ID                    Job ID to cancel  [required]
  --confirm / --no-confirm  Ask for confirmation  [default: confirm]

clean

Remove old terminal jobs from the local database.

Note: this operates directly on the local SQLite DB (config dir), not via the server API.

Usage:

assgen jobs clean [OPTIONS]

Options:

  -s, --status TEXT   Which statuses to delete  [default: COMPLETED, FAILED,
                      CANCELLED]
  -d, --days INTEGER  Only delete jobs older than N days
  --dry-run           Show what would be deleted

download

Download the output files produced by a completed job.

Usage:

assgen jobs download [OPTIONS] JOB_ID

Options:

  JOB_ID             Job ID to download files from  [required]
  -o, --output TEXT  Directory to save downloaded files (default: current
                     directory)

list

List enqueued and recent jobs.

Usage:

assgen jobs list [OPTIONS]

Options:

  -s, --status TEXT    Filter by status (repeatable): QUEUED RUNNING COMPLETED
                       FAILED CANCELLED
  -n, --limit INTEGER  Max number of jobs to show  [default: 50]

rerun

Re-submit a previous job with the same type and parameters.

Fetches the original job's job_type and user-supplied params, then enqueues a fresh job. Internal/pipeline params (upstream_files, _quality, upstream_job_id, context_map) are stripped β€” use --from-job / --quality on the new run if you need them again.

Examples: assgen jobs rerun a1b2c3d4 assgen jobs rerun a1b2c3d4 --wait assgen jobs rerun a1b2c3d4 --dry-run

Usage:

assgen jobs rerun [OPTIONS] JOB_ID

Options:

  JOB_ID              Job ID or prefix to re-submit  [required]
  --wait / --no-wait  Wait for the new job to complete (overrides client
                      default)
  --dry-run           Print what would be re-submitted without actually
                      enqueuing

status

Show the status of a single job.

Usage:

assgen jobs status [OPTIONS] JOB_ID

Options:

  JOB_ID  Job ID or prefix  [required]

wait

Wait for a job to reach a terminal state, showing a live progress bar.

Usage:

assgen jobs wait [OPTIONS] JOB_ID

Options:

  JOB_ID               Job ID to wait for  [required]
  -t, --timeout FLOAT  Max wait seconds

models

Model catalog and installation

Usage:

assgen models [OPTIONS] COMMAND [ARGS]...

install

Download and cache models from HuggingFace Hub.

Without arguments, installs all models configured in the catalog.

Usage:

assgen models install [OPTIONS] [MODEL_IDS]...

Options:

  [MODEL_IDS]...     Model IDs to install. Omit to install all catalog models.
  -a, --all          Install every model in the catalog
  -r, --recommended  Install the 5 most commonly used models (~25 GB total)

list

List all models in the catalog with their installation status.

Usage:

assgen models list [OPTIONS]

Options:

  --installed  Show only installed models

status

Show installation status and usage history for a specific model.

Usage:

assgen models status [OPTIONS] MODEL_ID

Options:

  MODEL_ID  HuggingFace model ID  [required]

server

Local server process management

Usage:

assgen server [OPTIONS] COMMAND [ARGS]...

config

View and update assgen-server runtime configuration.

Usage:

assgen server config [OPTIONS] COMMAND [ARGS]...

models

Show and manage the task β†’ model catalog used by the server.

This is the same as running assgen config list but surfaced here so it's discoverable under server configuration.

To add / change a model: assgen server config models --domain visual assgen config set [--model-id ]

Usage:

assgen server config models [OPTIONS]

Options:

  -d, --domain TEXT  Filter by domain (visual, audio, scene…)

set

Persist a server configuration setting to ~/.config/assgen/server.yaml.

Changes take effect on next server start.

Examples: assgen server config set device cuda assgen server config set port 9000 assgen server config set log_level debug

Usage:

assgen server config set [OPTIONS] KEY VALUE

Options:

  KEY     Config key, e.g. device or port  [required]
  VALUE   New value  [required]

show

Show the resolved assgen-server runtime configuration.

Usage:

assgen server config show [OPTIONS]

start

Start a local assgen-server.

Usage:

assgen server start [OPTIONS]

Options:

  --daemon / --foreground  Run as background daemon  [default: daemon]
  --host TEXT              Override server host
  --port INTEGER           Override server port

status

Show whether a local assgen-server is running.

Usage:

assgen server status [OPTIONS]

stop

Stop the local assgen-server.

Usage:

assgen server stop [OPTIONS]

unset

Remove the configured server URL β€” revert to auto-start mode. (Alias for: assgen client config unset-server)

Usage:

assgen server unset [OPTIONS]

use

Point the client at a specific server URL. (Alias for: assgen client config set-server)

Usage:

assgen server use [OPTIONS] URL

Options:

  URL     Server URL, e.g. http://192.168.1.100:8432  [required]

tasks

Browse all game dev tasks and their configured models

Usage:

assgen tasks [OPTIONS] COMMAND [ARGS]...

Options:

  -d, --domain TEXT  Filter to a single domain: visual audio scene pipeline
                     support qa
  --json             Output as JSON (job-type list)

upgrade

Check for and install the latest assgen release

Usage:

assgen upgrade [OPTIONS] COMMAND [ARGS]...

Options:

  --check    Only check β€” do not install
  --pre      Include pre-release versions
  -y, --yes  Skip confirmation prompt

version

Print version information and exit.

Usage:

assgen version [OPTIONS]
assgen [OPTIONS] COMMAND
Subcommand Description
compose Multi-step asset pipelines (NPC, weapon, prop, material, soundscape, ui-kit, environment)
tasks Browse all game dev tasks and their assigned AI models
visual 3D visual assets (models, textures, rigs, animations, VFX)
audio Sound effects, music, and voice synthesis
scene Physics collision data and lighting assets
pipeline Workflows, batching, and engine integration
support Narrative, lore, and procedural data
qa Asset validation and performance testing
jobs Job queue management
models Model catalog and installation
config Task β†’ model catalog management
client Client configuration (server targeting)
server Server process management
upgrade Check for and install the latest release
version Print version information

assgen compose

Multi-step asset pipelines β€” a single command that chains multiple generation steps sequentially, passing each step's output into the next. The cost equals the sum of the individual steps; there is no additional overhead.

assgen compose npc

Generate a complete game NPC from a text description:

concept art β†’ multi-view (Zero123++) β†’ mesh β†’ UV unwrap β†’ concept-guided texture
β†’ auto-rig (Unity humanoid) β†’ animation retargeting β†’ LOD levels β†’ collision mesh
β†’ NPC dialog text β†’ TTS voice lines β†’ engine export
assgen compose npc "pig shopkeeper with apron, medieval fantasy" --wait
assgen compose npc "dark elf archer" --style "gritty realistic" --engine unreal --wait
assgen compose npc "robot guard" --no-multiview \
    --animations idle,walk,attack_light,death \
    --skeleton humanoid --engine unity --wait
assgen compose npc "wizard" --voice "elderly male, wise" --no-lod --no-collider --wait

# Preview what steps will run without executing
assgen compose npc "dwarf warrior" --dry-run
Flag Default Description
--style β€” Visual style applied to all steps
--voice β€” TTS voice descriptor for dialog lines
--animations idle,walk,talk Comma-separated BVH clips to retarget
--skeleton humanoid biped or humanoid (Unity 55-bone naming)
--engine unity unity | unreal | godot
--lod/--no-lod on Generate LOD 0/1/2
--collider/--no-collider on Generate collision mesh
--multiview/--no-multiview on Use Zero123++ for better mesh quality
--quality standard draft | standard | high
--output β€” Output directory
--dry-run off Print steps without executing

assgen compose weapon

Generate a complete weapon asset:

concept art β†’ mesh β†’ UV unwrap β†’ concept-guided texture β†’ LOD levels
β†’ collision mesh β†’ engine export
assgen compose weapon "rusted iron longsword, dark fantasy" --wait
assgen compose weapon "plasma rifle" --style "sci-fi, chrome" --engine unreal --wait

assgen compose prop

Generate a static game prop (barrel, crate, torch, furniture, etc.):

concept art β†’ mesh β†’ UV unwrap β†’ concept-guided texture β†’ LOD levels
β†’ collision mesh β†’ engine export
assgen compose prop "wooden barrel with iron bands, medieval" --wait
assgen compose prop "stone pillar, dungeon" --type decoration --engine godot --wait
assgen compose prop "lantern hanging, warm glow" --quality low --wait
assgen compose prop "ornate chest, treasure" --dry-run

Flags: - --type {furniture,container,decoration,foliage,structure} β€” steers the concept prompt - --quality {low,medium,high} β€” mesh and texture quality - --engine {unity,unreal,godot} β€” export format


assgen compose material

Generate a full PBR material set from a text description:

albedo texture β†’ seamless tiling β†’ normal map β†’ PBR channels (roughness/AO/metallic)
β†’ optional upscale β†’ engine export

Output: albedo.png, normal.png, roughness.png, ao.png, metallic.png

assgen compose material "weathered cobblestone, mossy" --wait
assgen compose material "rusted iron sheet" --resolution 2048 --upscale --wait
assgen compose material "worn oak planks" --type wood --engine godot --wait
assgen compose material "dragon scale skin, iridescent" --dry-run

Flags: - --resolution {512,1024,2048,4096} β€” texture dimensions (default: 1024) - --upscale / --no-upscale β€” 2Γ— Real-ESRGAN pass (default: off) - --type {organic,metal,stone,wood,fabric} β€” prompt augmentation - --engine {unity,unreal,godot} β€” export folder structure


assgen compose soundscape

Generate a complete audio suite for a game level or biome:

ambient loop β†’ theme music β†’ loopable music β†’ N themed SFX
β†’ loop optimization β†’ export
assgen compose soundscape "enchanted forest at night" --wait
assgen compose soundscape "medieval tavern, busy crowd" --sfx-count 8 --wait
assgen compose soundscape "dungeon" --sfx-list "drip,chain,growl,footstep" --wait
assgen compose soundscape "space station" --no-music --duration 60 --wait
assgen compose soundscape "volcano" --dry-run

Flags: - --sfx-count N β€” number of SFX to generate (default: 5) - --sfx-list "a,b,c" β€” explicit SFX prompts instead of auto-generated - --no-music β€” skip music, generate ambient loop + SFX only - --duration N β€” audio length in seconds (default: 30)


assgen compose ui-kit

Generate a cohesive UI element set for a game:

style reference β†’ button states β†’ dialog panel β†’ N icons
β†’ widget elements β†’ export
assgen compose ui-kit "dark fantasy RPG" --wait
assgen compose ui-kit "sci-fi HUD, blue glow" --icons "health,shield,ammo,radar" --wait
assgen compose ui-kit "cozy farming game" --palette "warm earthy tones" --wait
assgen compose ui-kit "horror survival" --dry-run

Flags: - --icons "a,b,c" β€” comma-separated icon names to generate (default: health, mana, stamina, gold, sword, shield) - --palette "description" β€” color palette hint added to every prompt - --engine {unity,unreal,godot} β€” export folder structure


assgen compose environment

Generate a complete level environment kit β€” multiple props, ground material, and ambient audio β€” all sharing a common visual style:

style reference β†’ N Γ— (concept β†’ mesh β†’ UV β†’ texture β†’ LOD β†’ collider)
β†’ ground material (albedo β†’ seamless β†’ normal β†’ PBR)
β†’ ambient loop + theme music β†’ batch export
assgen compose environment "medieval tavern interior" --count 6 --wait
assgen compose environment "sci-fi corridor" --count 4 --engine unreal --wait
assgen compose environment "haunted forest clearing" \
    --items "dead tree,gravestone,iron fence,lantern" --wait
assgen compose environment "crystal cave" --no-audio --no-ground --dry-run

Flags: - --count N β€” number of props to generate (default: 6) - --items "a,b,c" β€” explicit prop list (overrides --count) - --no-audio β€” skip ambient and music generation - --no-ground β€” skip ground material generation - --quality {low,medium,high} β€” applied to all prop steps - --engine {unity,unreal,godot} β€” export format

Note: With 6 props this pipeline runs ~26 sequential steps. Use --dry-run to preview the full chain before submitting.


assgen pipeline

assgen pipeline workflow

Define and execute multi-step workflows. Unlike compose, workflows are saved as YAML and can be parameterised at run-time. Each step waits for the previous to complete and receives its output files as upstream_files.

# Define a workflow (auto-chains output β†’ input by default)
assgen pipeline workflow create my-npc \
    visual.concept.generate visual.model.splat visual.uv.auto visual.rig.auto

# Preview without executing
assgen pipeline workflow run my-npc --dry-run

# Execute with custom inputs
assgen pipeline workflow run my-npc --inputs '{"prompt": "pig shopkeeper"}'

# List saved workflows
assgen pipeline workflow list

Workflow YAML format (saved to ~/.config/assgen/workflows/<name>.yaml):

name: my-npc
chain: true   # auto-pass upstream_files between steps
steps:
  - id: concept
    job_type: visual.concept.generate
  - id: mesh
    job_type: visual.model.splat
    from_step: concept        # receives concept's output as upstream_files
  - id: uv
    job_type: visual.uv.auto
    from_step: mesh
  - id: rig
    job_type: visual.rig.auto
    from_step: mesh
    params:
      skeleton: humanoid

Global output flags

Three mutually exclusive output modes are available on every command:

Flag Description
(default) Rich human-readable output with colours and progress bars
--json Emit machine-readable JSON to stdout; suppresses progress bars
--yaml Emit machine-readable YAML to stdout; suppresses progress bars

--json and --yaml are useful for scripting and piping to other tools:

# JSON β€” pipe to jq
assgen --json gen visual concept generate "ruined castle" --wait | jq .job_id

# YAML β€” human-friendly alternative
assgen --yaml jobs status a1b2c3d4

# Use in a pipeline
JOB=$(assgen --json gen visual model create --wait | python -c "import sys,json; print(json.load(sys.stdin)['job_id'])")
assgen --yaml jobs status "$JOB"

assgen tasks

assgen tasks [--domain DOMAIN] [--json]

Displays a rich tree of all 82 game development tasks with their assigned AI models.

Option Description
--domain Filter by domain: visual, audio, scene, pipeline, qa, support
--json Output as JSON for scripting

assgen gen visual

assgen gen visual model

assgen gen visual model create --prompt "medieval sword" [--input-image img.png] \
    [--format glb] [--model-id org/repo] [--wait]
assgen gen visual model retopo input.glb [--target-faces 5000] [--wait]
assgen gen visual model splat [--input-dir ./frames] [--wait]
assgen gen visual model optimize input.glb [--lod-levels 3] [--wait]
assgen gen visual model export input.glb [--engine unity|unreal|godot] [--wait]

# Multi-view turnaround: single image β†’ 6 views (Zero123++) β€” better mesh quality
assgen gen visual model multiview --input concept.png [--prompt "pig shopkeeper"] [--wait]

assgen gen visual texture

assgen gen visual texture generate input.glb --prompt "worn leather" [--resolution 2048] [--wait]
assgen gen visual texture bake high.glb low.glb [--map-types all] [--wait]
assgen gen visual texture pbr input.glb [--style "sci-fi metal"] [--wait]

# Concept-guided texturing: style from concept art β†’ UV texture atlas (IP-Adapter SDXL)
assgen gen visual texture from-concept mesh.glb --concept concept.png \
    --prompt "pig shopkeeper, painterly" [--resolution 1024] [--wait]

assgen gen visual rig

assgen gen visual rig auto character.glb [--skeleton humanoid|biped|animal|custom] [--wait]
# --skeleton humanoid  outputs Unity-compatible 55-bone naming (Hips, Spine, LeftUpperArm…)
assgen gen visual rig skin character.glb [--bone-influence 4] [--wait]
assgen gen visual rig retarget source.glb target.glb [--wait]

assgen gen visual animate

assgen gen visual animate keyframe character.glb --prompt "walk cycle" [--frames 60] [--wait]
assgen gen visual animate mocap video.mp4 [--target character.glb] [--wait]
assgen gen visual animate blend anim1.glb anim2.glb [--weight 0.5] [--wait]

# BVH clip retargeting: apply bundled CMU Mocap clips to a rigged character
assgen gen visual animate retarget rig.glb \
    --clips idle,walk,run,talk,attack_light,death \
    [--skeleton humanoid] [--wait]
# Available clips: idle, walk, run, turn_left, turn_right, talk, attack_light,
#                  attack_heavy, death, jump, strafe_left, strafe_right,
#                  crouch_idle, wave, sit_idle

Other visual subcommands

assgen gen visual concept generate --prompt "fantasy castle" [--wait]
assgen gen visual uv auto mesh.glb [--wait]
assgen gen visual vfx particle --prompt "fire explosion" [--wait]

assgen gen visual ui

Generate UI components for games β€” icons, HUD elements, and full screen compositions.

# Single items
assgen gen visual ui icon    "health potion"         [--size 256] [--wait]
assgen gen visual ui button  "medieval stone button" [--states normal,hover,pressed,focused] [--nine-slice auto] [--dpi 1x,2x] [--greyscale-base] [--wait]
assgen gen visual ui panel   "gothic dialog frame"   [--type dialog] [--wait]
assgen gen visual ui widget  "fantasy scroll health bar" [--type progressbar] [--wait]

# Screen-level compositions
assgen gen visual ui mockup  "RPG main menu dark castle" [--reference sketch.png] [--wait]
assgen gen visual ui layout  "sci-fi HUD, minimap top-right" [--reference grid.png] [--wait]
assgen gen visual ui screen  "RPG combat HUD"        [--type gameplay] [--wait]

# Theme kits
assgen gen visual ui iconset "fantasy RPG" --icons "sword,shield,potion,key" [--wait]
assgen gen visual ui theme   "dark souls gothic stone" style_ref.png          [--wait]

assgen gen audio

assgen gen audio sfx generate "laser gun firing" [--duration 2.0] [--model-id org/repo] [--wait]
assgen gen audio music compose "epic battle theme" [--duration 30] [--wait]
assgen gen audio music loop input.wav [--target-duration 60] [--wait]
assgen gen audio voice tts "Welcome, hero." [--voice en_default] [--wait]
assgen gen audio voice dialog dialog.json [--voice npcs.yaml] [--wait]

assgen jobs

assgen jobs list [--status queued|running|completed|failed] [--limit 50]
assgen jobs status <id>        # full 36-char UUID or 8-char prefix
assgen jobs wait <id>          # block with live progress bar
assgen jobs cancel <id>
assgen jobs clean [--days 30]  # remove completed jobs older than N days

jobs status displays the job type, status, timestamps, and the original user input parameters (prompt, flags, file paths) so you can review or reproduce any previous run. Pass --json / --yaml to get machine-readable output suitable for re-running the job with tweaked parameters:

# Inspect a past run in YAML
assgen --yaml jobs status a1b2c3d4

# Capture params and re-submit
assgen --json jobs status a1b2c3d4 | jq .params

assgen models

assgen models list [--domain DOMAIN] [--installed]
assgen models status <model-id>
assgen models install [model-id ...]   # download from HuggingFace

assgen config

Manages the task β†’ HuggingFace model catalog. User overrides are saved to ~/.config/assgen/models.yaml and sent with each job submission.

assgen config list [--domain DOMAIN] [--installed]
assgen config show <job-type>
assgen config set <job-type> [--model-id org/repo]   # interactive if no --model-id
assgen config remove <job-type>                       # revert to built-in default
assgen config search <query>                          # search HuggingFace

assgen client config

assgen client config show              # show resolved server URL + live health check
assgen client config set-server <url>  # point client at a remote server
assgen client config unset-server      # revert to auto-start local server

assgen server config

assgen server config show              # show all resolved server settings
assgen server config set <key> <val>   # persist to ~/.config/assgen/server.yaml
assgen server config models [--domain] # view task β†’ model catalog

Configurable keys

Key Type Default Description
host string 127.0.0.1 Bind address
port int 8432 Listen port
workers int 1 Concurrent worker threads
device string auto auto / cuda / cpu / mps
log_level string info Logging verbosity
model_load_timeout int 120 Max seconds to wait for model download
job_retention_days int 30 Days to keep completed jobs in DB
allow_list list [] Allowed model IDs ([] = allow all)
skip_model_validation bool false Bypass HF pipeline-tag compatibility check

assgen server

assgen server start [--daemon]    # start local assgen-server
assgen server stop                # stop local assgen-server
assgen server status              # check if server is healthy
assgen server use <url>           # alias for: assgen client config set-server
assgen server unset               # alias for: assgen client config unset-server

assgen upgrade

assgen upgrade               # check and prompt to upgrade
assgen upgrade --check       # exit 0 if up-to-date, exit 1 if outdated
assgen upgrade --yes         # skip confirmation prompt
assgen upgrade --pre         # include pre-release versions

assgen version

assgen version
# assgen  version: 0.0.1  python: 3.12.3  platform: Linux-6.8.0  build: v0.0.1-0-gabcdef0

Global options

All commands support --help. The --wait / -w flag is available on all asset generation commands and blocks until the job completes, showing a progress bar.

assgen gen visual model create --help
assgen gen audio sfx generate --help