PHP无法直接集成Adobe Sensei,因其无公开SDK或API;必须通过Adobe I/O注册获取凭证,调用Express、AEM等产品API间接使用Sensei能力。

PHP 本身无法直接与 Adobe Sensei 集成——Sensei 是 Adobe Cloud 的底层 AI 平台,不提供公开的 PHP SDK、REST API 或独立调用入口。所谓“PHP + Sensei”实际是借道 Adobe 的具体 SaaS 产品(如 Adobe Express、Adobe Stock、Experience Manager Assets),通过其开放 API 间接使用 Sensei 驱动的能力。
为什么找不到 adobe_sensei_connect() 或官方 PHP 包
Adobe 官方从未发布过面向 PHP 的 Sensei SDK。Sensei 不是独立服务,而是嵌入在 Adobe I/O Runtime、AEM Assets 智能标记、Express 自动生成文案等模块中的 AI 引擎。所有对外暴露的接口,都属于上层产品 API,而非 Sensei 本身。
- Sensei 的模型训练、推理、版本管理全由 Adobe 内部管控,外部不可见、不可定制、不可直连
- 你调用的
POST /s7publish/scene7/v1/generate(Adobe Express)或GET /api/assets/v1/{id}/insights(AEM Assets)背后才可能调用 Sensei,但协议、鉴权、响应结构均由该产品定义 - 试图用 PHP cURL 硬连某个 “Sensei endpoint” 会返回
404 Not Found或403 Forbidden,因为那些地址根本不存在于公网
真正可行的集成路径:走 Adobe I/O + Product API
要让 PHP 应用“用上 Sensei 能力”,唯一合规路径是注册 Adobe Developer Console,创建 Integration,获取 client_id、client_secret 和 techacct,再用 JWT 换取 access_token,最后调用目标产品的 REST API。
- 例如生成营销图:调用
POST https://express.adobe.com/api/v1/generate,传prompt字段,响应中generated_image_url就是 Sensei 图像生成模型输出 - 例如智能打标:对 AEM Assets 中某张图发起
POST /api/assets/v1/{assetId}/analyze,需提前在 AEM 后台启用 Sensei 分析规则 - 所有请求必须带
Authorization: Bearer {access_token},且 token 有效期仅 24 小时,PHP 必须自行实现刷新逻辑 - Adobe I/O 的 JWT 签发依赖私钥(
private.key文件),PHP 需用openssl_sign()手动生成,不能靠第三方库自动处理
常见报错及绕过方式
90% 的失败源于权限配置错误或 endpoint 混淆,而非 PHP 代码问题。
立即学习“PHP免费学习笔记(深入)”;
-
401 Unauthorized:检查 JWT payload 中的iss(IMS org ID)和sub(techacct)是否与 Developer Console 里完全一致,大小写、短横线都不能错 -
400 Bad Request返回"error":"invalid_api_key":说明你误把client_id当成了 API Key —— Adobe I/O 不用 API Key,只认 JWT token -
503 Service Unavailable在调/api/assets/v1/...时出现:确认该 AEM 环境已启用 Sensei 分析服务(需管理员在http://aem-host:4502/system/console/configMgr中开启com.adobe.granite.ips.SenseiAssetAnalyzer) - 返回空
insights字段:不是接口失败,而是该资产尚未被 Sensei 处理过,需先触发异步分析(POST /analyze)再轮询GET /status,PHP 得自己写重试逻辑
真正卡住人的从来不是 PHP 怎么发请求,而是弄不清哪个 API 属于哪个 Adobe 产品、权限要开几层、token 到底该签什么字段。Sensei 像藏在墙后的引擎,你只能听见它转动的声音,却摸不到皮带轮——所有“集成”,本质都是跟前台产品打交道。



















