Skip to main content

Meitu OpenAPI command-line tool.

Project description

Meitu CLI

meitu is now a Python CLI for Meitu OpenAPI image tasks. It is the main runtime used by the skills in this repository.

It supports:

  • local or environment-based credential loading
  • auth verify
  • generate for image effect calls
  • automatic task polling
  • result download with --download-dir
  • local file upload through the strategy service

Install

Recommended for external CLI users:

pipx install meitu-cli

For local repository usage before the package is published:

cd /Users/lichao/openapi-cli/cli
pipx install .

Alternative for virtual environments or advanced users:

cd /Users/lichao/openapi-cli/cli
pip install .

For local development:

cd /Users/lichao/openapi-cli/cli
make develop

That installs the package in editable mode and makes the meitu command available in the current Python environment.

Configure

You can save credentials locally:

meitu config set-ak --value your_access_key
meitu config set-sk --value your_secret_key

Or provide them through environment variables:

export OPENAPI_ACCESS_KEY=your_access_key
export OPENAPI_SECRET_KEY=your_secret_key
export OPENAPI_BASE_URL=openapi.meitu.com

Environment variables take priority over the local credentials file.

The local credentials file is stored at ~/.meitu/credentials.json.

Built-in defaults:

  • verify endpoint: /demo/authorization
  • image generate endpoint: /api/v1/sdk/push
  • task status endpoint: /api/v1/sdk/status
  • strategy base URL: https://strategy.app.meitudata.com
  • strategy path: /ai/token_policy
  • strategy type: mtai

OPENAPI_BASE_URL can be written as openapi.meitu.com; the CLI normalizes it to https://openapi.meitu.com.

Usage

Verify credentials:

OPENAPI_BASE_URL=openapi.meitu.com meitu auth verify --json

Run intelligent cutout with a local file:

meitu generate \
  --task /v1/photo_scissors/sod \
  --image-file ./test.jpg \
  --params-json '{"parameter":{"nMask":false,"model_type":0}}' \
  --download-dir ./outputs \
  --json

Run a task with an explicit init_images array:

meitu generate \
  --task /v1/photo_scissors/sod \
  --task-type mtlab \
  --init-images-json '[{"media_data":"./test.jpg","resource_type":"file","profile":{"media_profiles":{"media_data_type":"url"},"version":"v1"}}]' \
  --params-json '{"parameter":{"nMask":false,"model_type":0}}' \
  --download-dir ./outputs \
  --json

Run a task with a remote image URL:

meitu generate \
  --task /v1/photo_scissors/sod \
  --image-url https://example.com/test.jpg \
  --params-json '{"parameter":{"nMask":false,"model_type":0}}' \
  --json

Wait for an existing task manually:

meitu task wait t_xxx --download-dir ./outputs --json

Task Behavior

  • meitu generate automatically polls /api/v1/sdk/status when the create call returns a task_id
  • default polling interval: 1s
  • status = 0, 1, or 9 means the task is still running
  • status = 10 means the task succeeded
  • status = 2 means the task failed
  • any other non-success status is treated as a failure state

When --download-dir is used, the CLI downloads every result image URL it receives and returns downloaded_files in JSON output.

Development

cd /Users/lichao/openapi-cli/cli
make test
make package

make test runs a syntax smoke test and a basic CLI help check.

make package builds a Python source distribution and wheel. If python -m build is not installed yet, install it first with python3 -m pip install build.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meitu_cli-0.1.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meitu_cli-0.1.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file meitu_cli-0.1.0.tar.gz.

File metadata

  • Download URL: meitu_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.6

File hashes

Hashes for meitu_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 46c91ab0bac9bfc1ceeb910283ec015ceededb040b73778382584de8918d81f9
MD5 92f31141538e6ba1c2521d9736e45d93
BLAKE2b-256 5baabe7e7e81fc00f34aff5a55e9f3f33277537397b5bed8dffb284c956fb467

See more details on using hashes here.

File details

Details for the file meitu_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: meitu_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.6

File hashes

Hashes for meitu_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c19597d78b611fa11dcae633bd6a4933795a1e59be32becc04bc503df8465f8
MD5 9396e6222669b7218b530da2a45b2a62
BLAKE2b-256 2f038472b20d97106a12f2d8b504e43be2be8c38a30606b2c25b31b59f8e42f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page