Skip to main content

layer

Command-line interface for Layer — AI asset generation for game studios.

Reaches the same models, workspaces, and Creative Unit balance as the app, from a terminal, a Makefile, or a CI job.

Install

uv tool install layer        # or: pipx install layer

Python 3.10 and up — deliberately older than the services that build it, so the same package imports inside Blender, Maya, and Houdini.

Working on the CLI itself? Install it from your checkout instead, so the layer command follows the branch you have out:

task -d apps/cli-py install-cli

Sign in

layer login                 # opens a browser
layer login --device        # for SSH sessions and containers
layer whoami
layer use my-studio

For CI and other unattended runs, set LAYER_API_KEY to a personal access token instead of signing in.

Generate

layer generate image -p "a crystal sword icon, transparent background"
layer generate video -d 5 --aspect-ratio 16:9 -p "camera pushes through the gate"
layer generate mesh  -p "weathered treasure chest, game-ready"
layer generate audio -p "arcade coin pickup"

Each waits for the run, prints what it cost, and writes the result into the working directory under a name derived from the prompt — never overwriting a file already there. -o takes a directory, or the exact filename when there is a single output; --no-download prints URLs instead.

Leave --base-model off and the recommended model for that modality is chosen and named. The catalogue is read from your workspace, not shipped with the package:

layer base-models list --modality video
layer base-models show bfl-flux-2-pro      # the keys --param accepts

Every run is priced before it executes. --confirm asks first; --max-cost 8 refuses anything more expensive. For a long render, submit and collect later:

id=$(layer --json generate video --no-wait -p "..." | jq -r .inference_id)
layer generate status "$id" --wait

Where settings come from

Highest wins:

  1. a command-line flag
  2. an environment variable — LAYER_PROFILE, LAYER_WORKSPACE, LAYER_PROJECT, LAYER_API_URL, LAYER_API_KEY
  3. layer.toml, found by walking up from the working directory
  4. the active profile in ~/.layer/config.toml

Committing a layer.toml pins a checkout to its workspace, so two repos open in two terminals cannot generate into each other's:

workspace = "my-studio"
project   = "season-12-art"

Scripting

--json puts the result on stdout and nothing else — progress, warnings, and errors all go to stderr, so a pipeline never has to filter them out.

layer --json whoami | jq -r .workspace
layer --json generate image -p "..." | jq -r '.files[].path'

Exit codes: 0 ok, 1 error, 2 usage, 3 auth, 4 insufficient balance, 5 invalid input, 6 content policy, 7 timeout. They may gain members, never change meaning, so a caller can branch on them without parsing prose.

Documentation

https://layer.ai/docs/cli

Driving Layer from an agent rather than a shell? There is an MCP server and an Agent Skills pack.

Licence

Apache-2.0

Metadata

Release files for layer 1.0.61

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

Source distribution (sdist)

Source distribution for layer 1.0.61
File Size Uploaded
layer-1.0.61.tar.gz 80.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for layer 1.0.61
File Interpreter ABI Platform
layer-1.0.61-py3-none-any.whl Python 3 none any Details

Total release size: 171.7 kB

Release files / layer-1.0.61.tar.gz

Download URL layer-1.0.61.tar.gz
Size 80.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ebf757dfca4309ee3976dda20753b6584b51be07b827a1ef33424f1c815dd9f1
BLAKE2b-256 checksum
How to use checksums
d6b72cef8aaba5d04eb508ac5232183f0834ae686b85c7080bc06bb1f59f4011
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / layer-1.0.61-py3-none-any.whl

Download URL layer-1.0.61-py3-none-any.whl
Size 91.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0d4b6eb297d4f7310e160f9a9971639e7f83ba3246854ce09986ed6b1ab3eb09
BLAKE2b-256 checksum
How to use checksums
e17a0aa64a3b761d2db89cb9d4345797c37612938cf6cedeb824faec5d38e8aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.0.64

2 release files

1.0.62

2 release files

This release

1.0.61 This release

2 release files

1.0.58

2 release files

1.0.56

2 release files

1.0.54

2 release files

1.0.50

2 release files

1.0.25

2 release files

1.0.23

2 release files

1.0.21

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.2

2 release files

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