在大模型应用开发的场景中,开发者经常会遇到一个痛点:不同模态的AI能力分散在不同接口,文本对话、图片生成、视频生成、语音合成需要分别调用独立API,每一类能力都要单独编写鉴权、请求、重试、结果解析代码,在自动化脚本、CI流水线、本地Agent开发场景下,代码冗余严重,维护成本居高不下。百炼CLI是面向开发者推出的全模态AI命令行工具,把平台内各类大模型能力封装为统一的终端指令,支持文本对话、文生图、图像编辑、语音合成、语音识别、视频生成、知识库检索等十余项原子AI能力。开发者可以直接在终端输入指令完成AI任务,也可以嵌入Shell脚本、Python程序,实现AI任务自动化调度,同时原生兼容各类AI Agent框架,能够快速对接Qoder、Claude Code等编程智能体,将AI能力集成到开发工作流当中。本文将完整拆解百炼CLI的底层定位、环境准备、安装步骤、鉴权配置、常用命令实操、技能扩展、Python集成开发,以及生产环境部署、计费监控、高频报错排查,提供完整可直接运行的代码命令,帮助零基础开发者快速上手,把全模态AI能力接入自动化业务流程。
百炼CLI本质是封装了百炼平台模型网关的命令行客户端,底层统一管理API鉴权、模型路由、请求限流、会话上下文、异步任务轮询、结果存储,开发者不再需要针对不同模型单独处理网络请求和返回数据。工具支持跨操作系统运行,Windows、macOS、Linux全部兼容,仅需要Node.js运行环境,版本最低要求18.17.0及以上。对于个人开发者,本地电脑安装后,直接在终端完成AI素材生成、代码辅助、文档总结;对于企业运维团队,可以部署在ECS服务器中,嵌入自动化流水线,实现批量图片生成、音频批量转写、文档批量摘要;对于AI Agent开发人员,可以通过Skill插件机制扩展自定义能力,让智能体直接调用多模态模型,完成复杂任务编排。同时百炼CLI原生支持Token Plan订阅方案,开通订阅之后,API Key可以直接绑定CLI,自动抵扣Token用量,无需额外复杂配置,大幅降低长期调用模型的成本。详情👉访问阿里云百炼 CLI 页面 或
详情👉访问阿里云百炼大模型服务平台页面 了解

