npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@hyper3d/cli

v0.2.0

Published

Hyper3D CLI backed by MCP

Downloads

1,402

Readme

Hyper3D CLI

Generate Rodin Gen-2.5 3D models from text or reference images, split completed models into parts with BANG, and retrieve download links from your terminal. Use readable output interactively or JSON output in scripts.

Install

Requires Node.js 22 or newer and a Hyper3D account. Install the stable release:

npm install --global @hyper3d/cli@latest
hyper3d --version
hyper3d --help

You can also use pnpm or Yarn, or run the CLI without a global installation:

pnpm add --global @hyper3d/cli
# Yarn Classic
yarn global add @hyper3d/cli
# Run once with npm, pnpm, or modern Yarn
npx @hyper3d/cli@latest --help
pnpm dlx @hyper3d/cli@latest --help
yarn dlx @hyper3d/cli@latest --help

For a project-local installation, run npm install --save-dev @hyper3d/cli, then npx hyper3d --help. For preview builds or switching from beta to stable, see Updates.

Sign in

hyper3d auth login

Compare the code shown in your terminal with the browser, then approve access. On a remote machine, use hyper3d auth login --no-browser and open the printed link on another device. Press Ctrl+C to cancel.

hyper3d auth status   # Account and credit balances
hyper3d auth logout   # Remove saved credentials from this machine

Credentials are saved in ~/.hyper3d by default and refreshed automatically when needed. Set HYPER3D_CONFIG_DIR to use a different directory. Signing out locally does not revoke your server-side authorization.

Generate a model

Generation uses credits from the personal or team workspace you authorized at sign-in. Run hyper3d auth status to check that workspace and its credit balances.

# From text
hyper3d generate --prompt "a ceramic teapot" --format glb

# From one image
hyper3d generate --image ./reference.png

# For reference images with highly reflective surfaces
hyper3d generate --image ./reference.png --texture-delight

# From multiple views, with an optional description
hyper3d generate --image ./front.png --image ./side.jpg --prompt "a ceramic teapot"

Provide a prompt, one to five images, or both. Generation options:

| Option | Accepted values | Default when omitted | | ------------------- | ----------------------------------------------------------------------- | ---------------------------- | | --tier | Gen-2.5-Medium, Gen-2.5-High, Gen-2.5-Extreme-Low | Gen-2.5-Medium | | --mesh-mode | Raw, Quad | Raw | | --format | glb, usdz, fbx, obj, stl | glb | | --quality | Target polygon count: Raw 500–1,000,000; Quad 1,000–50,000 | Raw 500,000; Quad 18,000 | | --texture-delight | Flag: enable texture de-lighting for highly reflective reference images | false |

Defaults are applied by the server. The response includes a generation ID; use it in place of <generation-id> to check progress and retrieve the result:

hyper3d status <generation-id>
hyper3d poll <generation-id> --timeout 300
hyper3d result <generation-id>

status checks progress once. poll waits until generation finishes or the timeout expires (30 seconds by default). A polling timeout does not cancel the generation; run status or poll again to keep following it. Once generation completes, result returns download URLs; it does not save files to your machine.

Split a model with BANG

Pass a completed model's generation ID to BANG. Omit --instruction for automatic split planning, or describe the parts you want to separate:

hyper3d bang <generation-id> --instruction "separate the handle and lid"

| Option | Meaning / accepted values | Default when omitted | | --------------- | --------------------------------------------------------------------------------- | ------------------------ | | --instruction | Description of the parts to separate | Automatic split planning | | --strength | Integer 1–12; soft target for the number of parts, so the actual count may vary | 5 | | --format | glb, usdz, fbx, obj, stl | glb |

BANG uses credits and returns a new generation ID. Use that new ID with status, poll, and result to follow the split and retrieve its output.

Run hyper3d <command> --help for more options. If a generation request times out, check your existing tasks before submitting it again; the CLI never retries billable generation automatically.

Use JSON output

Output is readable text by default. Add --output json for scripts:

hyper3d auth status --output json
hyper3d generate --prompt "a ceramic teapot" --output json
hyper3d status <generation-id> --output json

Warnings and errors go to stderr. Successful commands exit with code 0; errors exit with code 1.

Updates

For a global npm installation:

hyper3d update --check
hyper3d update

update --check reports the installed version, the channel's target version, and whether an update is available. update installs it when the target is newer. Stable versions follow latest; beta versions follow beta.

An interactive npm global installation checks for updates once a day before model commands and only displays an update notice by default.

Set HYPER3D_AUTO_UPDATE=1 to opt into automatic installation (which asks you to rerun your command before submitting the model operation), or HYPER3D_UPDATE_CHECK=0 to disable automatic checks and automatic installation. These switches require the exact values 1 and 0, respectively. Automatic checks and installation are also skipped when CI is nonempty (including CI=0) or stderr is not a TTY. These settings do not disable manual hyper3d update or hyper3d update --check. Network failures leave your command usable.

For pnpm, Yarn, or project-local installations, update with the package manager that installed the CLI. For one-off runs, specify @latest:

pnpm add --global @hyper3d/cli@latest
yarn global add @hyper3d/cli@latest  # Yarn Classic
npm install --save-dev @hyper3d/cli@latest
npx @hyper3d/cli@latest --help

Beta installations continue following beta after a stable release. To switch channels explicitly, install the desired tag with your package manager:

# Switch to the stable release, including from beta
npm install --global @hyper3d/cli@latest

# Opt into beta builds
npm install --global @hyper3d/cli@beta

hyper3d update only installs newer versions. Reinstalling a tag explicitly also lets you switch to a channel whose current version is older than yours.

Configuration

The defaults work with the public Hyper3D service. To use another environment:

hyper3d --base-url https://api.hyper3d.com/api auth status

| Setting | Purpose | Default | | ---------------------- | ----------------------------------------------------------------- | ----------------------------- | | BASE_URL | API base URL; --base-url takes precedence | https://api.hyper3d.com/api | | HYPER3D_CONFIG_DIR | Directory for credentials and update state | ~/.hyper3d | | HYPER3D_AUTO_UPDATE | Set to 1 to install updates automatically before model commands | Disabled | | HYPER3D_UPDATE_CHECK | Set to 0 to disable automatic update checks and installation | Enabled |

API URLs require HTTPS except for localhost. Use a nonempty absolute path when setting HYPER3D_CONFIG_DIR.

Troubleshooting

  • Not signed in or access denied: run hyper3d auth login again. Check that you authorized the intended personal or team workspace.
  • Browser does not open: follow the printed link, or use --no-browser.
  • Command not found: check that your package manager's global bin directory is on PATH, or use npx @hyper3d/cli@latest.
  • Update permission error: update with the package manager and permissions used for the original installation.
  • An interrupted update leaves future checks inactive: close other CLI processes and remove the empty update.lock directory inside your configuration directory (~/.hyper3d by default, or the directory set by HYPER3D_CONFIG_DIR), then run hyper3d update.

Contributing and support

For development and releases, see CONTRIBUTING.md and the release guide. Report problems in GitHub Issues.