feat: Fix the generation format of skills

This commit is contained in:
qcq01083097
2026-06-08 16:32:07 +08:00
parent db5a96158d
commit 252f85c717
21 changed files with 614 additions and 615 deletions
+1 -1
View File
@@ -36,7 +36,7 @@
"registry": "https://registry.npmjs.org/"
},
"scripts": {
"generate:reference": "node --experimental-strip-types ../../tools/generate-reference.ts",
"generate:reference": "node --experimental-strip-types ../../tools/generate-reference.ts && sh -c 'cd ../.. && vp check --fix skills/bailian-cli/reference'",
"build": "pnpm run generate:reference && vp pack",
"dev": "node src/main.ts",
"test": "vp test",
+11 -11
View File
@@ -7,27 +7,27 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| ---------------------- | ---------------------------------------------------------------------------------------------- |
| `bl advisor recommend` | Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) |
## Command details
### `bl advisor recommend`
| Field | Value |
| --- | --- |
| **Name** | `advisor recommend` |
| Field | Value |
| --------------- | ---------------------------------------------------------------------------------------------- |
| **Name** | `advisor recommend` |
| **Description** | Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) |
| **Usage** | `bl advisor recommend <prompt> [flags]` |
| **Usage** | `bl advisor recommend <prompt> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--message <text>` | string | no | Describe your requirements (alternative to positional prompt) |
| `--dry-run` | boolean | no | Show intent analysis and candidate list without LLM ranking |
| `--output <format>` | string | no | Output format: text (default in TTY), json, yaml |
| Flag | Type | Required | Description |
| ------------------- | ------- | -------- | ------------------------------------------------------------- |
| `--message <text>` | string | no | Describe your requirements (alternative to positional prompt) |
| `--dry-run` | boolean | no | Show intent analysis and candidate list without LLM ranking |
| `--output <format>` | string | no | Output format: text (default in TTY), json, yaml |
#### Examples
+30 -30
View File
@@ -7,35 +7,35 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| ------------- | ---------------------------------------------- |
| `bl app call` | Call a Bailian application (agent or workflow) |
| `bl app list` | List Bailian applications |
| `bl app list` | List Bailian applications |
## Command details
### `bl app call`
| Field | Value |
| --- | --- |
| **Name** | `app call` |
| **Description** | Call a Bailian application (agent or workflow) |
| **Usage** | `bl app call --app-id <id> --prompt <text> [flags]` |
| Field | Value |
| --------------- | --------------------------------------------------- |
| **Name** | `app call` |
| **Description** | Call a Bailian application (agent or workflow) |
| **Usage** | `bl app call --app-id <id> --prompt <text> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--app-id <id>` | string | yes | Application ID (required) |
| `--prompt <text>` | string | yes | Input prompt text |
| `--image <url>` | array | no | Image URL(s) to pass to the app (repeatable) |
| `--file-id <id>` | array | no | Pre-uploaded file ID(s) (repeatable) |
| `--session-id <id>` | string | no | Session ID for multi-turn conversation |
| `--stream` | boolean | no | Stream response (default: on in TTY) |
| `--pipeline-ids <ids>` | string | no | Knowledge base pipeline IDs (comma-separated) |
| `--memory-id <id>` | string | no | Memory ID for long-term memory |
| `--biz-params <json>` | string | no | Business parameters JSON (workflow variables) |
| `--has-thoughts` | boolean | no | Show agent thinking process |
| Flag | Type | Required | Description |
| ---------------------- | ------- | -------- | --------------------------------------------- |
| `--app-id <id>` | string | yes | Application ID (required) |
| `--prompt <text>` | string | yes | Input prompt text |
| `--image <url>` | array | no | Image URL(s) to pass to the app (repeatable) |
| `--file-id <id>` | array | no | Pre-uploaded file ID(s) (repeatable) |
| `--session-id <id>` | string | no | Session ID for multi-turn conversation |
| `--stream` | boolean | no | Stream response (default: on in TTY) |
| `--pipeline-ids <ids>` | string | no | Knowledge base pipeline IDs (comma-separated) |
| `--memory-id <id>` | string | no | Memory ID for long-term memory |
| `--biz-params <json>` | string | no | Business parameters JSON (workflow variables) |
| `--has-thoughts` | boolean | no | Show agent thinking process |
#### Examples
@@ -65,20 +65,20 @@ bl app call --app-id abc123 --prompt "开始" --biz-params '{"key":"value"}'
### `bl app list`
| Field | Value |
| --- | --- |
| **Name** | `app list` |
| Field | Value |
| --------------- | ------------------------- |
| **Name** | `app list` |
| **Description** | List Bailian applications |
| **Usage** | `bl app list [flags]` |
| **Usage** | `bl app list [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--name <name>` | string | no | Filter by app name (keyword search) |
| `--page <n>` | number | no | Page number (default: 1) |
| `--page-size <n>` | number | no | Results per page (default: 30) |
| `--region <region>` | string | no | API region (default: cn-beijing) |
| Flag | Type | Required | Description |
| ------------------- | ------ | -------- | ----------------------------------- |
| `--name <name>` | string | no | Filter by app name (keyword search) |
| `--page <n>` | number | no | Page number (default: 1) |
| `--page-size <n>` | number | no | Results per page (default: 30) |
| `--region <region>` | string | no | API region (default: cn-beijing) |
#### Examples
+26 -26
View File
@@ -7,28 +7,28 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| `bl auth login` | Authenticate with API key or console browser login (credentials can coexist) |
| `bl auth logout` | Clear stored credentials |
| `bl auth status` | Show current authentication state |
| Command | Description |
| ---------------- | ---------------------------------------------------------------------------- |
| `bl auth login` | Authenticate with API key or console browser login (credentials can coexist) |
| `bl auth logout` | Clear stored credentials |
| `bl auth status` | Show current authentication state |
## Command details
### `bl auth login`
| Field | Value |
| --- | --- |
| **Name** | `auth login` |
| Field | Value |
| --------------- | ---------------------------------------------------------------------------- |
| **Name** | `auth login` |
| **Description** | Authenticate with API key or console browser login (credentials can coexist) |
| **Usage** | `bl auth login --api-key <key> \| bl auth login --console` |
| **Usage** | `bl auth login --api-key <key> \| bl auth login --console` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--api-key <key>` | string | no | DashScope API key to store |
| `--console` | boolean | no | Sign in via browser; opens the console login URL in your default browser |
| Flag | Type | Required | Description |
| ----------------- | ------- | -------- | ------------------------------------------------------------------------ |
| `--api-key <key>` | string | no | DashScope API key to store |
| `--console` | boolean | no | Sign in via browser; opens the console login URL in your default browser |
#### Examples
@@ -42,18 +42,18 @@ bl auth login --console
### `bl auth logout`
| Field | Value |
| --- | --- |
| **Name** | `auth logout` |
| **Description** | Clear stored credentials |
| **Usage** | `bl auth logout [--console] [--yes] [--dry-run]` |
| Field | Value |
| --------------- | ------------------------------------------------ |
| **Name** | `auth logout` |
| **Description** | Clear stored credentials |
| **Usage** | `bl auth logout [--console] [--yes] [--dry-run]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--console` | boolean | no | Only clear the console access_token, keep api_key intact |
| `--yes` | boolean | no | Skip confirmation prompt |
| Flag | Type | Required | Description |
| ----------- | ------- | -------- | -------------------------------------------------------- |
| `--console` | boolean | no | Only clear the console access_token, keep api_key intact |
| `--yes` | boolean | no | Skip confirmation prompt |
#### Examples
@@ -75,11 +75,11 @@ bl auth logout --yes
### `bl auth status`
| Field | Value |
| --- | --- |
| **Name** | `auth status` |
| Field | Value |
| --------------- | --------------------------------- |
| **Name** | `auth status` |
| **Description** | Show current authentication state |
| **Usage** | `bl auth status` |
| **Usage** | `bl auth status` |
#### Options
+24 -24
View File
@@ -7,27 +7,27 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| ------------------------- | ----------------------------------------------------------------------------------- |
| `bl config export-schema` | Export all (or one) CLI command(s) as Anthropic/OpenAI-compatible JSON tool schemas |
| `bl config set` | Set a config value |
| `bl config show` | Display current configuration |
| `bl config set` | Set a config value |
| `bl config show` | Display current configuration |
## Command details
### `bl config export-schema`
| Field | Value |
| --- | --- |
| **Name** | `config export-schema` |
| Field | Value |
| --------------- | ----------------------------------------------------------------------------------- |
| **Name** | `config export-schema` |
| **Description** | Export all (or one) CLI command(s) as Anthropic/OpenAI-compatible JSON tool schemas |
| **Usage** | `bl config export-schema [--command "<name>"]` |
| **Usage** | `bl config export-schema [--command "<name>"]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--command <name>` | string | no | Export schema for a specific command only (e.g. "image generate") |
| Flag | Type | Required | Description |
| ------------------ | ------ | -------- | ----------------------------------------------------------------- |
| `--command <name>` | string | no | Export schema for a specific command only (e.g. "image generate") |
#### Examples
@@ -41,18 +41,18 @@ bl config export-schema --command "video generate"
### `bl config set`
| Field | Value |
| --- | --- |
| **Name** | `config set` |
| **Description** | Set a config value |
| **Usage** | `bl config set --key <key> --value <value>` |
| Field | Value |
| --------------- | ------------------------------------------- |
| **Name** | `config set` |
| **Description** | Set a config value |
| **Usage** | `bl config set --key <key> --value <value>` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--key <key>` | string | no | Config key (region, base_url, output, output_dir, timeout, api_key, access_token, default_*_model, access_key_id, access_key_secret, workspace_id) |
| `--value <value>` | string | no | Value to set |
| Flag | Type | Required | Description |
| ----------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--key <key>` | string | no | Config key (region, base*url, output, output_dir, timeout, api_key, access_token, default*\*\_model, access_key_id, access_key_secret, workspace_id) |
| `--value <value>` | string | no | Value to set |
#### Examples
@@ -70,11 +70,11 @@ bl config set --key base_url --value https://dashscope.aliyuncs.com
### `bl config show`
| Field | Value |
| --- | --- |
| **Name** | `config show` |
| Field | Value |
| --------------- | ----------------------------- |
| **Name** | `config show` |
| **Description** | Display current configuration |
| **Usage** | `bl config show` |
| **Usage** | `bl config show` |
#### Options
+12 -12
View File
@@ -7,27 +7,27 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| ----------------- | ---------------------------------------------- |
| `bl console call` | Call a Bailian console API via the CLI gateway |
## Command details
### `bl console call`
| Field | Value |
| --- | --- |
| **Name** | `console call` |
| **Description** | Call a Bailian console API via the CLI gateway |
| **Usage** | `bl console call --api <api> --data <json> [flags]` |
| Field | Value |
| --------------- | --------------------------------------------------- |
| **Name** | `console call` |
| **Description** | Call a Bailian console API via the CLI gateway |
| **Usage** | `bl console call --api <api> --data <json> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--api <api>` | string | yes | API name (e.g. zeldaEasy.broadscope-bailian.memory-library.getLibraries) |
| `--data <json>` | string | yes | Request data as JSON string |
| `--region <region>` | string | no | API region (default: cn-beijing) |
| Flag | Type | Required | Description |
| ------------------- | ------ | -------- | ------------------------------------------------------------------------ |
| `--api <api>` | string | yes | API name (e.g. zeldaEasy.broadscope-bailian.memory-library.getLibraries) |
| `--data <json>` | string | yes | Request data as JSON string |
| `--region <region>` | string | no | API region (default: cn-beijing) |
#### Examples
+12 -12
View File
@@ -7,27 +7,27 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| ---------------- | -------------------------------------------------------- |
| `bl file upload` | Upload a local file to DashScope temporary storage (48h) |
## Command details
### `bl file upload`
| Field | Value |
| --- | --- |
| **Name** | `file upload` |
| **Description** | Upload a local file to DashScope temporary storage (48h) |
| **Usage** | `bl file upload --file <path> --model <model>` |
| **API docs** | [/developer-reference/get-temporary-file-url](https://help.aliyun.com/zh/model-studio/developer-reference/get-temporary-file-url) |
| Field | Value |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Name** | `file upload` |
| **Description** | Upload a local file to DashScope temporary storage (48h) |
| **Usage** | `bl file upload --file <path> --model <model>` |
| **API docs** | [/developer-reference/get-temporary-file-url](https://help.aliyun.com/zh/model-studio/developer-reference/get-temporary-file-url) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--file <path>` | string | yes | Local file to upload (image, video, audio) |
| `--model <model>` | string | yes | Target model name (file is bound to this model) |
| Flag | Type | Required | Description |
| ----------------- | ------ | -------- | ----------------------------------------------- |
| `--file <path>` | string | yes | Local file to upload (image, video, audio) |
| `--model <model>` | string | yes | Target model name (file is bound to this model) |
#### Examples
+43 -43
View File
@@ -7,37 +7,37 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| `bl image edit` | Edit an existing image with text instructions (Qwen-Image) |
| `bl image generate` | Generate images (Qwen-Image / wan2.x) |
| Command | Description |
| ------------------- | ---------------------------------------------------------- |
| `bl image edit` | Edit an existing image with text instructions (Qwen-Image) |
| `bl image generate` | Generate images (Qwen-Image / wan2.x) |
## Command details
### `bl image edit`
| Field | Value |
| --- | --- |
| **Name** | `image edit` |
| **Description** | Edit an existing image with text instructions (Qwen-Image) |
| **Usage** | `bl image edit --image <url> --prompt <text> [flags]` |
| **API docs** | [/developer-reference/qwen-image-edit-api](https://help.aliyun.com/zh/model-studio/developer-reference/qwen-image-edit-api) |
| Field | Value |
| --------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Name** | `image edit` |
| **Description** | Edit an existing image with text instructions (Qwen-Image) |
| **Usage** | `bl image edit --image <url> --prompt <text> [flags]` |
| **API docs** | [/developer-reference/qwen-image-edit-api](https://help.aliyun.com/zh/model-studio/developer-reference/qwen-image-edit-api) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--image <url>` | array | yes | Source image URL or local file path (repeatable for multi-image merge) |
| `--prompt <text>` | string | yes | Edit instruction text |
| `--model <model>` | string | no | Model ID (default: qwen-image-2.0) |
| `--size <W*H>` | string | no | Output image size: ratio (3:4, 16:9) or pixels (2048*2048) |
| `--n <count>` | number | no | Number of images (default: 1, max: 6) |
| `--seed <n>` | number | no | Random seed for reproducible results |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to use CLI default (true). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--out-dir <dir>` | string | no | Download images to directory |
| `--out-prefix <prefix>` | string | no | Filename prefix (default: edited) |
| Flag | Type | Required | Description |
| -------------------------- | ------ | -------- | ----------------------------------------------------------------------- |
| `--image <url>` | array | yes | Source image URL or local file path (repeatable for multi-image merge) |
| `--prompt <text>` | string | yes | Edit instruction text |
| `--model <model>` | string | no | Model ID (default: qwen-image-2.0) |
| `--size <W*H>` | string | no | Output image size: ratio (3:4, 16:9) or pixels (2048\*2048) |
| `--n <count>` | number | no | Number of images (default: 1, max: 6) |
| `--seed <n>` | number | no | Random seed for reproducible results |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to use CLI default (true). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--out-dir <dir>` | string | no | Download images to directory |
| `--out-prefix <prefix>` | string | no | Filename prefix (default: edited) |
#### Examples
@@ -63,29 +63,29 @@ bl image edit --image ./photo.png --prompt "把背景换成海滩" --watermark f
### `bl image generate`
| Field | Value |
| --- | --- |
| **Name** | `image generate` |
| **Description** | Generate images (Qwen-Image / wan2.x) |
| **Usage** | `bl image generate --prompt <text> [flags]` |
| **API docs** | [/best-practice/wanx/text-to-image](https://help.aliyun.com/zh/model-studio/best-practice/wanx/text-to-image) |
| Field | Value |
| --------------- | ------------------------------------------------------------------------------------------------------------- |
| **Name** | `image generate` |
| **Description** | Generate images (Qwen-Image / wan2.x) |
| **Usage** | `bl image generate --prompt <text> [flags]` |
| **API docs** | [/best-practice/wanx/text-to-image](https://help.aliyun.com/zh/model-studio/best-practice/wanx/text-to-image) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--prompt <text>` | string | yes | Image description |
| `--model <model>` | string | no | Model ID (default: qwen-image-2.0) |
| `--size <W*H>` | string | no | Image size: ratio (3:4, 16:9, 1:1) or pixels (2048*2048) |
| `--n <count>` | number | no | Number of images per request (default: 1, max: 6) |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag: true for qwen-image sync; parameter omitted on async models (API default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--no-wait` | boolean | no | Return task ID immediately without waiting (async models only) |
| `--out-dir <dir>` | string | no | Download images to directory |
| `--out-prefix <prefix>` | string | no | Filename prefix (default: image) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 3) |
| Flag | Type | Required | Description |
| --------------------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
| `--prompt <text>` | string | yes | Image description |
| `--model <model>` | string | no | Model ID (default: qwen-image-2.0) |
| `--size <W*H>` | string | no | Image size: ratio (3:4, 16:9, 1:1) or pixels (2048\*2048) |
| `--n <count>` | number | no | Number of images per request (default: 1, max: 6) |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag: true for qwen-image sync; parameter omitted on async models (API default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--no-wait` | boolean | no | Return task ID immediately without waiting (async models only) |
| `--out-dir <dir>` | string | no | Download images to directory |
| `--out-prefix <prefix>` | string | no | Filename prefix (default: image) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 3) |
#### Examples
+77 -78
View File
@@ -8,92 +8,91 @@ Use this index for the full quick index and global flags.
## Quick index
| Command | Description | Detail |
| --- | --- | --- |
| `bl advisor recommend` | Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) | [advisor.md](advisor.md) |
| `bl app call` | Call a Bailian application (agent or workflow) | [app.md](app.md) |
| `bl app list` | List Bailian applications | [app.md](app.md) |
| `bl auth login` | Authenticate with API key or console browser login (credentials can coexist) | [auth.md](auth.md) |
| `bl auth logout` | Clear stored credentials | [auth.md](auth.md) |
| `bl auth status` | Show current authentication state | [auth.md](auth.md) |
| `bl config export-schema` | Export all (or one) CLI command(s) as Anthropic/OpenAI-compatible JSON tool schemas | [config.md](config.md) |
| `bl config set` | Set a config value | [config.md](config.md) |
| `bl config show` | Display current configuration | [config.md](config.md) |
| `bl console call` | Call a Bailian console API via the CLI gateway | [console.md](console.md) |
| `bl file upload` | Upload a local file to DashScope temporary storage (48h) | [file.md](file.md) |
| `bl image edit` | Edit an existing image with text instructions (Qwen-Image) | [image.md](image.md) |
| `bl image generate` | Generate images (Qwen-Image / wan2.x) | [image.md](image.md) |
| `bl knowledge retrieve` | Retrieve from a Bailian knowledge base (requires AK/SK) | [knowledge.md](knowledge.md) |
| `bl mcp call` | Call a tool on an MCP server (tools/call) | [mcp.md](mcp.md) |
| `bl mcp list` | List MCP servers activated under your Bailian account | [mcp.md](mcp.md) |
| `bl mcp tools` | List tools exposed by an MCP server (tools/list) | [mcp.md](mcp.md) |
| `bl memory add` | Add memory from messages or custom content | [memory.md](memory.md) |
| `bl memory delete` | Delete a memory node | [memory.md](memory.md) |
| `bl memory list` | List memory nodes for a user | [memory.md](memory.md) |
| `bl memory profile create` | Create a user profile schema for memory profiling | [memory.md](memory.md) |
| `bl memory profile get` | Get user profile by schema ID and user ID | [memory.md](memory.md) |
| `bl memory search` | Search memory nodes by query or messages | [memory.md](memory.md) |
| `bl memory update` | Update a memory node content | [memory.md](memory.md) |
| `bl omni` | Multimodal chat with text + audio output (Qwen-Omni) | [omni.md](omni.md) |
| `bl pipeline run` | Run a pipeline workflow definition | [pipeline.md](pipeline.md) |
| `bl pipeline validate` | Validate a pipeline definition without executing | [pipeline.md](pipeline.md) |
| `bl search web` | Search the web using DashScope MCP WebSearch service | [search.md](search.md) |
| `bl speech recognize` | Recognize speech from audio files (FunAudio-ASR) | [speech.md](speech.md) |
| `bl speech synthesize` | Synthesize speech from text (CosyVoice TTS) | [speech.md](speech.md) |
| `bl text chat` | Send a chat completion (OpenAI compatible, DashScope) | [text.md](text.md) |
| `bl update` | Update bl to the latest version | [update.md](update.md) |
| `bl usage free` | Query free-tier quota for a model | [usage.md](usage.md) |
| `bl video download` | Download a completed video by task ID | [video.md](video.md) |
| `bl video edit` | Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) | [video.md](video.md) |
| `bl video generate` | Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) | [video.md](video.md) |
| `bl video ref` | Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice | [video.md](video.md) |
| `bl video task get` | Query async task status | [video.md](video.md) |
| `bl vision describe` | Describe an image or video using Qwen-VL | [vision.md](vision.md) |
| Command | Description | Detail |
| -------------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------- |
| `bl advisor recommend` | Recommend the best models for your use case (intent analysis → candidate recall → LLM ranking) | [advisor.md](advisor.md) |
| `bl app call` | Call a Bailian application (agent or workflow) | [app.md](app.md) |
| `bl app list` | List Bailian applications | [app.md](app.md) |
| `bl auth login` | Authenticate with API key or console browser login (credentials can coexist) | [auth.md](auth.md) |
| `bl auth logout` | Clear stored credentials | [auth.md](auth.md) |
| `bl auth status` | Show current authentication state | [auth.md](auth.md) |
| `bl config export-schema` | Export all (or one) CLI command(s) as Anthropic/OpenAI-compatible JSON tool schemas | [config.md](config.md) |
| `bl config set` | Set a config value | [config.md](config.md) |
| `bl config show` | Display current configuration | [config.md](config.md) |
| `bl console call` | Call a Bailian console API via the CLI gateway | [console.md](console.md) |
| `bl file upload` | Upload a local file to DashScope temporary storage (48h) | [file.md](file.md) |
| `bl image edit` | Edit an existing image with text instructions (Qwen-Image) | [image.md](image.md) |
| `bl image generate` | Generate images (Qwen-Image / wan2.x) | [image.md](image.md) |
| `bl knowledge retrieve` | Retrieve from a Bailian knowledge base (requires AK/SK) | [knowledge.md](knowledge.md) |
| `bl mcp call` | Call a tool on an MCP server (tools/call) | [mcp.md](mcp.md) |
| `bl mcp list` | List MCP servers activated under your Bailian account | [mcp.md](mcp.md) |
| `bl mcp tools` | List tools exposed by an MCP server (tools/list) | [mcp.md](mcp.md) |
| `bl memory add` | Add memory from messages or custom content | [memory.md](memory.md) |
| `bl memory delete` | Delete a memory node | [memory.md](memory.md) |
| `bl memory list` | List memory nodes for a user | [memory.md](memory.md) |
| `bl memory profile create` | Create a user profile schema for memory profiling | [memory.md](memory.md) |
| `bl memory profile get` | Get user profile by schema ID and user ID | [memory.md](memory.md) |
| `bl memory search` | Search memory nodes by query or messages | [memory.md](memory.md) |
| `bl memory update` | Update a memory node content | [memory.md](memory.md) |
| `bl omni` | Multimodal chat with text + audio output (Qwen-Omni) | [omni.md](omni.md) |
| `bl pipeline run` | Run a pipeline workflow definition | [pipeline.md](pipeline.md) |
| `bl pipeline validate` | Validate a pipeline definition without executing | [pipeline.md](pipeline.md) |
| `bl search web` | Search the web using DashScope MCP WebSearch service | [search.md](search.md) |
| `bl speech recognize` | Recognize speech from audio files (FunAudio-ASR) | [speech.md](speech.md) |
| `bl speech synthesize` | Synthesize speech from text (CosyVoice TTS) | [speech.md](speech.md) |
| `bl text chat` | Send a chat completion (OpenAI compatible, DashScope) | [text.md](text.md) |
| `bl update` | Update bl to the latest version | [update.md](update.md) |
| `bl usage free` | Query free-tier quota for a model | [usage.md](usage.md) |
| `bl video download` | Download a completed video by task ID | [video.md](video.md) |
| `bl video edit` | Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) | [video.md](video.md) |
| `bl video generate` | Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) | [video.md](video.md) |
| `bl video ref` | Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice | [video.md](video.md) |
| `bl video task get` | Query async task status | [video.md](video.md) |
| `bl vision describe` | Describe an image or video using Qwen-VL | [vision.md](vision.md) |
## By group
| Group | Commands | Reference |
| --- | --- | --- |
| `advisor` | `recommend` | [advisor.md](advisor.md) |
| `app` | `call`, `list` | [app.md](app.md) |
| `auth` | `login`, `logout`, `status` | [auth.md](auth.md) |
| `config` | `export-schema`, `set`, `show` | [config.md](config.md) |
| `console` | `call` | [console.md](console.md) |
| `file` | `upload` | [file.md](file.md) |
| `image` | `edit`, `generate` | [image.md](image.md) |
| `knowledge` | `retrieve` | [knowledge.md](knowledge.md) |
| `mcp` | `call`, `list`, `tools` | [mcp.md](mcp.md) |
| `memory` | `add`, `delete`, `list`, `profile create`, `profile get`, `search`, `update` | [memory.md](memory.md) |
| `omni` | `(root)` | [omni.md](omni.md) |
| `pipeline` | `run`, `validate` | [pipeline.md](pipeline.md) |
| `search` | `web` | [search.md](search.md) |
| `speech` | `recognize`, `synthesize` | [speech.md](speech.md) |
| `text` | `chat` | [text.md](text.md) |
| `update` | `(root)` | [update.md](update.md) |
| `usage` | `free` | [usage.md](usage.md) |
| `video` | `download`, `edit`, `generate`, `ref`, `task get` | [video.md](video.md) |
| `vision` | `describe` | [vision.md](vision.md) |
| Group | Commands | Reference |
| ----------- | ---------------------------------------------------------------------------- | ---------------------------- |
| `advisor` | `recommend` | [advisor.md](advisor.md) |
| `app` | `call`, `list` | [app.md](app.md) |
| `auth` | `login`, `logout`, `status` | [auth.md](auth.md) |
| `config` | `export-schema`, `set`, `show` | [config.md](config.md) |
| `console` | `call` | [console.md](console.md) |
| `file` | `upload` | [file.md](file.md) |
| `image` | `edit`, `generate` | [image.md](image.md) |
| `knowledge` | `retrieve` | [knowledge.md](knowledge.md) |
| `mcp` | `call`, `list`, `tools` | [mcp.md](mcp.md) |
| `memory` | `add`, `delete`, `list`, `profile create`, `profile get`, `search`, `update` | [memory.md](memory.md) |
| `omni` | `(root)` | [omni.md](omni.md) |
| `pipeline` | `run`, `validate` | [pipeline.md](pipeline.md) |
| `search` | `web` | [search.md](search.md) |
| `speech` | `recognize`, `synthesize` | [speech.md](speech.md) |
| `text` | `chat` | [text.md](text.md) |
| `update` | `(root)` | [update.md](update.md) |
| `usage` | `free` | [usage.md](usage.md) |
| `video` | `download`, `edit`, `generate`, `ref`, `task get` | [video.md](video.md) |
| `vision` | `describe` | [vision.md](vision.md) |
## Global flags
Available on every command (in addition to command-specific options):
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--api-key <key>` | string | no | API key |
| `--region <region>` | string | no | API region: cn (default), us, intl |
| `--base-url <url>` | string | no | API base URL |
| `--output <format>` | string | no | Output format: text, json |
| `--timeout <seconds>` | number | no | Request timeout |
| `--quiet` | boolean | no | Suppress non-essential output |
| `--verbose` | boolean | no | Print HTTP request/response details |
| `--no-color` | boolean | no | Disable ANSI colors |
| `--dry-run` | boolean | no | Dry run mode |
| `--non-interactive` | boolean | no | Disable interactive prompts |
| `--concurrent <n>` | number | no | Run N parallel requests (default: 1) |
| `--help` | boolean | no | Show help |
| `--version` | boolean | no | Print version |
| Flag | Type | Required | Description |
| --------------------- | ------- | -------- | ------------------------------------ |
| `--api-key <key>` | string | no | API key |
| `--region <region>` | string | no | API region: cn (default), us, intl |
| `--base-url <url>` | string | no | API base URL |
| `--output <format>` | string | no | Output format: text, json |
| `--timeout <seconds>` | number | no | Request timeout |
| `--quiet` | boolean | no | Suppress non-essential output |
| `--verbose` | boolean | no | Print HTTP request/response details |
| `--no-color` | boolean | no | Disable ANSI colors |
| `--dry-run` | boolean | no | Dry run mode |
| `--non-interactive` | boolean | no | Disable interactive prompts |
| `--concurrent <n>` | number | no | Run N parallel requests (default: 1) |
| `--help` | boolean | no | Show help |
| `--version` | boolean | no | Print version |
## Notes
+17 -17
View File
@@ -7,32 +7,32 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| ----------------------- | ------------------------------------------------------- |
| `bl knowledge retrieve` | Retrieve from a Bailian knowledge base (requires AK/SK) |
## Command details
### `bl knowledge retrieve`
| Field | Value |
| --- | --- |
| **Name** | `knowledge retrieve` |
| **Description** | Retrieve from a Bailian knowledge base (requires AK/SK) |
| **Usage** | `bl knowledge retrieve --index-id <id> --query <text> [flags]` |
| Field | Value |
| --------------- | -------------------------------------------------------------- |
| **Name** | `knowledge retrieve` |
| **Description** | Retrieve from a Bailian knowledge base (requires AK/SK) |
| **Usage** | `bl knowledge retrieve --index-id <id> --query <text> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--index-id <id>` | string | yes | Knowledge base index ID (required) |
| `--query <text>` | string | yes | Search query (required) |
| `--workspace-id <id>` | string | no | Bailian workspace ID (or env BAILIAN_WORKSPACE_ID) |
| `--top-k <n>` | number | no | Number of results (default: 10) |
| `--rerank` | boolean | no | Enable rerank |
| `--rerank-top-n <n>` | number | no | Rerank top N results |
| `--access-key-id <key>` | string | no | Alibaba Cloud Access Key ID (or env) |
| `--access-key-secret <key>` | string | no | Alibaba Cloud Access Key Secret (or env) |
| Flag | Type | Required | Description |
| --------------------------- | ------- | -------- | -------------------------------------------------- |
| `--index-id <id>` | string | yes | Knowledge base index ID (required) |
| `--query <text>` | string | yes | Search query (required) |
| `--workspace-id <id>` | string | no | Bailian workspace ID (or env BAILIAN_WORKSPACE_ID) |
| `--top-k <n>` | number | no | Number of results (default: 10) |
| `--rerank` | boolean | no | Enable rerank |
| `--rerank-top-n <n>` | number | no | Rerank top N results |
| `--access-key-id <key>` | string | no | Alibaba Cloud Access Key ID (or env) |
| `--access-key-secret <key>` | string | no | Alibaba Cloud Access Key Secret (or env) |
#### Examples
+36 -36
View File
@@ -7,31 +7,31 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| `bl mcp call` | Call a tool on an MCP server (tools/call) |
| `bl mcp list` | List MCP servers activated under your Bailian account |
| `bl mcp tools` | List tools exposed by an MCP server (tools/list) |
| Command | Description |
| -------------- | ----------------------------------------------------- |
| `bl mcp call` | Call a tool on an MCP server (tools/call) |
| `bl mcp list` | List MCP servers activated under your Bailian account |
| `bl mcp tools` | List tools exposed by an MCP server (tools/list) |
## Command details
### `bl mcp call`
| Field | Value |
| --- | --- |
| **Name** | `mcp call` |
| **Description** | Call a tool on an MCP server (tools/call) |
| **Usage** | `bl mcp call <server-code>.<tool> [--arg k=v ...] [--json '{...}'] [--url <url>]` |
| Field | Value |
| --------------- | --------------------------------------------------------------------------------- |
| **Name** | `mcp call` |
| **Description** | Call a tool on an MCP server (tools/call) |
| **Usage** | `bl mcp call <server-code>.<tool> [--arg k=v ...] [--json '{...}'] [--url <url>]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `<server-code>.<tool>` | string | yes | Server code and tool name joined by a dot, e.g. market-cmapi00073529.SmartStockSelection |
| `--arg <kv>` | array | no | Tool argument (repeatable). Values parsed as JSON if possible, else string. |
| `--json <obj>` | string | no | Full arguments object as JSON; merged with --arg (arg wins). |
| `--query <text>` | string | no | Shortcut for --arg query=<text> (mirrors many DashScope MCP tools). |
| `--url <url>` | string | no | Override the MCP endpoint URL (for non-Bailian servers) |
| Flag | Type | Required | Description |
| ---------------------- | ------ | -------- | ---------------------------------------------------------------------------------------- |
| `<server-code>.<tool>` | string | yes | Server code and tool name joined by a dot, e.g. market-cmapi00073529.SmartStockSelection |
| `--arg <kv>` | array | no | Tool argument (repeatable). Values parsed as JSON if possible, else string. |
| `--json <obj>` | string | no | Full arguments object as JSON; merged with --arg (arg wins). |
| `--query <text>` | string | no | Shortcut for --arg query=<text> (mirrors many DashScope MCP tools). |
| `--url <url>` | string | no | Override the MCP endpoint URL (for non-Bailian servers) |
#### Examples
@@ -49,21 +49,21 @@ bl mcp call market-cmapi00073529.SmartFundSelection --arg riskLevel=R3 --arg min
### `bl mcp list`
| Field | Value |
| --- | --- |
| **Name** | `mcp list` |
| Field | Value |
| --------------- | ----------------------------------------------------- |
| **Name** | `mcp list` |
| **Description** | List MCP servers activated under your Bailian account |
| **Usage** | `bl mcp list [flags]` |
| **Usage** | `bl mcp list [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--name <text>` | string | no | Filter by server name (substring match) |
| `--type <type>` | string | no | Server type: OFFICIAL \| PRIVATE (default: OFFICIAL) |
| `--page <n>` | number | no | Page number (default: 1) |
| `--page-size <n>` | number | no | Results per page (default: 30) |
| `--region <region>` | string | no | API region (default: cn-beijing) |
| Flag | Type | Required | Description |
| ------------------- | ------ | -------- | ---------------------------------------------------- |
| `--name <text>` | string | no | Filter by server name (substring match) |
| `--type <type>` | string | no | Server type: OFFICIAL \| PRIVATE (default: OFFICIAL) |
| `--page <n>` | number | no | Page number (default: 1) |
| `--page-size <n>` | number | no | Results per page (default: 30) |
| `--region <region>` | string | no | API region (default: cn-beijing) |
#### Examples
@@ -81,18 +81,18 @@ bl mcp list --output json
### `bl mcp tools`
| Field | Value |
| --- | --- |
| **Name** | `mcp tools` |
| Field | Value |
| --------------- | ------------------------------------------------ |
| **Name** | `mcp tools` |
| **Description** | List tools exposed by an MCP server (tools/list) |
| **Usage** | `bl mcp tools <server-code> [--url <url>]` |
| **Usage** | `bl mcp tools <server-code> [--url <url>]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `<server-code>` | string | yes | Server code from `bl mcp list` (e.g. market-cmapi00073529) |
| `--url <url>` | string | no | Override the MCP endpoint URL (for non-Bailian servers) |
| Flag | Type | Required | Description |
| --------------- | ------ | -------- | ---------------------------------------------------------- |
| `<server-code>` | string | yes | Server code from `bl mcp list` (e.g. market-cmapi00073529) |
| `--url <url>` | string | no | Override the MCP endpoint URL (for non-Bailian servers) |
#### Examples
+83 -83
View File
@@ -7,35 +7,35 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| `bl memory add` | Add memory from messages or custom content |
| `bl memory delete` | Delete a memory node |
| `bl memory list` | List memory nodes for a user |
| Command | Description |
| -------------------------- | ------------------------------------------------- |
| `bl memory add` | Add memory from messages or custom content |
| `bl memory delete` | Delete a memory node |
| `bl memory list` | List memory nodes for a user |
| `bl memory profile create` | Create a user profile schema for memory profiling |
| `bl memory profile get` | Get user profile by schema ID and user ID |
| `bl memory search` | Search memory nodes by query or messages |
| `bl memory update` | Update a memory node content |
| `bl memory profile get` | Get user profile by schema ID and user ID |
| `bl memory search` | Search memory nodes by query or messages |
| `bl memory update` | Update a memory node content |
## Command details
### `bl memory add`
| Field | Value |
| --- | --- |
| **Name** | `memory add` |
| **Description** | Add memory from messages or custom content |
| **Usage** | `bl memory add --user-id <id> [--messages <json>] [--content <text>] [flags]` |
| Field | Value |
| --------------- | ----------------------------------------------------------------------------- |
| **Name** | `memory add` |
| **Description** | Add memory from messages or custom content |
| **Usage** | `bl memory add --user-id <id> [--messages <json>] [--content <text>] [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--user-id <id>` | string | yes | User ID (required) |
| `--messages <json>` | string | no | Messages JSON array: [{"role":"user","content":"..."},...] |
| `--content <text>` | string | no | Custom content text to memorize |
| `--profile-schema <id>` | string | no | Profile schema ID for user profiling |
| `--memory-library-id <id>` | string | no | Memory library ID (isolate memory space) |
| Flag | Type | Required | Description |
| -------------------------- | ------ | -------- | ---------------------------------------------------------- |
| `--user-id <id>` | string | yes | User ID (required) |
| `--messages <json>` | string | no | Messages JSON array: [{"role":"user","content":"..."},...] |
| `--content <text>` | string | no | Custom content text to memorize |
| `--profile-schema <id>` | string | no | Profile schema ID for user profiling |
| `--memory-library-id <id>` | string | no | Memory library ID (isolate memory space) |
#### Examples
@@ -53,19 +53,19 @@ bl memory add --user-id user1 --content "住在北京" --profile-schema schema_x
### `bl memory delete`
| Field | Value |
| --- | --- |
| **Name** | `memory delete` |
| **Description** | Delete a memory node |
| **Usage** | `bl memory delete --node-id <id> --user-id <id>` |
| Field | Value |
| --------------- | ------------------------------------------------ |
| **Name** | `memory delete` |
| **Description** | Delete a memory node |
| **Usage** | `bl memory delete --node-id <id> --user-id <id>` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--node-id <id>` | string | yes | Memory node ID (required) |
| `--user-id <id>` | string | yes | User ID (required) |
| `--memory-library-id <id>` | string | no | Memory library ID (non-default library) |
| Flag | Type | Required | Description |
| -------------------------- | ------ | -------- | --------------------------------------- |
| `--node-id <id>` | string | yes | Memory node ID (required) |
| `--user-id <id>` | string | yes | User ID (required) |
| `--memory-library-id <id>` | string | no | Memory library ID (non-default library) |
#### Examples
@@ -75,20 +75,20 @@ bl memory delete --node-id node_xxx --user-id user1
### `bl memory list`
| Field | Value |
| --- | --- |
| **Name** | `memory list` |
| **Description** | List memory nodes for a user |
| **Usage** | `bl memory list --user-id <id> [flags]` |
| Field | Value |
| --------------- | --------------------------------------- |
| **Name** | `memory list` |
| **Description** | List memory nodes for a user |
| **Usage** | `bl memory list --user-id <id> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--user-id <id>` | string | yes | User ID (required) |
| `--page-size <n>` | number | no | Results per page (default: 10) |
| `--page <n>` | number | no | Page number (default: 1) |
| `--memory-library-id <id>` | string | no | Memory library ID |
| Flag | Type | Required | Description |
| -------------------------- | ------ | -------- | ------------------------------ |
| `--user-id <id>` | string | yes | User ID (required) |
| `--page-size <n>` | number | no | Results per page (default: 10) |
| `--page <n>` | number | no | Page number (default: 1) |
| `--memory-library-id <id>` | string | no | Memory library ID |
#### Examples
@@ -102,19 +102,19 @@ bl memory list --user-id user1 --page-size 20 --page 2
### `bl memory profile create`
| Field | Value |
| --- | --- |
| **Name** | `memory profile create` |
| **Description** | Create a user profile schema for memory profiling |
| **Usage** | `bl memory profile create --name <name> --attributes <json> [flags]` |
| Field | Value |
| --------------- | -------------------------------------------------------------------- |
| **Name** | `memory profile create` |
| **Description** | Create a user profile schema for memory profiling |
| **Usage** | `bl memory profile create --name <name> --attributes <json> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--name <name>` | string | yes | Schema name (required) |
| `--description <text>` | string | no | Schema description |
| `--attributes <json>` | string | yes | Attributes JSON array: [{"name":"age","description":"年龄"}] |
| Flag | Type | Required | Description |
| ---------------------- | ------ | -------- | ------------------------------------------------------------ |
| `--name <name>` | string | yes | Schema name (required) |
| `--description <text>` | string | no | Schema description |
| `--attributes <json>` | string | yes | Attributes JSON array: [{"name":"age","description":"年龄"}] |
#### Examples
@@ -124,18 +124,18 @@ bl memory profile create --name "user_basic" --attributes '[{"name":"age","descr
### `bl memory profile get`
| Field | Value |
| --- | --- |
| **Name** | `memory profile get` |
| **Description** | Get user profile by schema ID and user ID |
| **Usage** | `bl memory profile get --schema-id <id> --user-id <id>` |
| Field | Value |
| --------------- | ------------------------------------------------------- |
| **Name** | `memory profile get` |
| **Description** | Get user profile by schema ID and user ID |
| **Usage** | `bl memory profile get --schema-id <id> --user-id <id>` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--schema-id <id>` | string | yes | Profile schema ID (required) |
| `--user-id <id>` | string | yes | User ID (required) |
| Flag | Type | Required | Description |
| ------------------ | ------ | -------- | ---------------------------- |
| `--schema-id <id>` | string | yes | Profile schema ID (required) |
| `--user-id <id>` | string | yes | User ID (required) |
#### Examples
@@ -145,21 +145,21 @@ bl memory profile get --schema-id schema_xxx --user-id user1
### `bl memory search`
| Field | Value |
| --- | --- |
| **Name** | `memory search` |
| **Description** | Search memory nodes by query or messages |
| **Usage** | `bl memory search --user-id <id> [--query <text>] [flags]` |
| Field | Value |
| --------------- | ---------------------------------------------------------- |
| **Name** | `memory search` |
| **Description** | Search memory nodes by query or messages |
| **Usage** | `bl memory search --user-id <id> [--query <text>] [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--user-id <id>` | string | yes | User ID (required) |
| `--query <text>` | string | no | Search query text |
| `--messages <json>` | string | no | Messages JSON array for context-based search |
| `--top-k <n>` | number | no | Number of results to return (default: 10) |
| `--memory-library-id <id>` | string | no | Memory library ID |
| Flag | Type | Required | Description |
| -------------------------- | ------ | -------- | -------------------------------------------- |
| `--user-id <id>` | string | yes | User ID (required) |
| `--query <text>` | string | no | Search query text |
| `--messages <json>` | string | no | Messages JSON array for context-based search |
| `--top-k <n>` | number | no | Number of results to return (default: 10) |
| `--memory-library-id <id>` | string | no | Memory library ID |
#### Examples
@@ -173,20 +173,20 @@ bl memory search --user-id user1 --messages '[{"role":"user","content":"推荐
### `bl memory update`
| Field | Value |
| --- | --- |
| **Name** | `memory update` |
| **Description** | Update a memory node content |
| **Usage** | `bl memory update --node-id <id> --user-id <id> --content <text>` |
| Field | Value |
| --------------- | ----------------------------------------------------------------- |
| **Name** | `memory update` |
| **Description** | Update a memory node content |
| **Usage** | `bl memory update --node-id <id> --user-id <id> --content <text>` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--node-id <id>` | string | yes | Memory node ID (required) |
| `--user-id <id>` | string | yes | User ID (required) |
| `--content <text>` | string | yes | New content for the memory node (required) |
| `--memory-library-id <id>` | string | no | Memory library ID (non-default library) |
| Flag | Type | Required | Description |
| -------------------------- | ------ | -------- | ------------------------------------------ |
| `--node-id <id>` | string | yes | Memory node ID (required) |
| `--user-id <id>` | string | yes | User ID (required) |
| `--content <text>` | string | yes | New content for the memory node (required) |
| `--memory-library-id <id>` | string | no | Memory library ID (non-default library) |
#### Examples
+22 -22
View File
@@ -7,37 +7,37 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| --------- | ---------------------------------------------------- |
| `bl omni` | Multimodal chat with text + audio output (Qwen-Omni) |
## Command details
### `bl omni`
| Field | Value |
| --- | --- |
| **Name** | `omni` |
| **Description** | Multimodal chat with text + audio output (Qwen-Omni) |
| **Usage** | `bl omni --message <text> [flags]` |
| **API docs** | [/model-studio/qwen-omni](https://help.aliyun.com/zh/model-studio/model-studio/qwen-omni) |
| Field | Value |
| --------------- | ----------------------------------------------------------------------------------------- |
| **Name** | `omni` |
| **Description** | Multimodal chat with text + audio output (Qwen-Omni) |
| **Usage** | `bl omni --message <text> [flags]` |
| **API docs** | [/model-studio/qwen-omni](https://help.aliyun.com/zh/model-studio/model-studio/qwen-omni) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--message <text>` | array | yes | Message text (repeatable, prefix role: to set role) |
| `--model <model>` | string | no | Model ID (default: qwen3.5-omni-plus) |
| `--system <text>` | string | no | System prompt |
| `--image <url>` | array | no | Image URL or local file (repeatable) |
| `--audio <url>` | array | no | Audio URL or local file (repeatable) |
| `--video <url>` | array | no | Video file URL / local path, or comma-separated frame URLs |
| `--voice <voice>` | string | no | Output voice (default: Cherry). Options: Chelsie, Cherry, Ethan, Serena, Tina |
| `--audio-format <fmt>` | string | no | Audio output format (default: wav) |
| `--audio-out <path>` | string | no | Save audio to file (default: auto-generate) |
| `--text-only` | boolean | no | Output text only, no audio generation |
| `--max-tokens <n>` | number | no | Maximum tokens to generate |
| `--temperature <n>` | number | no | Sampling temperature (0.0, 2.0] |
| Flag | Type | Required | Description |
| ---------------------- | ------- | -------- | ----------------------------------------------------------------------------- |
| `--message <text>` | array | yes | Message text (repeatable, prefix role: to set role) |
| `--model <model>` | string | no | Model ID (default: qwen3.5-omni-plus) |
| `--system <text>` | string | no | System prompt |
| `--image <url>` | array | no | Image URL or local file (repeatable) |
| `--audio <url>` | array | no | Audio URL or local file (repeatable) |
| `--video <url>` | array | no | Video file URL / local path, or comma-separated frame URLs |
| `--voice <voice>` | string | no | Output voice (default: Cherry). Options: Chelsie, Cherry, Ethan, Serena, Tina |
| `--audio-format <fmt>` | string | no | Audio output format (default: wav) |
| `--audio-out <path>` | string | no | Save audio to file (default: auto-generate) |
| `--text-only` | boolean | no | Output text only, no audio generation |
| `--max-tokens <n>` | number | no | Maximum tokens to generate |
| `--temperature <n>` | number | no | Sampling temperature (0.0, 2.0] |
#### Examples
+18 -18
View File
@@ -7,30 +7,30 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| `bl pipeline run` | Run a pipeline workflow definition |
| Command | Description |
| ---------------------- | ------------------------------------------------ |
| `bl pipeline run` | Run a pipeline workflow definition |
| `bl pipeline validate` | Validate a pipeline definition without executing |
## Command details
### `bl pipeline run`
| Field | Value |
| --- | --- |
| **Name** | `pipeline run` |
| Field | Value |
| --------------- | ---------------------------------- |
| **Name** | `pipeline run` |
| **Description** | Run a pipeline workflow definition |
| **Usage** | `bl pipeline run <file> [flags]` |
| **Usage** | `bl pipeline run <file> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--input <json>` | string | no | Runtime input as inline JSON |
| `--input-file <path>` | string | no | Runtime input from a JSON file |
| `--concurrency <n>` | number | no | Max parallel steps (default: 1) |
| `--events <format>` | string | no | Emit lifecycle events: jsonl |
| `--timeout <seconds>` | number | no | Default step timeout in seconds |
| Flag | Type | Required | Description |
| --------------------- | ------ | -------- | ------------------------------- |
| `--input <json>` | string | no | Runtime input as inline JSON |
| `--input-file <path>` | string | no | Runtime input from a JSON file |
| `--concurrency <n>` | number | no | Max parallel steps (default: 1) |
| `--events <format>` | string | no | Emit lifecycle events: jsonl |
| `--timeout <seconds>` | number | no | Default step timeout in seconds |
#### Examples
@@ -56,11 +56,11 @@ bl pipeline run workflow.yaml --output json
### `bl pipeline validate`
| Field | Value |
| --- | --- |
| **Name** | `pipeline validate` |
| Field | Value |
| --------------- | ------------------------------------------------ |
| **Name** | `pipeline validate` |
| **Description** | Validate a pipeline definition without executing |
| **Usage** | `bl pipeline validate <file>` |
| **Usage** | `bl pipeline validate <file>` |
#### Options
+11 -11
View File
@@ -7,27 +7,27 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| --------------- | ---------------------------------------------------- |
| `bl search web` | Search the web using DashScope MCP WebSearch service |
## Command details
### `bl search web`
| Field | Value |
| --- | --- |
| **Name** | `search web` |
| Field | Value |
| --------------- | ---------------------------------------------------- |
| **Name** | `search web` |
| **Description** | Search the web using DashScope MCP WebSearch service |
| **Usage** | `bl search web --query <text> [flags]` |
| **Usage** | `bl search web --query <text> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--query <text>` | string | yes | Search query text |
| `--count <n>` | number | no | Number of search results (default: 10) |
| `--list-tools` | boolean | no | List available MCP tools and exit |
| Flag | Type | Required | Description |
| ---------------- | ------- | -------- | -------------------------------------- |
| `--query <text>` | string | yes | Search query text |
| `--count <n>` | number | no | Number of search results (default: 10) |
| `--list-tools` | boolean | no | List available MCP tools and exit |
#### Examples
+46 -46
View File
@@ -7,36 +7,36 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| `bl speech recognize` | Recognize speech from audio files (FunAudio-ASR) |
| `bl speech synthesize` | Synthesize speech from text (CosyVoice TTS) |
| Command | Description |
| ---------------------- | ------------------------------------------------ |
| `bl speech recognize` | Recognize speech from audio files (FunAudio-ASR) |
| `bl speech synthesize` | Synthesize speech from text (CosyVoice TTS) |
## Command details
### `bl speech recognize`
| Field | Value |
| --- | --- |
| **Name** | `speech recognize` |
| **Description** | Recognize speech from audio files (FunAudio-ASR) |
| **Usage** | `bl speech recognize --url <audio-url> [flags]` |
| **API docs** | [/developer-reference/recording-file-recognition](https://help.aliyun.com/zh/model-studio/developer-reference/recording-file-recognition) |
| Field | Value |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Name** | `speech recognize` |
| **Description** | Recognize speech from audio files (FunAudio-ASR) |
| **Usage** | `bl speech recognize --url <audio-url> [flags]` |
| **API docs** | [/developer-reference/recording-file-recognition](https://help.aliyun.com/zh/model-studio/developer-reference/recording-file-recognition) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--url <url>` | array | yes | Audio file URL or local file path (repeatable, max 100) |
| `--model <model>` | string | no | Model ID (default: fun-asr) |
| `--language <lang>` | string | no | Language hint (e.g. zh, en, ja) |
| `--diarization` | boolean | no | Enable automatic speaker diarization |
| `--speaker-count <n>` | number | no | Expected number of speakers (requires --diarization) |
| `--vocabulary-id <id>` | string | no | Hot-word vocabulary ID for improved accuracy |
| `--channel-id <n>` | number | no | Audio channel ID (default: 0) |
| `--out <path>` | string | no | Save full transcription result to JSON file |
| `--no-wait` | boolean | no | Return task ID immediately without polling |
| `--poll-interval <seconds>` | number | no | Polling interval in seconds (default: 2) |
| Flag | Type | Required | Description |
| --------------------------- | ------- | -------- | ------------------------------------------------------- |
| `--url <url>` | array | yes | Audio file URL or local file path (repeatable, max 100) |
| `--model <model>` | string | no | Model ID (default: fun-asr) |
| `--language <lang>` | string | no | Language hint (e.g. zh, en, ja) |
| `--diarization` | boolean | no | Enable automatic speaker diarization |
| `--speaker-count <n>` | number | no | Expected number of speakers (requires --diarization) |
| `--vocabulary-id <id>` | string | no | Hot-word vocabulary ID for improved accuracy |
| `--channel-id <n>` | number | no | Audio channel ID (default: 0) |
| `--out <path>` | string | no | Save full transcription result to JSON file |
| `--no-wait` | boolean | no | Return task ID immediately without polling |
| `--poll-interval <seconds>` | number | no | Polling interval in seconds (default: 2) |
#### Examples
@@ -70,33 +70,33 @@ bl speech recognize --url https://example.com/audio.mp3 --no-wait --quiet
### `bl speech synthesize`
| Field | Value |
| --- | --- |
| **Name** | `speech synthesize` |
| **Description** | Synthesize speech from text (CosyVoice TTS) |
| **Usage** | `bl speech synthesize --text <text> [flags]` |
| **API docs** | [/developer-reference/cosyvoice](https://help.aliyun.com/zh/model-studio/developer-reference/cosyvoice) |
| Field | Value |
| --------------- | ------------------------------------------------------------------------------------------------------- |
| **Name** | `speech synthesize` |
| **Description** | Synthesize speech from text (CosyVoice TTS) |
| **Usage** | `bl speech synthesize --text <text> [flags]` |
| **API docs** | [/developer-reference/cosyvoice](https://help.aliyun.com/zh/model-studio/developer-reference/cosyvoice) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--text <text>` | string | yes | Text to synthesize into speech |
| `--text-file <path>` | string | no | Read text from a file instead of --text |
| `--model <model>` | string | no | Model ID (default: cosyvoice-v3-flash). System voices available for cosyvoice-v3-flash |
| `--voice <voice>` | string | no | Voice ID. Use --list-voices to see system voices for cosyvoice-v3-flash; for v3.5-flash provide a clone/design voice ID |
| `--list-voices` | boolean | no | List available system voices for the selected model and exit |
| `--format <format>` | string | no | Audio format: mp3, pcm, wav, opus (default: mp3) |
| `--sample-rate <rate>` | string | no | Audio sample rate in Hz (e.g. 24000) |
| `--volume <volume>` | string | no | Volume 0-100 (default: 50) |
| `--rate <rate>` | string | no | Speech rate 0.5-2.0 (default: 1.0) |
| `--pitch <pitch>` | string | no | Pitch multiplier 0.5-2.0 (default: 1.0) |
| `--seed <seed>` | string | no | Random seed 0-65535 for reproducible synthesis |
| `--language <lang>` | string | no | Language hint (e.g. zh, en, ja, ko, fr, de) |
| `--instruction <text>` | string | no | Natural language instruction to control speech style (e.g. "请用温柔的语调") |
| `--enable-ssml` | boolean | no | Enable SSML markup parsing in input text |
| `--out <path>` | string | no | Save audio to file (default: auto-generate in temp dir) |
| `--stream` | boolean | no | Stream raw PCM audio to stdout (pipe to player) |
| Flag | Type | Required | Description |
| ---------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
| `--text <text>` | string | yes | Text to synthesize into speech |
| `--text-file <path>` | string | no | Read text from a file instead of --text |
| `--model <model>` | string | no | Model ID (default: cosyvoice-v3-flash). System voices available for cosyvoice-v3-flash |
| `--voice <voice>` | string | no | Voice ID. Use --list-voices to see system voices for cosyvoice-v3-flash; for v3.5-flash provide a clone/design voice ID |
| `--list-voices` | boolean | no | List available system voices for the selected model and exit |
| `--format <format>` | string | no | Audio format: mp3, pcm, wav, opus (default: mp3) |
| `--sample-rate <rate>` | string | no | Audio sample rate in Hz (e.g. 24000) |
| `--volume <volume>` | string | no | Volume 0-100 (default: 50) |
| `--rate <rate>` | string | no | Speech rate 0.5-2.0 (default: 1.0) |
| `--pitch <pitch>` | string | no | Pitch multiplier 0.5-2.0 (default: 1.0) |
| `--seed <seed>` | string | no | Random seed 0-65535 for reproducible synthesis |
| `--language <lang>` | string | no | Language hint (e.g. zh, en, ja, ko, fr, de) |
| `--instruction <text>` | string | no | Natural language instruction to control speech style (e.g. "请用温柔的语调") |
| `--enable-ssml` | boolean | no | Enable SSML markup parsing in input text |
| `--out <path>` | string | no | Save audio to file (default: auto-generate in temp dir) |
| `--stream` | boolean | no | Stream raw PCM audio to stdout (pipe to player) |
#### Examples
+21 -21
View File
@@ -7,36 +7,36 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| -------------- | ----------------------------------------------------- |
| `bl text chat` | Send a chat completion (OpenAI compatible, DashScope) |
## Command details
### `bl text chat`
| Field | Value |
| --- | --- |
| **Name** | `text chat` |
| **Description** | Send a chat completion (OpenAI compatible, DashScope) |
| **Usage** | `bl text chat --message <text> [flags]` |
| **API docs** | [/compatibility-of-openai-with-dashscope](https://help.aliyun.com/zh/model-studio/compatibility-of-openai-with-dashscope) |
| Field | Value |
| --------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Name** | `text chat` |
| **Description** | Send a chat completion (OpenAI compatible, DashScope) |
| **Usage** | `bl text chat --message <text> [flags]` |
| **API docs** | [/compatibility-of-openai-with-dashscope](https://help.aliyun.com/zh/model-studio/compatibility-of-openai-with-dashscope) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--model <model>` | string | no | Model ID (default: qwen3.7-max) |
| `--message <text>` | array | yes | Message text (repeatable, prefix role: to set role) |
| `--messages-file <path>` | string | no | JSON file with messages array (use - for stdin) |
| `--system <text>` | string | no | System prompt |
| `--max-tokens <n>` | number | no | Maximum tokens to generate (default: 4096) |
| `--temperature <n>` | number | no | Sampling temperature (0.0, 2.0] |
| `--top-p <n>` | number | no | Nucleus sampling threshold |
| `--stream` | boolean | no | Stream response tokens (default: on in TTY) |
| `--tool <json-or-path>` | array | no | Tool definition as JSON or file path (repeatable) |
| `--enable-thinking` | boolean | no | Enable thinking/reasoning mode (for qwen3/qwq models) |
| `--thinking-budget <n>` | number | no | Max tokens for thinking (default: 4096) |
| Flag | Type | Required | Description |
| ------------------------ | ------- | -------- | ----------------------------------------------------- |
| `--model <model>` | string | no | Model ID (default: qwen3.7-max) |
| `--message <text>` | array | yes | Message text (repeatable, prefix role: to set role) |
| `--messages-file <path>` | string | no | JSON file with messages array (use - for stdin) |
| `--system <text>` | string | no | System prompt |
| `--max-tokens <n>` | number | no | Maximum tokens to generate (default: 4096) |
| `--temperature <n>` | number | no | Sampling temperature (0.0, 2.0] |
| `--top-p <n>` | number | no | Nucleus sampling threshold |
| `--stream` | boolean | no | Stream response tokens (default: on in TTY) |
| `--tool <json-or-path>` | array | no | Tool definition as JSON or file path (repeatable) |
| `--enable-thinking` | boolean | no | Enable thinking/reasoning mode (for qwen3/qwq models) |
| `--thinking-budget <n>` | number | no | Max tokens for thinking (default: 4096) |
#### Examples
+6 -6
View File
@@ -7,19 +7,19 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| ----------- | ------------------------------- |
| `bl update` | Update bl to the latest version |
## Command details
### `bl update`
| Field | Value |
| --- | --- |
| **Name** | `update` |
| Field | Value |
| --------------- | ------------------------------- |
| **Name** | `update` |
| **Description** | Update bl to the latest version |
| **Usage** | `bl update` |
| **Usage** | `bl update` |
#### Options
+11 -11
View File
@@ -7,26 +7,26 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| --------------- | --------------------------------- |
| `bl usage free` | Query free-tier quota for a model |
## Command details
### `bl usage free`
| Field | Value |
| --- | --- |
| **Name** | `usage free` |
| **Description** | Query free-tier quota for a model |
| **Usage** | `bl usage free --model <model> [flags]` |
| Field | Value |
| --------------- | --------------------------------------- |
| **Name** | `usage free` |
| **Description** | Query free-tier quota for a model |
| **Usage** | `bl usage free --model <model> [flags]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--model <model>` | string | yes | Model name to query (e.g. qwen3-max, qwen-turbo) |
| `--region <region>` | string | no | API region (default: cn-beijing) |
| Flag | Type | Required | Description |
| ------------------- | ------ | -------- | ------------------------------------------------ |
| `--model <model>` | string | yes | Model name to query (e.g. qwen3-max, qwen-turbo) |
| `--region <region>` | string | no | API region (default: cn-beijing) |
#### Examples
+94 -94
View File
@@ -7,30 +7,30 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| `bl video download` | Download a completed video by task ID |
| `bl video edit` | Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) |
| `bl video generate` | Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) |
| `bl video ref` | Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice |
| `bl video task get` | Query async task status |
| Command | Description |
| ------------------- | ----------------------------------------------------------------------------------------------------- |
| `bl video download` | Download a completed video by task ID |
| `bl video edit` | Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) |
| `bl video generate` | Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) |
| `bl video ref` | Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice |
| `bl video task get` | Query async task status |
## Command details
### `bl video download`
| Field | Value |
| --- | --- |
| **Name** | `video download` |
| **Description** | Download a completed video by task ID |
| **Usage** | `bl video download --task-id <id> --out <path>` |
| Field | Value |
| --------------- | ----------------------------------------------- |
| **Name** | `video download` |
| **Description** | Download a completed video by task ID |
| **Usage** | `bl video download --task-id <id> --out <path>` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--task-id <id>` | string | no | Task ID to download from |
| `--out <path>` | string | no | Output file path |
| Flag | Type | Required | Description |
| ---------------- | ------ | -------- | ------------------------ |
| `--task-id <id>` | string | no | Task ID to download from |
| `--out <path>` | string | no | Output file path |
#### Examples
@@ -44,33 +44,33 @@ bl video download --task-id 3b256896-xxxx --out video.mp4 --quiet
### `bl video edit`
| Field | Value |
| --- | --- |
| **Name** | `video edit` |
| **Description** | Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) |
| **Usage** | `bl video edit --video <url> --prompt <text> [flags]` |
| **API docs** | [/best-practice/wanx/video-edit](https://help.aliyun.com/zh/model-studio/best-practice/wanx/video-edit) |
| Field | Value |
| --------------- | ------------------------------------------------------------------------------------------------------- |
| **Name** | `video edit` |
| **Description** | Edit a video with happyhorse-1.0-video-edit (style transfer, object replacement, etc.) |
| **Usage** | `bl video edit --video <url> --prompt <text> [flags]` |
| **API docs** | [/best-practice/wanx/video-edit](https://help.aliyun.com/zh/model-studio/best-practice/wanx/video-edit) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--model <model>` | string | no | Model ID (default: happyhorse-1.0-video-edit) |
| `--video <url>` | string | yes | Input video URL or local file (mp4/mov, 2-10s) |
| `--prompt <text>` | string | no | Edit instruction (e.g. "将画面转换为黏土风格") |
| `--ref-image <url>` | string | no | Reference image URL (up to 4, comma-separated) |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--resolution <res>` | string | no | Resolution: 720P or 1080P (default: 1080P) |
| `--ratio <ratio>` | string | no | Aspect ratio (16:9, 9:16, 1:1, 4:3, 3:4) |
| `--duration <seconds>` | number | no | Output video duration in seconds (2-10) |
| `--audio-setting <mode>` | string | no | Audio: auto (default) or origin (keep original) |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to omit the parameter (DashScope default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--download <path>` | string | no | Save video to file on completion |
| `--no-wait` | boolean | no | Return task ID immediately without waiting |
| `--async` | boolean | no | Return task ID immediately (agent/CI mode, same as --no-wait) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 15) |
| Flag | Type | Required | Description |
| --------------------------- | ------- | -------- | --------------------------------------------------------------------------------------- |
| `--model <model>` | string | no | Model ID (default: happyhorse-1.0-video-edit) |
| `--video <url>` | string | yes | Input video URL or local file (mp4/mov, 2-10s) |
| `--prompt <text>` | string | no | Edit instruction (e.g. "将画面转换为黏土风格") |
| `--ref-image <url>` | string | no | Reference image URL (up to 4, comma-separated) |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--resolution <res>` | string | no | Resolution: 720P or 1080P (default: 1080P) |
| `--ratio <ratio>` | string | no | Aspect ratio (16:9, 9:16, 1:1, 4:3, 3:4) |
| `--duration <seconds>` | number | no | Output video duration in seconds (2-10) |
| `--audio-setting <mode>` | string | no | Audio: auto (default) or origin (keep original) |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to omit the parameter (DashScope default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--download <path>` | string | no | Save video to file on completion |
| `--no-wait` | boolean | no | Return task ID immediately without waiting |
| `--async` | boolean | no | Return task ID immediately (agent/CI mode, same as --no-wait) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 15) |
#### Examples
@@ -92,31 +92,31 @@ bl video edit --video https://example.com/input.mp4 --prompt "给视频里的小
### `bl video generate`
| Field | Value |
| --- | --- |
| **Name** | `video generate` |
| **Description** | Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) |
| **Usage** | `bl video generate --prompt <text> [--image <url>] [flags]` |
| **API docs** | [/best-practice/wanx/text-to-video](https://help.aliyun.com/zh/model-studio/best-practice/wanx/text-to-video) |
| Field | Value |
| --------------- | ------------------------------------------------------------------------------------------------------------- |
| **Name** | `video generate` |
| **Description** | Generate a video from text or image (happyhorse-1.0-t2v / happyhorse-1.0-i2v / wan2.6-t2v) |
| **Usage** | `bl video generate --prompt <text> [--image <url>] [flags]` |
| **API docs** | [/best-practice/wanx/text-to-video](https://help.aliyun.com/zh/model-studio/best-practice/wanx/text-to-video) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--model <model>` | string | no | Model ID (default: happyhorse-1.0-t2v, or happyhorse-1.0-i2v with --image) |
| `--prompt <text>` | string | yes | Video description |
| `--image <url>` | string | no | Input image URL for image-to-video generation |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--resolution <res>` | string | no | Resolution (e.g. 1280*720, 960*960) |
| `--ratio <ratio>` | string | no | Aspect ratio (e.g. 16:9, 1:1) |
| `--duration <seconds>` | number | no | Video duration in seconds (default: 5) |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to omit the parameter (DashScope default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--download <path>` | string | no | Save video to file on completion |
| `--no-wait` | boolean | no | Return task ID immediately without waiting |
| `--async` | boolean | no | Return task ID immediately (agent/CI mode, same as --no-wait) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 5) |
| Flag | Type | Required | Description |
| --------------------------- | ------- | -------- | --------------------------------------------------------------------------------------- |
| `--model <model>` | string | no | Model ID (default: happyhorse-1.0-t2v, or happyhorse-1.0-i2v with --image) |
| `--prompt <text>` | string | yes | Video description |
| `--image <url>` | string | no | Input image URL for image-to-video generation |
| `--negative-prompt <text>` | string | no | Negative prompt to exclude unwanted content |
| `--resolution <res>` | string | no | Resolution (e.g. 1280*720, 960*960) |
| `--ratio <ratio>` | string | no | Aspect ratio (e.g. 16:9, 1:1) |
| `--duration <seconds>` | number | no | Video duration in seconds (default: 5) |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to omit the parameter (DashScope default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--download <path>` | string | no | Save video to file on completion |
| `--no-wait` | boolean | no | Return task ID immediately without waiting |
| `--async` | boolean | no | Return task ID immediately (agent/CI mode, same as --no-wait) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 5) |
#### Examples
@@ -142,33 +142,33 @@ bl video generate --prompt "A cat playing with a ball" --watermark false
### `bl video ref`
| Field | Value |
| --- | --- |
| **Name** | `video ref` |
| **Description** | Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice |
| **Usage** | `bl video ref --prompt <text> --image <url>... [--ref-video <url>...] [flags]` |
| **API docs** | [/best-practice/wanx/video-reference](https://help.aliyun.com/zh/model-studio/best-practice/wanx/video-reference) |
| Field | Value |
| --------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Name** | `video ref` |
| **Description** | Reference-to-video generation (happyhorse-1.0-r2v / wan2.6-r2v): multi-subject, multi-shot with voice |
| **Usage** | `bl video ref --prompt <text> --image <url>... [--ref-video <url>...] [flags]` |
| **API docs** | [/best-practice/wanx/video-reference](https://help.aliyun.com/zh/model-studio/best-practice/wanx/video-reference) |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--model <model>` | string | no | Model ID (default: happyhorse-1.0-r2v) |
| `--prompt <text>` | string | yes | Video description with reference markers (图1, 视频1, etc.) |
| `--image <url>` | array | no | Reference image URL or local file (repeatable for multiple subjects) |
| `--ref-video <url>` | array | no | Reference video URL or local file (repeatable) |
| `--image-voice <url>` | array | no | Voice URL for corresponding image (pairs by position) |
| `--video-voice <url>` | array | no | Voice URL for corresponding ref-video (pairs by position) |
| `--resolution <res>` | string | no | Resolution: 720P or 1080P (default: 720P) |
| `--ratio <ratio>` | string | no | Aspect ratio (16:9, 9:16, 1:1) |
| `--duration <seconds>` | number | no | Video duration in seconds (2-10, default: 5) |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to omit the parameter (DashScope default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--download <path>` | string | no | Save video to file on completion |
| `--no-wait` | boolean | no | Return task ID immediately without waiting |
| `--async` | boolean | no | Return task ID immediately (agent/CI mode, same as --no-wait) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 15) |
| Flag | Type | Required | Description |
| --------------------------- | ------- | -------- | --------------------------------------------------------------------------------------- |
| `--model <model>` | string | no | Model ID (default: happyhorse-1.0-r2v) |
| `--prompt <text>` | string | yes | Video description with reference markers (图1, 视频1, etc.) |
| `--image <url>` | array | no | Reference image URL or local file (repeatable for multiple subjects) |
| `--ref-video <url>` | array | no | Reference video URL or local file (repeatable) |
| `--image-voice <url>` | array | no | Voice URL for corresponding image (pairs by position) |
| `--video-voice <url>` | array | no | Voice URL for corresponding ref-video (pairs by position) |
| `--resolution <res>` | string | no | Resolution: 720P or 1080P (default: 720P) |
| `--ratio <ratio>` | string | no | Aspect ratio (16:9, 9:16, 1:1) |
| `--duration <seconds>` | number | no | Video duration in seconds (2-10, default: 5) |
| `--prompt-extend <bool>` | string | no | Enable prompt extend (true/false). Omit flag to omit the parameter (DashScope default). |
| `--watermark <bool>` | string | no | Enable watermark (true/false). Omit flag to use CLI default (true). |
| `--seed <n>` | number | no | Random seed for reproducible generation |
| `--download <path>` | string | no | Save video to file on completion |
| `--no-wait` | boolean | no | Return task ID immediately without waiting |
| `--async` | boolean | no | Return task ID immediately (agent/CI mode, same as --no-wait) |
| `--poll-interval <seconds>` | number | no | Polling interval when waiting (default: 15) |
#### Examples
@@ -194,17 +194,17 @@ bl video ref --prompt "图1在喝水" --image person.jpg --watermark false
### `bl video task get`
| Field | Value |
| --- | --- |
| **Name** | `video task get` |
| **Description** | Query async task status |
| **Usage** | `bl video task get --task-id <id>` |
| Field | Value |
| --------------- | ---------------------------------- |
| **Name** | `video task get` |
| **Description** | Query async task status |
| **Usage** | `bl video task get --task-id <id>` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--task-id <id>` | string | no | Async task ID |
| Flag | Type | Required | Description |
| ---------------- | ------ | -------- | ------------- |
| `--task-id <id>` | string | no | Async task ID |
#### Examples
+13 -13
View File
@@ -7,28 +7,28 @@ Index: [index.md](index.md)
## Commands in this group
| Command | Description |
| --- | --- |
| Command | Description |
| -------------------- | ---------------------------------------- |
| `bl vision describe` | Describe an image or video using Qwen-VL |
## Command details
### `bl vision describe`
| Field | Value |
| --- | --- |
| **Name** | `vision describe` |
| **Description** | Describe an image or video using Qwen-VL |
| **Usage** | `bl vision describe --image <path-or-url> [--video <url>] [--prompt <text>]` |
| Field | Value |
| --------------- | ---------------------------------------------------------------------------- |
| **Name** | `vision describe` |
| **Description** | Describe an image or video using Qwen-VL |
| **Usage** | `bl vision describe --image <path-or-url> [--video <url>] [--prompt <text>]` |
#### Options
| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--image <path-or-url>` | string | no | Local image path or URL |
| `--video <url>` | array | no | Video file URL or local path (mp4/mov/avi/mkv/webm) |
| `--prompt <text>` | string | no | Question about the content (default: auto-detected) |
| `--model <model>` | string | no | Vision model (default: qwen3-vl-plus) |
| Flag | Type | Required | Description |
| ----------------------- | ------ | -------- | --------------------------------------------------- |
| `--image <path-or-url>` | string | no | Local image path or URL |
| `--video <url>` | array | no | Video file URL or local path (mp4/mov/avi/mkv/webm) |
| `--prompt <text>` | string | no | Question about the content (default: auto-detected) |
| `--model <model>` | string | no | Vision model (default: qwen3-vl-plus) |
#### Examples