一、环境准备与百炼CLI安装实操
在安装之前,首先校验本机Node环境版本,打开终端执行下面命令,查看Node版本:
node -v
npm -v
如果版本低于18.17.0,需要前往Node官网下载新版环境。注意,官方推荐使用npm全局安装,不推荐pnpm、yarn等其他包管理器,容易出现依赖缺失的问题。
执行全局安装命令,一键部署百炼CLI客户端:
npm install -g bailian-cli
安装完成之后,执行版本校验命令,确认安装成功:
bl --version
输出版本号即代表CLI主体安装完成。接下来安装配套技能包,技能包提供各类模态能力的插件支持,是调用图像、视频、语音能力的基础,执行初始化命令:
bl skill init
如果这条命令执行失败,可以使用降级方案安装全部技能:
npx skills add modelstudioai/cli --all -g
安装完成技能之后,进入鉴权环节,这是调用模型的核心步骤。百炼CLI提供两种鉴权方式,控制台网页登录和API Key密钥登录。网页登录方式适合本地电脑调试,不需要手动复制密钥,执行命令:
bl auth login --console
执行之后终端会输出访问链接,打开链接完成登录授权,授权信息自动写入本地配置文件。
服务器环境,推荐使用API Key鉴权,先前往百炼控制台的API密钥管理页面,创建并复制API Key,在终端执行下面命令完成密钥配置:
bl auth login --api-key sk-xxxxxxxxxxxxxxxxxxxx
配置完成,执行鉴权状态检查命令,校验密钥是否生效:
bl auth status
这条命令会输出当前登录账号、API Key状态、Token Plan订阅状态、可用模型列表,确认鉴权成功之后,就可以开始调用各类AI能力。本地配置文件默认保存在~/.bailian/config.toml,不要随意分享这个配置文件,文件内包含访问凭证,一旦泄露会造成资产和用量消耗风险。
二、百炼CLI常用命令实操示例
百炼CLI所有指令都以bl作为主命令,支持文本对话、图片生成、语音合成、任务查询、技能管理、用量统计等丰富子命令。下面由浅入深,演示高频场景的命令。
1. 基础文本对话,调用大模型进行问答
bl chat --model qwen3.8-max --prompt "写一份云服务器运维巡检清单,包含CPU、内存、磁盘、日志检查项"
执行这条命令,终端直接返回模型输出的巡检清单,--model参数用来指定模型名称,可以切换Flash、Max等不同规格模型。加上--stream参数可以开启流式输出,文字逐行实时返回,适合交互式对话。
bl chat --model qwen3.8-flash --stream --prompt "解释MoE大模型架构原理,用通俗易懂的语言"
2. 文生图命令,生成图片素材
bl image generate --prompt "简约商务风格产品海报,浅蓝色背景,干净极简,高清8k" --size 1024*1024 --num 2
参数说明:--prompt为绘图提示词,--size设置图片分辨率,--num设置生成图片数量,执行完成后,图片会自动下载保存到本地目录。
3. 语音合成,文本转语音音频文件
bl tts --text "欢迎使用百炼CLI,全模态AI命令行工具" --voice "zh_female_01" --output ./audio_output.wav
运行后生成wav音频文件保存到当前目录,支持更换音色,调整语速参数。
4. 技能管理命令,查看、添加、卸载技能插件
# 查看已经安装的技能列表
bl skill list
# 安装第三方自定义技能
bl skill add --from github.com/xxx/custom-ner-skill
# 删除不需要的技能
bl skill remove custom-ner-skill
5. 用量统计命令,查看Token消耗,监控模型调用成本
bl usage show --period today
这条命令可以查看当日的Token消耗,区分输入Token和输出Token,快速统计开销,方便成本管控。支持修改period参数,切换为yesterday、month查看昨日、本月用量。
三、Python集成实战,在Python脚本调用百炼CLI
很多业务场景需要在Python自动化脚本中调用百炼CLI,实现批量任务处理,例如批量文档摘要、批量生成产品图片、批量音频生成。Python可以通过subprocess模块调用终端命令,捕获CLI的输出结果,实现自动化流程。
首先创建Python脚本bailian_cli_run.py,完整代码如下:
import subprocess
import json
def run_bailian_cli(command_list):
"""调用百炼CLI命令,捕获返回结果"""
try:
result = subprocess.run(
command_list,
capture_output=True,
text=True,
timeout=120
)
if result.returncode == 0:
return {
"success": True, "data": result.stdout, "error": ""}
else:
return {
"success": False, "data": "", "error": result.stderr}
except Exception as e:
return {
"success": False, "data": "", "error": str(e)}
# 示例1:调用文本对话
def chat_with_model(prompt, model="qwen3.8-flash"):
cmd = ["bl", "chat", "--model", model, "--prompt", prompt]
res = run_bailian_cli(cmd)
return res
# 示例2:批量文生图
def batch_generate_image(prompt, img_size="1024*1024", count=1):
cmd = ["bl", "image", "generate", "--prompt", prompt, "--size", img_size, "--num", str(count)]
res = run_bailian_cli(cmd)
return res
if __name__ == "__main__":
# 文本对话测试
chat_result = chat_with_model("写一段产品介绍文案,面向中小企业AI自动化工具")
print("对话返回结果:")
print(chat_result)
# 批量生成图片
img_result = batch_generate_image("极简科技风banner,深蓝色,几何线条,无文字", "1024*1024", 1)
print("图片生成任务结果:")
print(img_result)
代码运行前,需要保证本机已经安装百炼CLI,并且完成鉴权配置,环境变量正常加载。执行脚本命令:
python bailian_cli_run.py
脚本执行之后,会自动调用百炼CLI,执行大模型对话和图片生成任务,捕获终端输出,开发者可以基于这个基础代码扩展,循环读取本地文档,批量生成摘要,或者读取产品列表批量生成电商素材,接入定时任务,实现7×24小时自动化AI任务。
在服务器ECS环境部署这个脚本的时候,需要注意后台持久运行,推荐使用nohup命令后台运行脚本,避免终端断开导致任务终止:
nohup python bailian_cli_run.py > task_log.txt 2>&1 &
同时可以编写日志监控命令,实时查看任务运行日志:
tail -f task_log.txt
四、技能扩展与Agent编排能力
百炼CLI最核心的优势之一就是Skill技能扩展体系,开发者可以编写自定义技能,扩展工具能力,实现知识库检索、数据库查询、本地文件读取等能力,让大模型拥有调用外部资源的能力,完成复杂Agent任务。例如开发一个文档解析技能,读取本地PDF文档,结合大模型做内容问答。
我们可以使用workflow命令,编排多步骤AI工作流,导出任务流程配置:
bl workflow export --format yaml --output ./ai_workflow.yaml
导出yaml格式的工作流文件,后续可以直接加载复用整套任务编排逻辑,适合在CI/CD流水线中复用整套AI任务流程。
百炼CLI可以和主流AI编程智能体无缝对接,例如Qoder CN,在Qoder环境中直接调用百炼CLI,让编程智能体拥有文生图、视频生成的能力。在Qoder终端中执行安装配置指令,智能体自动完成部署:
npm install -g bailian-cli
bl auth login --api-key sk-xxxxxxxxxxxx
配置完成之后,直接用自然语言下发需求,智能体会自动调用百炼CLI生成图片、视频素材,实现代码开发+多媒体素材一体化开发。
五、计费规则、成本管控方案
百炼CLI本身不收取额外工具使用费,所有消耗只对应底层模型调用产生的Token费用,图片、视频生成任务按照对应模型计费规则扣费。开通Token Plan订阅方案,可以享受高额折扣,大幅降低调用成本,订阅额度会自动被CLI消耗,不需要额外配置。
开发者可以通过CLI命令定期查看用量,搭配上面Python脚本,实现用量告警。下面这个简易脚本片段,读取每日用量,当消耗超过阈值输出告警:
import subprocess
def get_daily_usage():
cmd = ["bl", "usage", "show", "--period", "today"]
result = subprocess.run(cmd, capture_output=True, text=True)
return result.stdout
usage_data = get_daily_usage()
print(usage_data)
# 设置阈值,超过阈值触发告警
if "total_tokens" in usage_data and int(usage_data.split("total_tokens:")[-1]) > 100000:
print("警告:今日Token用量已超过阈值,请关注成本!")
在生产业务中,建议设置用量上限,避免批量任务意外产生高额消耗。测试阶段优先使用Flash系列模型,单价更低,适合大量调试;正式业务上线,对输出质量要求高,选择Max系列模型。批量图片、视频任务尽量在非高峰时段执行,合理规划任务并发数量,避免触发限流。详情👉访问阿里云百炼 CLI 页面 或
详情👉访问阿里云百炼大模型服务平台页面 了解

