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 verifygeneratefor 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 generateautomatically polls/api/v1/sdk/statuswhen the create call returns atask_id- default polling interval:
1s status = 0,1, or9means the task is still runningstatus = 10means the task succeededstatus = 2means 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f7b0510892170bb5f0d8f15c00eaa1ae5dd3c81742b67ba34a3fc1ec0f1b5d6
|
|
| MD5 |
061089baa38dc7fbebc48e0a1952d6e6
|
|
| BLAKE2b-256 |
e17b7a42fd8f773cde80292345be44b7469742d9c21d5e14a1b37d073bdc45a1
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1203eaede2c1c3ac80c92c4f46c5d0dc576fea10aef221ec1905184605e98d48
|
|
| MD5 |
ffc9392b73f0ae1d3f3aa14ea2f7050c
|
|
| BLAKE2b-256 |
593f81f322c0ecad296987898e2a3c1e4d97121b563b97913c429b40b578f9c1
|