根据用户提供的数据和指定的图表类型,生成3D风格化数据可视化插画。
以下规则必须严格执行,不得跳过、变通或使用替代方案:
⚠️ 以下想法是错误的,如果你发现自己在这样想,请立即停止:
在调用任何 API 之前,先检查凭证状态。
bash scripts/aitubiao-cli.sh check-auth
sk_v1_...)。如果没有,引导用户前往 API Key 管理页面 创建一个新的 API Key,然后将创建好的 Key 粘贴回来。bash scripts/aitubiao-cli.sh auth <用户提供的key>
bash scripts/aitubiao-cli.sh check-auth 确认配置成功。凭证保存在 ~/.aitubiao/credentials,跨会话持久生效。
在 Windows 上通过 Git Bash 运行本 CLI 时,禁止把含中文等非 ASCII 字符的 JSON 直接写在 heredoc 里——MSYS 会按 Windows 系统代码页(常为 GBK/CP936)转换 argv 字节,传到后端就是乱码。
正确做法:先用 Write 工具把完整 UTF-8 JSON 写到一个临时文件,然后用 --body-file 让 CLI 从文件读取(绕过任何 argv/控制台编码转换):
# 第一步:用 Write 工具把请求体写到 /tmp/aitubiao-payload.json(内容必须是 UTF-8)
# 第二步:用 --body-file 调用 CLI
bash scripts/aitubiao-cli.sh --body-file /tmp/aitubiao-payload.json create-chart
--body-file 可用于所有读取 stdin JSON 的命令:create-chart / create-ppt / create-sankey / create-3d / download-project。CLI 会自动剥离 UTF-8 BOM 和 CRLF。
macOS / Linux 上无需改动,仍然可以使用 heredoc。
仅以下 11 种图表类型支持转换为3D插图:
| chartType | 中文名称 | 数据结构 | 数据行数 | 数据要求 | 推荐场景 |
|---|---|---|---|---|---|
| ----------- | --------- | --------- | --------- | --------- | --------- |
basic-line | 基础折线图 | 1列时间 + 1-8列数值 | 2-120行 | 数值或比率 | 时间序列/趋势数据 |
cascaded-area | 层叠面积图 | 1列时间 + 1-8列数值 | 2-120行 | 数值或比率 | 多系列趋势对比 |
stacked-area | 堆叠面积图 | 1列时间 + 1-12列数值 | 2-120行 | 数值或比率 | 累计趋势可视化 |
basic-pie | 饼图 | 1列分类 + 1列数值 | 2-12行 | 比率(总和≈100%) | 占比/分布数据 |
basic-column | 基础柱状图 | 1列分类 + 1列数值 | 2-120行 | 数值或比率 | 分类对比 |
check-in-bubble | 打卡气泡图 | 1列维度 + 2-48列数值 | 2-48行 | 数值或比率 | 频次/热度数据 |
funnel | 漏斗图 | 1列阶段名 + 1列数值 | 2-12行 | 数值或比率 | 转化率/流程数据 |
donut-progress | 圆环进度图 | 1列名称 + 1列数值 | 仅1行 | 比率(0-100) | 占比/完成度 |
bar-progress | 条形进度图 | 1列名称 + 1列数值 | 仅1行 | 比率(0-100) | 单指标进度 |
word-cloud | 词云图 | 1列关键词 + 1列数值 | 12-120行 | 纯数值 | 关键词频率 |
liquid | 水波图 | 1列名称 + 1列数值 | 1-48行 | 比率(0-100) | 单指标比率 |
75,禁止传 0.75每一步必须在前一步完成后才能开始。禁止跳步。
运行检查凭证流程。认证未通过时按"认证"章节流程处理。
认证未通过时,停止。不要读取用户数据,不要做任何分析。
判断用户如何提供数据:
(string|number)[][],第一行为表头。数据格式要求:
API 接受 data 字段为 JSON 二维数组,第一行为表头,后续为数据行。数值类型的单元格应为 number,文本类型应为 string。
示例:
[
["月份", "销售额", "利润"],
["1月", 1000, 200],
["2月", 1500, 350],
["3月", 2000, 500]
]
向用户展示解析后的数据(表格形式),并确认:
如果用户不确定图表类型,根据数据特点推荐:
basic-line(折线图)或 cascaded-area(面积图)basic-pie(饼图)或 donut-progress(圆环图)basic-column(柱状图)funnel(漏斗图)bar-progress(条形进度)或 liquid(水波图)询问用户是否有特殊的3D风格要求。内置风格名称(直接传名称,系统自动解析为详细提示词,不区分大小写):
water | dollar | gold | chip | fuzzy | plants | steel | glass | watermelon | bread | crystal | container | wood
用户也可以输入自定义风格描述(如"赛博朋克"、"黏土风"),系统直接使用。
| style 值 | 效果描述 |
|---|---|
| ---------- | --------- |
water | 纯净水/液体质感 |
dollar | 美元钞票材质 |
gold | 真实黄金材质 |
chip | 电脑芯片/电路板风格 |
fuzzy | 毛茸茸/长毛毯质感 |
plants | 灌木丛/绿植风格 |
steel | 不锈钢金属质感 |
glass | 多彩玻璃质感 |
watermelon | 西瓜切片材质 |
bread | 面包切片材质 |
crystal | 水晶质感 |
container | 集装箱风格 |
wood | 橡木木纹质感 |
在生成3D插图前,必须检查用户的 AI贝余额,并向用户确认费用后才能继续。
bash scripts/aitubiao-cli.sh quota --skill 3d
3D 插图按"次"计费:每次调用固定扣 .feature.cost 个 AI贝,与生成的图片张数无关。
总费用 = .feature.cost
必须在调用生成接口前向用户展示费用确认信息,并等待用户确认后才能继续:
本次操作将消耗 {cost} 个 AI贝(图表3D插图,按次计费)
当前余额: {shellBalance} 个 AI贝
操作后余额: {shellBalance - cost} 个 AI贝
是否继续?
shellBalance < cost:告知用户当前 AI贝余额不足,需前往 aitubiao 网站购买会员或充值后再继续,不要继续只有用户明确确认费用后才能执行此步骤。
注意:图表渲染 + 3D转换可能需要 60-120 秒。
bash scripts/aitubiao-cli.sh create-3d <<'EOF'
{
"data": [["月份","销售额"],["1月",1000],["2月",1500],["3月",2000]],
"chartType": "<图表类型>",
"style": "<可选:3D风格描述>",
"chartTitle": "<可选:图表标题>"
}
EOF
请求体字段说明:
| 字段 | 类型 | 必填 | 最大长度 | 说明 | |
|---|---|---|---|---|---|
| ------ | ------ | ------ | --------- | ------ | |
| data | (string\ | number)[][] | 是 | - | 二维数组,第一行表头,数值用 number,文本用 string |
| chartType | string | 是 | - | 图表类型(见上方 11 种支持类型) | |
| style | string | 否 | 500 | 内置风格名或自定义描述 | |
| chartTitle | string | 否 | 100 | 图表标题 |
检查 CLI 退出码:
success 字段(见下方 4.1)。即使 CLI exit 0,也必须检查返回 JSON 中的 success 字段。 当 success === false 且 errorCode === "chart_type_incompatible" 时:
error 中的不兼容原因compatibleChartTypes 中可用的图表类型供选择不兼容响应示例:
{
"success": false,
"chartType": "basic-line",
"errorCode": "chart_type_incompatible",
"error": "Chart type \"basic-line\" requires the first column to contain time values...",
"compatibleChartTypes": ["basic-column", "basic-pie", "funnel"]
}
向用户提供:
imageUrl 获取)| CLI Exit Code | 含义 | 处理方式 |
|---|---|---|
| -------------- | ------ | --------- |
| 0 + success=false | 图表类型不兼容 | 见第四步 4.1 处理流程 |
| 1 | 认证失败(HTTP 401/403 或凭证无效) | 立即停止,引导用户前往 API Key 管理页面 |
| 2 | 业务错误(code 90001=AI贝不足,14301=存储容量不足) | 向用户展示详情 |
| 3 | 网络/超时错误 | 告知用户稍后重试 |
共 1 个版本