muse ember在meta model api中的标识为muse-ember-1.0,支持responses接口。php项目可通过curl提交json请求。以下示例需要有效的meta model api权限,示例中的环境变量应由服务器提供,账户和地区可用范围按平台实际规则核对。
准备密钥与运行环境
确认PHP已启用cURL,并把Meta Model API密钥放在服务器环境变量MODEL_API_KEY中。不要把密钥写进前端页面、可公开下载的PHP文件或日志。
发送一个边界明确的分类任务
<?php
$key = getenv('MODEL_API_KEY');
if (!$key) { throw new RuntimeException('缺少MODEL_API_KEY'); }
$payload = [
'model' => 'muse-ember-1.0',
'input' => '将这条工单归为billing、bug或feature:本月账单被重复扣款。只返回类别。',
];
$ch = curl_init('https://api.meta.ai/v1/responses');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 90,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $key,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR),
]);
$raw = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($raw === false) { throw new RuntimeException($error); }
if ($status < 200 || $status >= 300) {
throw new RuntimeException('API请求未成功,HTTP状态:' . $status);
}
$data = json_decode($raw, true, 512, JSON_THROW_ON_ERROR);
if (($data['status'] ?? '') !== 'completed') {
throw new RuntimeException('响应未完成,请核对status与error');
}
$text = '';
foreach ($data['output'] ?? [] as $item) {
foreach ($item['content'] ?? [] as $part) {
if (($part['type'] ?? '') === 'output_text') {
$text .= $part['text'] ?? '';
}
}
}
if ($text === '') { throw new RuntimeException('未返回文本结果'); }
echo $text;
Meta官方Responses调用入口节选;完整PHP调用示例见正文
按Responses输出结构读取结果
读取output中的消息内容时,只提取type为output_text的文本片段,不把推理条目或工具调用当成最终回答。若使用其他协议的响应字段,例如直接读取choices,则需要相应改用Chat Completions接口,不能混用两种结构。
接入前确认额度和推理成本
模型默认推理强度为max,允许的范围从minimal到max。简单路由任务可以在业务测试后选择合适设置,但不能预先承诺成本或质量。超过20万输入Token的请求进入另一计费档位,返回的usage应保留供用量核对。
向CurlShip提交产品,这是一个对机器人友好的SaaS目录。只需一条curl命令即可发布产品,支持OG标签抓取、带徽章的dofollow链接及层级升级。
若出现鉴权、额度或速率限制响应,先核对账户权限及HTTP状态,再按官方错误说明处理;不要在错误请求上无界重试,也不要把不可见答案当成空字符串成功。
立即学习“PHP免费学习笔记(深入)”;


















