2026-05-28 18:37:07 +08:00
<div align="center">
2026-05-28 20:31:58 +08:00
<img src="https://img.alicdn.com/imgextra/i1/O1CN01kGgO3z1N30OINgUoG_!!6000000001513-2-tps-1915-821.png" alt="Aliyun Model Studio CLI" />
2026-05-28 18:37:07 +08:00
**The official command-line interface for Aliyun Model Studio (DashScope) AI Platform **
[](https://www.npmjs.com/package/bailian-cli)
2026-07-21 13:55:38 +08:00
[](https://nodejs.org)
2026-05-28 18:37:07 +08:00
[](https://www.typescriptlang.org)
[](LICENSE)
2026-06-09 13:48:17 +08:00
[Aliyun Model Studio CLI Site ](https://bailian.console.aliyun.com/cli?source_channel=cli_github& ) · [中文文档 ](https://github.com/modelstudioai/cli/blob/main/README.zh.md ) · [API Documentation ](https://help.aliyun.com/zh/model-studio/ ) · [Get API Key ](https://bailian.console.aliyun.com/cn-beijing/?source_channel=key_github&tab=app#/api-key )
2026-05-28 18:37:07 +08:00
---
_ Chat with Qwen, generate images & videos, understand images, call agents, _
_ manage memory, search the web — all from your terminal. _
_ Built for AI Agents. Every command works as a structured tool call. _
</div>
## Features
Equip your AI Agent out-of-the-box with these capabilities, composable across complex tasks:
2026-08-03 15:34:18 +08:00
- **Text chat** — Qwen3.8-max: major gains in agentic coding, frontend coding, and vibe coding
2026-05-28 18:37:07 +08:00
- **Multimodal (Omni)** — Full omni-modal support across text + image + audio + video
- **Image generation & editing** — Qwen-Image 2.0: pro text rendering, photorealism, strong semantic adherence, multi-image composition
2026-07-08 14:05:48 +08:00
- **Video generation & editing** — happyhorse-1.1 series: text-/image-/reference-to-video and natural-language video editing (up to 9-image reference)
2026-05-28 18:37:07 +08:00
- **Speech synthesis & recognition** — CosyVoice streaming TTS, voice cloning from 5– 20s samples; FunAudio-ASR covers 30 languages including 7 Chinese dialects and 20+ Mandarin accents
- **Image & video understanding** — Qwen-VL: long-form video analysis, chart/document parsing, visual reasoning, multilingual OCR
2026-07-19 16:47:29 +08:00
- **Coding agent setup** — Configure Claude Code, Qwen Code, OpenCode, OpenClaw, Hermes Agent, or Codex to use DashScope with `bl config agent`
2026-06-17 16:46:49 +08:00
> **Note:** The features below are currently available only to China site (aliyun.com) account holders and are not yet supported for international / global site accounts.
2026-05-28 18:37:07 +08:00
- **Knowledge base & memory** — Multimodal RAG retrieval and cross-session memory for personalized, coherent dialogue
- **App calls** — Invoke agents and workflows already published on Aliyun Model Studio
2026-06-05 17:05:04 +08:00
- **MCP integration** — Orchestrate Bailian MCP servers: list services, inspect tools, and invoke any tool directly from the terminal
2026-05-28 18:37:07 +08:00
- **Web search** — Real-time internet retrieval for up-to-date, accurate answers
2026-06-05 16:53:33 +08:00
- **Model recommendation** — Describe your scenario and get best-fit model suggestions; supports scoped search, model comparison, and alternative discovery
2026-07-10 13:50:11 +08:00
- **Fine-tuning & deployment** — Upload datasets, create text/audio/image fine-tune jobs (`finetune text|audio|image create` ; text covers SFT/LoRA/DPO/CPT), probe job status non-blockingly (`finetune watch` ), query per-model training capability (`finetune capability` ), and deploy trained models as endpoints (`deploy text|audio|image create` )
2026-07-13 17:01:24 +08:00
- **Console capabilities** — Browse the model marketplace (`model list` ) and Bailian apps (`app list` ), review a unified usage view (`usage summary` ), check free-tier quota (`usage free` ), view model usage statistics (`usage stats` ), manage workspaces (`workspace list` ), and manage rate limits (`quota list/request/check/history` )
2026-05-28 18:37:07 +08:00
- **Local file auto-upload** — Every URL parameter accepts a local path; uploaded to free temp storage with 48-hour validity
2026-05-28 21:47:10 +08:00
## Showcase: One-Sentence Cinematic Video
2026-05-28 18:37:07 +08:00
<p align="center">
2026-05-28 22:28:34 +08:00
<a href="https://cloud.video.taobao.com/vod/dS2F4huqbw5Nfe5L3wwb3grz2q2DNYD3retq8dU-iHo.mp4">
2026-06-01 18:09:24 +08:00
<img src="https://img.alicdn.com/imgextra/i1/O1CN01Q5052k232Hd36NodG_!!6000000007197-0-tps-2940-1656.jpg" alt="Click to play the demo video" width="720" />
2026-05-28 21:47:10 +08:00
</a>
2026-05-28 18:37:07 +08:00
</p>
2026-05-28 21:47:10 +08:00
<p align="center"><i>👆 Click the cover to play the full 2-minute demo</i></p>
A complete **2-minute, 16:9 cinematic short film ** — produced end-to-end from a single natural-language sentence, with **zero manual editing ** . This showcase demonstrates how an AI Agent can compose a multi-step creative pipeline by orchestrating three primitives:
- **[Qwen Code ](https://github.com/QwenLM/qwen-code )** — the agentic coding model that interprets the user's intent and drives the workflow
2026-07-08 14:05:48 +08:00
- **[Aliyun Model Studio CLI ](https://bailian.console.aliyun.com/cli?source_channel=cli_github& )** — invokes **HappyHorse 1.1 ** , Aliyun Model Studio's text-/image-/reference-to-video generation model
2026-05-28 21:47:10 +08:00
- **[spark-video Skill ](https://github.com/JohnKeating1997/spark-video )** — handles scene decomposition, storyboarding, shot continuity, and final stitching
### The single prompt
2026-05-29 13:52:06 +08:00
> _"Generate a roughly 2-minute video in Japanese cinematic style — a sweet, innocent first-love story about a high-school girl. The plot should be heart-fluttering enough to make viewers want to fall in love. Aspect ratio: 16:9."_
2026-05-28 21:47:10 +08:00
>
2026-05-29 13:52:06 +08:00
> _(Original: "帮我生成一段日系影视风格, 高中女生的青涩初恋故事, 剧情高甜, 让人看了想谈恋爱, 2分钟左右的视频, 尺寸是16:9")_
2026-05-28 21:47:10 +08:00
### How it works
1. **Qwen Code ** parses the request, plans the narrative beats, and decides which tools to call.
2. The **spark-video Skill ** breaks the story into shots, writes per-shot prompts, and enforces visual continuity (characters, lighting, palette, lens language).
2026-07-08 14:05:48 +08:00
3. * * `bl video generate` ** dispatches each shot to **HappyHorse 1.1 ** in parallel.
2026-05-28 21:47:10 +08:00
4. The skill stitches all clips back together into a single 16:9 / ~2-min deliverable.
No timeline scrubbing. No frame-by-frame editing. Just one sentence → one video.
2026-05-28 18:37:07 +08:00
## Installation
``` bash
npm install -g bailian-cli
2026-06-08 15:29:51 +08:00
npx skills add modelstudioai/cli --all -g
2026-05-28 18:37:07 +08:00
```
2026-07-21 13:55:38 +08:00
> Requires Node.js >= 18.17.
2026-05-28 18:37:07 +08:00
## Quick Start
``` bash
2026-06-02 19:41:05 +08:00
# Authenticate, recommended
bl auth login --console
# Or authenticate with an API key
2026-05-28 18:37:07 +08:00
bl auth login --api-key sk-xxxxx
2026-07-19 16:05:35 +08:00
# Or use Token Plan (Base URL built in; the key is tested during login)
bl auth login --config token-plan --api-key sk-sp-xxxxx
2026-07-19 16:47:29 +08:00
# Configure a coding agent to use DashScope
bl config agent --agent codex --base-url https://dashscope.aliyuncs.com/compatible-mode/v1 --api-key sk-xxxxx --model qwen3-coder-plus
2026-05-28 18:37:07 +08:00
# Chat with Qwen
bl text chat --message "What is DashScope?"
# Multimodal chat (text + image + audio + video)
bl omni --message "Describe this image" --image ./photo.jpg
# Generate an image
bl image generate --prompt "A cat in a spacesuit" --out-dir ./images/
# Generate a video from local image
bl video generate --image ./cat.png --prompt "Make the cat move" --download cat.mp4
2026-06-05 16:53:33 +08:00
# Model recommendation — find the best model for your use case
bl advisor recommend --message "I need a visual-understanding chatbot"
# Compare specific models
bl advisor recommend --message "qwen-max vs deepseek-v3 for code generation"
2026-05-28 18:37:07 +08:00
# Browser login (required for console capability commands)
bl auth login --console
2026-07-08 14:05:48 +08:00
# Fine-tune & deploy — a one-shot train-to-serve workflow
bl dataset upload --file ./train.jsonl # Upload a .jsonl dataset (validated first)
2026-07-10 13:50:11 +08:00
bl finetune text create --model qwen3-8b --datasets ./train.jsonl --training-type sft-lora # Local paths auto-upload
2026-07-13 17:01:24 +08:00
bl finetune watch --job-id ft-xxx --output json # Non-blocking probe (running/succeeded return 0; failed/canceled report an error)
2026-07-08 14:05:48 +08:00
bl finetune capability --model qwen3-8b # Which training types a model supports
2026-07-10 13:50:11 +08:00
bl deploy text create --model qwen3-8b --name my-svc --plan mu # Deploy the trained model as an endpoint
2026-07-08 14:05:48 +08:00
2026-07-13 17:01:24 +08:00
# Browse models / apps / free-tier quota / usage statistics / workspaces
bl model list # Browse model families and pricing
2026-05-28 18:37:07 +08:00
bl app list
2026-07-12 22:11:32 +08:00
bl usage summary # Unified view: free-tier quota + recent usage overview
2026-07-08 14:05:48 +08:00
bl usage free # Free-tier quota across models (add --model/--expiring/--sort)
bl usage stats --workspace-id <id> # Model usage statistics (add --model for per-model)
2026-06-10 16:04:39 +08:00
bl workspace list # List all workspaces
2026-07-08 14:05:48 +08:00
# Rate limit management (list / check / request / history)
bl quota list # View RPM/TPM limits (add --model to filter)
bl quota check # Current usage vs rate limits (add --model/--period)
2026-06-10 16:04:39 +08:00
bl quota request --model qwen3.6-plus --tpm 6000000 # Request a temporary TPM increase
2026-07-08 14:05:48 +08:00
bl quota history # View quota-change history
# Token Plan team management (requires AK/SK, see auth below)
bl token-plan list-seats # View subscription seat details
bl token-plan add-member --account-name dev --org-id org_xxx
bl token-plan assign-seats --workspace-id ws_xxx --seat-type standard --account-id acc_xxx
bl token-plan create-key --account-id acc_xxx --workspace-id ws_xxx
2026-05-28 18:37:07 +08:00
```
2026-05-29 09:42:57 +08:00
> More examples and scenarios: [Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?source_channel=cli_github&)
2026-05-28 18:37:07 +08:00
## Authentication
### DashScope API Key
2026-06-09 13:48:17 +08:00
Required for most commands. Get your key from the [DashScope Console ](https://bailian.console.aliyun.com/cn-beijing/?source_channel=key_github&tab=app#/api-key ).
2026-05-28 18:37:07 +08:00
``` bash
# Option 1: Environment variable
export DASHSCOPE_API_KEY = sk-xxxxx
# Option 2: Login command (persisted to ~/.bailian/config.json)
bl auth login --api-key sk-xxxxx
# Option 3: Per-command flag
bl text chat --api-key sk-xxxxx --message "Hello"
```
2026-07-19 16:05:35 +08:00
### Token Plan API Key
Get or copy the API key from the [Token Plan subscription overview ](https://bailian.console.aliyun.com/cn-beijing?tab=plan#/efm/subscription/overview ).
The CLI has the default Token Plan Base URL built in. Login tests the key first, then saves and activates the `token-plan` config only when validation succeeds.
``` bash
bl auth login --config token-plan --api-key sk-sp-xxxxx
```
2026-05-28 18:37:07 +08:00
### Console Login (OAuth)
2026-07-13 17:01:24 +08:00
Required for console capability commands (`model list` , `app list` , `usage summary/free/stats` , `workspace list` , `quota list/request/check/history` ). Opens the Bailian console in your browser to sign in.
2026-05-28 18:37:07 +08:00
``` bash
bl auth login --console
```
2026-07-09 15:03:48 +08:00
### Alibaba Cloud OpenAPI AK/SK (Token Plan only)
2026-07-08 14:05:48 +08:00
Required for the `token-plan` command group. Get your AccessKey from [RAM Console ](https://ram.console.aliyun.com/manage/ak ).
> Recommended: create a RAM sub-account with minimum privileges instead of using the root account's AK/SK.
``` bash
2026-07-09 15:03:48 +08:00
# Option 1: Login command (persisted to ~/.bailian/config.json)
bl auth login --open-api --access-key-id LTAI5t... --access-key-secret ...
# Option 2: Environment variables
2026-07-08 14:05:48 +08:00
export ALIBABA_CLOUD_ACCESS_KEY_ID = LTAI5t...
export ALIBABA_CLOUD_ACCESS_KEY_SECRET = ...
export BAILIAN_WORKSPACE_ID = ws-...
```
2026-05-28 18:37:07 +08:00
## Configuration
``` bash
# View current config
bl config show
# Set defaults
2026-06-16 18:16:10 +08:00
bl config set --key base_url --value https://dashscope-us.aliyuncs.com
2026-05-28 18:37:07 +08:00
bl config set --key default_text_model --value qwen-turbo
bl config set --key timeout --value 600
# Self-update to latest version
bl update
```
Config file location: `~/.bailian/config.json`
## Links
2026-06-10 17:03:39 +08:00
| Resource | URL |
| :--------------------------- | :---------------------------------------------------------------------------------------- |
| Aliyun Model Studio CLI Site | https://bailian.console.aliyun.com/cli?source_channel=cli_github& |
| DashScope API Docs | https://help.aliyun.com/zh/model-studio/ |
| Qwen Model List | https://help.aliyun.com/zh/model-studio/getting-started/models |
| Aliyun Model Studio Console | https://bailian.console.aliyun.com/?source_channel=cli_github |
2026-06-09 13:48:17 +08:00
| Get API Key | https://bailian.console.aliyun.com/cn-beijing/?source_channel=key_github&tab=app#/api -key |
2026-07-19 16:05:35 +08:00
| Get Token Plan API Key | https://bailian.console.aliyun.com/cn-beijing?tab=plan#/efm/subscription/overview |
2026-06-10 17:03:39 +08:00
| Get AccessKey | https://ram.console.aliyun.com/manage/ak |
2026-05-28 23:49:47 +08:00
## Changelog
2026-05-29 13:41:36 +08:00
Release notes for every version live in [CHANGELOG.md ](https://github.com/modelstudioai/cli/blob/main/CHANGELOG.md ).
2026-05-28 23:49:47 +08:00
## Contributing
2026-05-29 13:41:36 +08:00
Bug reports, feature requests, and PRs are welcome. See [CONTRIBUTING.md ](https://github.com/modelstudioai/cli/blob/main/CONTRIBUTING.md ) for developer setup, repo layout, and the workflow for adding or changing commands.