视觉 SDK
调摄像头、拍照、从文件选图,压缩后交给视觉模型做结构化判断,再把结果画回图上。只用浏览器原生能力(getUserMedia、canvas、createImageBitmap),不引第三方库。页面必须是 HTTPS(或 localhost)。
import { vision } from "/developer/sdk/v1/aidc.js";
清单里声明:"sdk": ["vision", "model"]、"permissions": { "camera": true }、"models": ["gpt-6-luna"]。
摄像头
const camera = await vision.openCamera({ video: document.querySelector("video"), facingMode: "environment" });
const photo = await camera.capture({ maxSize: 1280 }); // 长边 1280 的 JPEG
await camera.switchTo({ facingMode: "user" }); // 切前置
camera.stop(); // 幂等
| 方法 | 说明 |
|---|---|
openCamera(options) |
video(挂到哪个 <video>)、facingMode(environment 后置 / user 前置)、deviceId、width / height |
camera.capture(options) |
拍一张 → Photo;maxSize(长边像素,缺省 1280)、type、quality |
camera.switchTo(target) |
换摄像头 |
camera.devices() |
列出可用摄像头 |
camera.stop() |
关闭(释放设备) |
Photo = { blob, dataUrl, width, height, type, takenAt }。
没有摄像头时
const photo = await vision.pickImage(); // 手机上优先调起相机;电脑上选文件;取消返回 null
const photo2 = await vision.fromFile(file); // 已有的 File / Blob
看图判断
const result = await vision.inspect(photo, {
task: "检查成衣表面有没有污渍、破洞、跳线",
criteria: "任何肉眼可见的污渍或破损都判不合格", // 可选
model: "gpt-6-luna", // 缺省
reasoning: "low", // 缺省
});
// → { verdict: "pass" | "fail" | "uncertain", summary, findings: [...], model }
每条 finding:label(油污、划痕…)、category、severity(low / medium / high)、confidence(0–1)、box(归一化坐标 [x0, y0, x1, y1],定位不准时为 null)、note。图片模糊或看不清时模型给 uncertain,不会硬判合格。
可以一次给多张图(同一件物品的不同角度):vision.inspect([photoA, photoB], { task })。
画框标注
const canvas = await vision.annotate(photo, result.findings); // 返回画好框的 <canvas>
document.body.append(canvas);
上传给智能体
图片可以直接交给某个智能体(走 Agent API 的附件协议,24 小时内有效):
const agent = connect.agent(agentKey);
const fileId = await agent.upload(photo.blob, "defect.jpg");
await agent.send("这是今天 3 号线的不合格品,请登记。", { files: [fileId] });
见 连接 SDK。
命令行
aidc vision inspect a.jpg b.jpg --task "布面有没有污渍" --json
错误
camera_denied(没给权限)、camera_not_found、camera_busy、camera_unsupported(非 HTTPS / 旧浏览器)、invalid_model_output;以及 API 的 forbidden(清单没声明模型)、quota_exhausted(应用当日额度用完)、rate_limited。
本页由 developer/docs/vision.md 生成 · Markdown 原文 · llms.txt