使用指南
通过 hiapi API 使用 gpt-6-astra 生成电商产品图片
它不会生成照片——但它能撰写产品列表中的其余所有内容。
GPT-6 Astra 不生成图片——以下是它在电商技术栈中真正的用武之地
如果你来这里是指望 GPT-6 Astra 来绘制产品照片,那它做不到——它是一个纯文本与推理模型,通过 /v1/responses 端点访问,完全不输出图像、音频或视频。但对电商团队来说,这并非死路一条。每张产品图片都生活在一个页面上,而这个页面还需要描述、alt 文本、客服答复,以及同一套卖点的三个广告渠道版本——而 GPT-6 Astra 恰恰就是为这一层而生的。本指南涵盖产品图片工作流中的文本部分:批量描述生成、用于商品列表的结构化数据提取,以及客户问答——并附上针对 Responses API 的真实请求示例。如果你需要照片本身,请把它与 GPT Image 2 这样的图像模型搭配使用,让 GPT-6 Astra 处理围绕照片的所有文字内容。
为什么用 Responses API,而不是 Chat Completions
GPT-6 Astra 仅通过 POST /v1/responses 暴露——与 OpenAI 为其较新推理模型使用的端点家族相同——而不是较旧的 Chat Completions 形态。如果你要把它接入产品流水线,有三处差异很重要:
- 用
input而不是messages。 你传入的是一个输入项数组,而不是messages列表。请改造你的 Chat Completions 客户端,而不是原样复用它构建请求的代码。 - 实践中默认
stream=true,状态用store=false。 模型会在文本到达时流式发出response.output_text.delta事件,并在一个结构化项完成时发出response.output_item.done。使用store=false时,调用之间服务端不会保留任何内容——如果你在运行多轮客服对话,需要在下一个input数组中自行重放先前的用户/助手轮次。 - 用
reasoning.effort而不是temperature。 此集成没有temperature、top_p或max_output_tokens调节项。你通过reasoning.effort控制输出质量/延迟,取值为low、medium、high、xhigh或max之一(没有none——推理无法关闭)。对于描述生成这类简短、确定性任务,low或medium通常就够了;把high及以上留给需要判断力的场景,比如起草涉及政策敏感问题的客服回复。
基础 URL 为 https://api.hiapi.ai/v1,密钥与你其他 hiapi 模型相同。
用例 1:用结构化输出批量生成产品描述
最直接的电商契合点,是把规格表大规模转化为符合品牌调性的商品列表文案。与其从模型返回的自由文本中再解析,不如使用 text.format.type=json_schema,让每个响应都以你的 CMS 可直接摄入的形状返回——标题、简短描述、长描述和要点列表,全部在一次调用中完成。
import json
import requests
resp = requests.post(
"https://api.hiapi.ai/v1/responses",
headers={
"Authorization": f"Bearer {HIAPI_KEY}",
"Content-Type": "application/json",
},
json={
"model": "gpt-6-astra",
"store": False,
"reasoning": {"effort": "low"},
"input": [
{
"role": "system",
"content": "You write concise, factual e-commerce listing copy. "
"Never invent specs that aren't in the input.",
},
{
"role": "user",
"content": "Product: ceramic pour-over coffee dripper, 400ml, "
"matte white, dishwasher safe, fits standard filters. "
"Write listing copy for this product.",
},
],
"text": {
"format": {
"type": "json_schema",
"name": "listing_copy",
"schema": {
"type": "object",
"properties": {
"title": {"type": "string"},
"short_description": {"type": "string"},
"long_description": {"type": "string"},
"bullet_points": {
"type": "array",
"items": {"type": "string"},
},
},
"required": [
"title",
"short_description",
"long_description",
"bullet_points",
],
"additionalProperties": False,
},
}
},
},
stream=False,
)
data = resp.json()
针对你的产品数据库按 SKU 运行这段代码,你得到的就是一致且经过 schema 校验的文案,而不是从聊天窗口里复制粘贴出来的散文。请让系统提示严格禁止虚构规格——如果你放任不管,模型会很乐意对你根本没给它的功能写得绘声绘色。
用例 2:基于自有文档的客户支持问答
对于客服助手,关键模式是 store=false 的重放循环。每一轮,你都把当前对话加上任何工具结果放回 input 中发送;你不发送的内容,模型一概不记得。这是有意的权衡——代价是重放输入 token 会略贵一些,但意味着对话状态归你的应用所有,而不是归供应商所有(如果你需要从自己的数据库中脱敏、分支或恢复对话,这会很有用)。
history = [
{"role": "system", "content": "Answer only from the provided product FAQ context. "
"If the answer isn't in context, say so and offer to escalate."},
]
def ask(user_message: str, faq_context: str) -> str:
history.append({"role": "user", "content": f"Context:\n{faq_context}\n\nQuestion: {user_message}"})
resp = requests.post(
"https://api.hiapi.ai/v1/responses",
headers={"Authorization": f"Bearer {HIAPI_KEY}", "Content-Type": "application/json"},
json={
"model": "gpt-6-astra",
"store": False,
"reasoning": {"effort": "medium"},
"input": history,
},
)
answer = resp.json()["output"][-1]["content"][0]["text"]
history.append({"role": "assistant", "content": answer})
return answer
对于任何需要查询订单状态或触发退货的操作,请在 tools 中将其声明为函数——模型会返回一个 function_call,你的后端执行它,然后在模型继续之前,你通过 function_call_output 把结果带上相同的 call_id 回传。这样可确保模型永远不直接接触你的订单数据库。
用例 3:面向不同渠道的营销文案变体
同一组产品事实,在产品页面、邮件标题和 30 字符的广告标题中需要不同的措辞。由于 GPT-6 Astra 会流式发出 response.output_text.delta 事件,你可以在一次调用中生成多个渠道变体,并在内容到达时即时渲染,而不必等待完整响应——如果这要用于内部工具的实时预览,会很有用。这里同样把 reasoning.effort 保持在 low;短文案的语气匹配不需要更强推理,而且能在营销人员实时迭代时保持低延迟。
费用如何计算
GPT-6 Astra 按 token 计费,且存在一个硬性档位断崖,而非边际加价——在一次请求中批量处理大型商品目录之前,值得先了解清楚:
| 档位 | 输入 | 输出 | 缓存输入 | 缓存写入 |
|---|---|---|---|---|
| 标准(≤272,000 输入 token/请求) | $2.50 / 100 万 tokens | $12.50 / 100 万 tokens | $0.25 / 100 万 tokens | $3.125 / 100 万 tokens |
| 长上下文(>272,000 输入 token/请求) | $5.00 / 100 万 tokens | $18.75 / 100 万 tokens | $0.50 / 100 万 tokens | $6.25 / 100 万 tokens |
该阈值是针对请求的总输入来检查的——包括缓存读取和写入——一旦越过,整个请求都按长上下文费率计费,而不仅仅是超过 272,000 的那部分 token。对于上述用例(单品描述生成、一轮客服对话、一个文案变体),你离这条线还很远;它主要在你把整个商品目录或一份长文档塞进一次调用时才有影响。在承诺执行批量任务前,请查看 hiapi.ai/pricing 获取当前费率,因为这些费率基于用量且可能变化。
这与技术栈其余部分如何配合
以上任何内容都无法替代真正的图像模型——GPT-6 Astra 没有 /v1/tasks 访问权限,也无法产生视觉输出。如果你的工作流需要与这些文案配套的产品摄影或生活场景图,那需要单独调用 GPT Image 2 之类的图像模型,而且两者的请求格式和端点并不互通。完整配置详情,包括模型 ID 和确切的请求形状,见 GPT-6 Astra API 指南和模型页面。
常见问题
GPT-6 Astra 能生成产品图片吗?
不能。它是一个通过 /v1/responses 访问的纯文本模型,不输出图像、音频或视频。请为商品列表的视觉部分搭配一个图像模型。
input 与我在 Chat Completions 中使用的 messages 数组有什么区别?
input 是 Responses API 用于对话轮次和内容的请求字段——它不是 messages 的直接替代品,因此 Chat Completions 客户端代码需要改造,而不仅仅是改个字段名。
对于描述生成这类简单任务,我需要关闭推理吗?
你无法关闭它——不存在 reasoning.effort=none。对于简短、低风险的生成任务请使用 low;它是五个档位中最快、最便宜的。
store=false 是否意味着我会丢失对话历史?
不,它意味着平台不会替你存储。你的应用会在下一个 input 数组中重放它需要的轮次,这让你能控制包含哪些上下文(也让你能脱敏或分支对话),代价是这些 token 需要再次作为输入付费。
在许多产品描述调用中重复相同的系统提示,能获得缓存折扣吗?
不保证。缓存命中取决于服务端策略和时机,而不仅仅是字面重复——请检查响应 usage 对象中的 cached_tokens,而不要假定折扣一定适用。
如果我把整个商品目录批量塞进一次请求会怎样? 如果总输入 token(包括任何缓存内容)超过 272,000,整个请求——输入、输出和缓存用量——都按长上下文费率计费,而不仅仅是超过阈值的部分。对于大多数单品或单次对话调用,这不适用,但在把大型目录批量塞进一次调用前,值得先检查 token 数量。