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-ai

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_ai-0.1.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for meitu_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4f7b0510892170bb5f0d8f15c00eaa1ae5dd3c81742b67ba34a3fc1ec0f1b5d6
MD5 061089baa38dc7fbebc48e0a1952d6e6
BLAKE2b-256 e17b7a42fd8f773cde80292345be44b7469742d9c21d5e14a1b37d073bdc45a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: meitu_ai-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_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1203eaede2c1c3ac80c92c4f46c5d0dc576fea10aef221ec1905184605e98d48
MD5 ffc9392b73f0ae1d3f3aa14ea2f7050c
BLAKE2b-256 593f81f322c0ecad296987898e2a3c1e4d97121b563b97913c429b40b578f9c1

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