GetAPI.ONE
使用 GetAPI.ONE 生成图像
从实时目录选择图像模型,向 ONE 图像端点发送最小声明请求,验证响应形状并安全保存输出。
准备受支持的请求
- 打开当前目录,选择明确声明图像生成端点的模型。
- 在可能计费的调用前查看实时价格;本指南不固化价格。
- 先生成一个结果,并且只使用该模型契约明确展示的字段。
POST https://www.getapi.one/v1/images/generations发送最小生成请求
- 在可信进程环境中设置 GETAPI_ONE_API_KEY。
- 从当前目录复制准确的图像模型 ID。
- 在提示词中描述主体、构图与约束。
- 先提交一个结果,确认模型支持后再扩展可选字段。
- 对有大小限制的 Base64 输出进行本地解码。如果响应包含 URL,应将其记录并交给具备明确出站/Host 规则和重定向复核的获批下载器,而不是在 API 进程中直接访问。
curl --fail-with-body https://www.getapi.one/v1/images/generations \
-H "Authorization: Bearer $GETAPI_ONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<IMAGE_MODEL_ID_FROM_CURRENT_CATALOG>",
"prompt": "A clean product diagram of a secure server-side API flow",
"n": 1
}' > image-response.jsonimport base64
import json
from pathlib import Path
from urllib.parse import urlsplit
payload = json.loads(Path("image-response.json").read_text(encoding="utf-8"))
item = payload["data"][0]
if item.get("b64_json"):
image_bytes = base64.b64decode(item["b64_json"], validate=True)
if len(image_bytes) > 25 * 1024 * 1024:
raise ValueError("Image exceeds the local 25 MB safety limit")
Path("generated-image.bin").write_bytes(image_bytes)
elif item.get("url"):
url = item["url"]
parsed = urlsplit(url)
if parsed.scheme != "https" or not parsed.hostname:
raise ValueError("Refusing an invalid or non-HTTPS image URL")
# Do not dereference provider-controlled URLs from a generic server example.
# Give this record to an approved downloader that enforces your egress and
# host policy, rejects private/link-local/loopback destinations, revalidates
# every redirect, sends no ONE credential, and bounds the response bytes.
Path("generated-image-url.txt").write_text(url, encoding="utf-8")
print("URL recorded for an egress-controlled downloader")
else:
raise ValueError("Expected data[0].url or data[0].b64_json")
评估生成结果
| 检查项 | 通过条件 |
|---|---|
| 提示词遵循度 | 所需主体与构图均出现。 |
| 安全与权利 | 输出适合目标受众,且你拥有所提供输入的权利。 |
| 响应契约 | 检查 data[0].url 或 data[0].b64_json,验证后保存返回字节。 |
| 运行记录 | 记录模型 ID、提示词版本、可用的请求 ID 与结果,但不记录密钥。 |
验证预期结果
- HTTP 请求成功,响应体包含所选模型实际返回的图像结果形状。
- 解码后的 Base64 文件可以按预期图像类型打开;或者 URL 结果已被记录,并且仅由获批的出站受控下载器获取。
- ONE 控制台记录了请求或对应的用量。
修复图像请求错误
| 现象 | 处理 |
|---|---|
| 参数不支持 | 移除可选的尺寸、质量、格式或数量字段,直到确认准确模型支持。 |
| 输出为空或不可用 | 检查完整 JSON,并处理其实际 URL 或编码数据字段;不要假设所有 Provider 形状相同。 |
| 政策或输入被拒绝 | 修改输入,不要重复提交同一请求。 |
安全保存输入与输出
- 密钥仅保存在服务端,并在转发前校验提示词长度、输出数量与可选字段。
- 除非已批准的数据处理规则允许,否则不要发送机密源图或个人数据。
- 除非 Provider 契约另有明确说明,否则将返回 URL 视为临时地址;把获批输出复制到受控存储。
- 绝不要把 GetAPI.ONE Authorization Header 转发给返回的图像 URL。
- 将返回 URL 视为不可信输入:在专用下载器中实施明确的出站与 Host 策略,阻止私网、链路本地与回环目标,并重新验证每次重定向。