六、常见报错排查与避坑指南
- bl命令无法识别:全局npm安装之后,环境变量没有加载npm全局路径。可以执行
npm config get prefix查看全局安装路径,将路径添加到系统环境变量。Windows系统需要重启终端,让环境变量生效。 - 鉴权失败报错:检查API Key是否复制完整,不要带有多余空格;确认密钥没有过期,密钥在控制台可以查看状态;服务器环境优先使用环境变量注入密钥,不要硬编码在脚本中,防止密钥泄露。
- 技能初始化 bl skill init 失败:Node版本过低,或者网络访问问题。确认Node版本≥18.17.0,切换npm镜像源,或者使用降级的npx安装命令。
- 图片/视频任务长时间没有返回:图像、视频生成属于异步任务,复杂提示词生成耗时更长,可以增加任务等待超时时间,查看任务状态:
查看正在运行的任务列表,查看任务ID,单独查询任务详情:bl task listbl task get --task-id xxxxxx - Python subprocess调用CLI出现超时:图片、视频生成任务执行时间较长,需要调高脚本timeout参数,避免任务未完成就被强制终止。
七、生产环境部署最佳实践
当把百炼CLI部署到ECS服务器用于线上自动化任务,有几个关键点需要遵守。第一,密钥安全管理,不要直接把API Key写在代码、脚本、日志中,推荐使用环境变量注入,在Linux终端设置环境变量:
export BAILIAN_API_KEY="sk-xxxxxxxxxxxx"
第二,做好任务并发控制,不要无限制并发调用模型,容易触发接口限流,在Python脚本中增加并发队列,控制同时执行任务数量。第三,日志留存,所有AI任务的输入提示词、返回结果、消耗Token都写入日志,方便审计、排查问题和成本统计。第四,资源隔离,生产环境和测试环境使用不同API Key,分开统计用量,避免测试任务消耗生产订阅额度。第五,定期更新百炼CLI版本,执行升级命令获取新模型支持和bug修复:
npm update -g bailian-cli
百炼CLI的出现,降低了全模态AI能力接入自动化系统的门槛,开发者不需要深入研究各个模型API的请求协议,只需要掌握简单终端命令,就能在本地终端、服务器脚本、AI智能体中调用文本、图像、语音、视频多模态大模型。从个人开发者本地做素材生成、文档处理,到企业搭建自动化AI流水线,这套工具都可以快速落地。配合Python脚本集成,能够实现批量任务自动化,搭配Token Plan订阅方案,进一步降低长期调用的成本。掌握安装、鉴权、命令调用、Python集成整套流程,就可以快速把全模态AI能力嵌入现有的开发与运维工作流,快速搭建属于自己的AI自动化系统。