Skip to content
cccskills
FreePublished on GitHub

diffusers-cli

Run diffusers generation pipelines from a terminal and save their outputs. Inspect accepted inputs without downloading model weights, apply LoRA adapters during generation, run remotely through HF Jobs, and inspect software and GPU environment details.

OriginalShow the original description

Use when the user wants to run a diffusers pipeline from a terminal (one-off generation, batch jobs, smoke-testing a new model), run on HF Sandbox hardware via `--remote`, introspect a pipeline's input schema before calling it, or attach a LoRA at inference time. Prefer this over writing ad-hoc Python scripts for generation tasks.

See how to install

Good for

  • Running one-off generation or batch jobs from a terminal
  • Checking a new model's basic operation
  • Inspecting accepted inputs before running a pipeline
  • Applying a LoRA adapter during generation
  • Running remotely through HF Jobs

Files included (2)

  • SKILL.md4.2 KB
  • run.md16.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Overview

diffusers-cli is the shipped CLI in src/diffusers/commands/. Subcommands relevant to agentic use:

CommandPurpose
runRun any DiffusionPipeline or ModularPipeline. Forwards --pipeline-kwargs verbatim, saves output by detecting its runtime type, optionally runs on HF Jobs via --remote.
schemaPrint the input schema for a pipeline repo (kwarg names, types, defaults, descriptions). No weights downloaded — only the small index file.
custom_blocksPackage a local ModularPipelineBlocks subclass for the Hub.
envPrint versions of diffusers + torch + transformers + accelerate + safetensors + CUDA + GPU info. Use when investigating environment issues, dtype/precision support, or building bug reports.

When to read which file

Most agentic work goes through run. Read the matching reference file before constructing a command:

  • run.md — full reference for diffusers-cli run. Covers --pipeline-kwargs semantics and the shell-quoting gotcha, LoRA via --lora, optimization flags (--dtype, --cpu-offload, --attention-backend, --vae-tiling/slicing), output handling and --push-to bucket uploads, the full --remote HF Jobs flow (image, container command, log streaming, timing payload, artifact download), and context parallel (--context-parallel) for both local-torchrun and --remote paths.

The other commands are small enough that diffusers-cli <command> --help is the canonical reference:

diffusers-cli schema --help
diffusers-cli custom_blocks --help
diffusers-cli env --help

When NOT to use this skill

  • Multi-stage workflows where you need intermediate tensor manipulation between pipelines → write Python.
  • Training or fine-tuning → CLI only covers inference.
  • Anything requiring quantization_config or other low-level loader knobs not exposed by the CLI flags → write Python. (device_map is exposed as --device-map; see run.md.)

Verifying the CLI is installed

The console entry point is registered in pyproject.toml (diffusers-cli = "diffusers.commands.diffusers_cli:main"). If diffusers-cli is not on PATH after pip install -e ., reinstall with pip install -e . --force-reinstall --no-deps and check which diffusers-cli. If the installed binary is missing recent features (e.g. you see unrecognized arguments: --lora), reinstall.

Output formats

--format {auto, human, agent, json} (top-level flag, must appear before the subcommand):

  • human — plain-text indented output for terminals (default when not running under an agent harness). No ANSI color.
  • agent — TSV tables and key=value lines. Auto-selected when an agent env var is present (CLAUDECODE, CLAUDE_CODE, CODEX_SANDBOX, CURSOR_AI, AIDER_AI_CONTEXT, GH_COPILOT_AGENT, AI_AGENT). Token-cheap for LLM agents to read.
  • json — compact JSON. Use for programmatic parsing (scripts, services) where type fidelity and nested structures matter.

stdout carries data; stderr carries hints/warnings/progress — parseable output is never polluted.

Rule of thumb: --format json for scripts that will json.loads() the output, otherwise leave it on auto-detect (agent for LLMs, human for terminals).

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

custom-blocks

FreeSummary

Package an existing custom diffusers block into a directory ready for Hub upload. Select a class from a Python file and save its source, configuration, and associated files so others can load the block.

  • Preparing a custom block for Hub distribution
  • Selecting one block class from a Python file
  • Creating the directory layout needed to load a shared block
huggingface/diffusers34.8KUpdated Oct 18, 2026

Integrate a model or pipeline into diffusers, from file structure and weight conversion to tests and documentation. Verify numerical agreement with the original implementation, with modular pipelines as the preferred starting point for new integrations.

  • Adding a new model and pipeline to diffusers
  • Converting a pipeline to modular format
  • Converting weights for a new version of a supported model
huggingface/diffusers34.8KUpdated Oct 18, 2026

self-review

FreeSummary

Review a diffusers contribution before opening a pull request. Check the full change against project rules, trace potentially unused code, and receive a severity-based report separating required fixes from points to discuss with reviewers.

  • Checking a diffusers contribution before opening a pull request
  • Investigating potentially unused code in a change
  • Reviewing fixes again and preparing notes for reviewers
huggingface/diffusers34.8KUpdated Oct 18, 2026

See all skills by huggingface

Report a problem with this skill