Bailian CLI command reference for text chat and Omni multimodal interaction.
A single command invokes Bailian's text chat and Omni multimodal interaction capabilities from the terminal.
ImportantAppend --help to any command for full parameter details, e.g. bl text chat --help. Every parameter that accepts a file URL also accepts a local path — the CLI auto-uploads it to temporary storage (valid for 48 hours), so you never need to host files as URLs yourself. Command details on this page are verified against bl 2.8.0.
Command reference
bl text chat
Send a text model request (OpenAI compatible, DashScope). Requires API Key authentication.
Usage
bl text chat --message <text> [flags]
| Parameter | Type | Required | Description |
|---|---|---|---|
--api <chat|responses> | string | no | API to call (default: chat) |
--model <model> | string | no | Model ID (default: qwen3.8-max) |
--message <text> | array | no | Message text (repeatable, prefix role: to set role); or use --messages-file |
--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 | switch | no | Stream response tokens (default: on in TTY) |
--tool <json-or-path> | array | no | Tool definition as JSON or file path (repeatable) |
--enable-thinking | switch | no | Enable thinking/reasoning mode (for qwen3/qwq models) |
--thinking-budget <n> | number | no | Max tokens for thinking (default: 4096) |
--batch | switch | no | Send a single synchronous Batch Chat request (non-streaming) |
--prime | switch | no | Use Prime mode with a workspace-scoped endpoint |
--workspace-id <id> | string | no | Workspace ID for the default Prime endpoint (or set BAILIAN_WORKSPACE_ID) |
Example: Send message asking What is Qwen?
bl text chat --message "What is Qwen?"
Example: Send a synchronous Batch Chat request
bl text chat --batch --model qwen-plus --message "Hello" --timeout 3600
--batchsends one synchronous Batch Chat request and forces non-streaming even in a TTY. It cannot be combined with--prime,--api responses, or--stream.--messageor--messages-filesupplies the conversation context for one request, not independent requests from a file.- Batch Chat total request timeout defaults to 300 seconds;
--timeoutmust be 60–3600 seconds. For file-based batch inference, usebatch create/get/download; create returns a task ID without waiting for completion. --batchrejects explicitly specified realtime, international, or Token Plan endpoints; explicitly specified Batch or custom proxy URLs retain existing credentials. No automatic fallback or POST replay occurs.- Prime mode requires an explicit model and currently supports only the Chat Completions API.
- Prime endpoint: configured --base-url, DASHSCOPE_BASE_URL, or profile base_url takes precedence; otherwise workspace is resolved from --workspace-id, BAILIAN_WORKSPACE_ID, then config workspace_id.
bl omni
Multimodal chat with text + audio output (Qwen-Omni). Requires API Key authentication.
Usage
bl omni --message <text> [flags]
| Parameter | Type | Required | Description |
|---|---|---|---|
--message <text> | array | no | 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 (.wav/.mp3/.amr/.aac/.m4a/.ogg/.3gp/.3gpp) |
--video <url> | array | no | Video file URL / local path, or comma-separated frame URLs |
--voice <voice> | string | no | Output voice ID (default: Tina). Use --list-voices to see all options |
--list-voices | switch | no | List available output voices and exit |
--audio-format <fmt> | string | no | Audio output format (default: wav) |
--audio-out <path> | string | no | Save audio to file (default: auto-generate) |
--text-only | switch | 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] |
Example: List available output voices for Qwen-Omni
bl omni --list-voices