绘城智绘 OpenAPI
绘城智绘是绘城智算中的 CAD 空间智能能力,
面向工程图纸理解、空间推理、智能布局、质量审核与设计结果输出。
当前版本:V1 Technical Preview
当前技术预览阶段暂不计费。
正式商业计费规则以后续平台公告与控制台价格为准。
应用能力
调用绘城智绘接口前,需要在“应用管理”中为对应应用开通
cad 能力。
required_capability = cad
未开通时将返回:
{
"code": "APP_CAPABILITY_DENIED",
"message": "当前应用未开通该能力"
}
支持文件
OpenAPI V1 当前支持:
PDF、图片等格式不属于当前 CAD OpenAPI V1 文件输入范围。
创建 CAD 任务
POST /openapi/v1/cad/jobs
请求类型:
multipart/form-data
表单字段:
file = DXF/DWG 文件
CAD multipart 签名
CAD 上传不能使用整个 multipart HTTP body 计算签名。
PAYLOAD_HASH 必须使用实际上传 CAD 文件的 SHA256。
FILE_SHA256 =
SHA256(actual_cad_file_bytes)
PAYLOAD_HASH =
FILE_SHA256
同时必须额外发送:
X-HC-Content-SHA256: FILE_SHA256
服务端会重新计算实际上传文件摘要。
Header 摘要与实际文件摘要不一致时,请求会被拒绝。
签名原文示例
POST
/openapi/v1/cad/jobs
1782871200
cad_nonce_xxxxxxxxx
a349bd47f91936dc45f2509f1242bfdd6a89c853880cac82292e6dd657b1fc5d
然后:
X-HC-Signature =
HMAC_SHA256(
canonical_string,
SecretKey
)
请求 Header
X-HC-Access-Key: your_access_key
X-HC-Timestamp: 1782871200
X-HC-Nonce: cad_nonce_xxxxxxxxx
X-HC-Request-Id: cad-request-xxxxxxxxx
X-HC-Content-SHA256: file_sha256
X-HC-Signature: calculated_signature
创建成功
HTTP 201
{
"job_id": "JOB_xxxxxxxxxxxxxxxxxxxx",
"status": "queued",
"estimated_cost": 0,
"cad_task_id": "CAD_xxxxxxxxxxxxxxxxx",
"billing_mode": "technical_preview_no_charge"
}
查询任务状态
GET /openapi/v1/cad/jobs/{job_id}
此接口只返回公开任务状态,不返回 CAD 内部推理结构。
{
"job_id": "JOB_xxx",
"status": "processing",
"progress": 50,
"charged_amount": 0,
"error": null,
"created_at": "2026-09-29 16:00:00",
"started_at": "2026-09-29 16:00:01",
"finished_at": null
}
获取 CAD 设计结果
GET /openapi/v1/cad/jobs/{job_id}/result
仅当任务状态为 succeeded 时,
返回公开设计结果。
成功结果
{
"job_id": "JOB_xxx",
"status": "succeeded",
"progress": 100,
"charged_amount": 0,
"error": null,
"cad_task_id": "CAD_xxx",
"design": {
"ready": true,
"room_count": 1,
"layout_count": 1,
"furniture_count": 2,
"opening_count": 0
},
"quality": {
"passed": true,
"geometry_passed": true,
"layout_ready": true,
"score": 100,
"grade": "A"
},
"output": {
"plan": {
"status": "ok",
"svg_url": "https://api.zhihuijia-ai.com/runtime/render/..."
},
"presentation": {
"status": "ok",
"png_url": "https://api.zhihuijia-ai.com/runtime/presentation/...",
"svg_url": "https://api.zhihuijia-ai.com/runtime/presentation/..."
}
}
}
任务状态
| 状态 |
说明 |
结果 |
queued |
已进入任务队列 |
design / quality / output 为 null |
processing |
正在处理 |
design / quality / output 为 null |
succeeded |
处理完成 |
返回公开设计结果 |
failed |
任务失败 |
返回公开错误信息 |
任务失败
{
"job_id": "JOB_xxx",
"status": "failed",
"progress": 100,
"charged_amount": 0,
"error": {
"code": "CAD_EXECUTION_FAILED",
"message": "CAD任务处理失败"
},
"cad_task_id": null,
"design": null,
"quality": null,
"output": null
}
CAD 内部 Worker、模型、推理、恢复策略和工程诊断信息
不属于公开 API 契约。
常见错误码
| 错误码 |
HTTP |
说明 |
AUTH_HEADERS_MISSING |
401 |
缺少 OpenAPI 鉴权请求头 |
SIGNATURE_EXPIRED |
401 |
请求时间戳已过期 |
INVALID_ACCESS_KEY |
401 |
AccessKey 不存在或已停用 |
INVALID_SIGNATURE |
401 |
签名验证失败 |
IP_NOT_ALLOWED |
403 |
来源 IP 不在白名单 |
APP_CAPABILITY_DENIED |
403 |
应用未开通 CAD 能力 |
REPLAY_DETECTED |
409 |
Nonce 已使用 |
RATE_LIMITED |
429 |
请求频率超过限制 |
CAD_FILE_REQUIRED |
400 |
未上传 DXF/DWG 文件 |
CAD_FILE_INVALID |
400 |
上传临时文件无效 |
CONTENT_SHA256_REQUIRED |
401 |
缺少有效的 X-HC-Content-SHA256 |
CONTENT_SHA256_MISMATCH |
401 |
上传文件摘要校验失败 |
CAD_EXECUTION_FAILED |
- |
异步 CAD 任务执行失败 |
浏览器跨域
绘城智算 OpenAPI 当前允许以下请求头:
Authorization
Content-Type
X-HC-Access-Key
X-HC-Timestamp
X-HC-Nonce
X-HC-Signature
X-HC-Request-Id
X-HC-Content-SHA256
防重放
每次请求必须生成新的 Nonce。
已认证的 Nonce 会被服务器记录,再次使用将返回:
HTTP 409
REPLAY_DETECTED
技术预览计费
api_code = cad_design_preview
billing_mode = technical_preview_no_charge
charged_amount = 0
当前仅代表技术预览阶段,
不构成后续正式商业价格承诺。