模型能力
Files API 集成
Imagine API 与 Files API 进行双向集成:
- 输入 — 在任何 Imagine 端点接受公共 URL 或 base64 编码的图像/视频的地方,您都可以使用 Files 存储中的
file_id进行替换。无需在每次调用时使文件公开或重新上传字节。 - 输出 — Imagine 可以将生成的资源持久化到您的 Files 存储中,并可选择为其创建一个永久、可共享的公共 URL,同时默认返回临时的生成 URL。
默认情况下,Imagine 请求会在 imgen.x.ai 或 vidgen.x.ai 上返回一个临时URL,该 URL 仅在生成后短期内可用于获取资源。Files 集成使您能够在同一请求中重用存储的输入并持久化输出。
TIP
需要将已上传的文件设为公开,或希望对创建/撤销流程进行细粒度控制?请参阅独立的 Files → Public URLs 文档。
综合应用:迭代循环
同时使用输入和输出最明显的优势是可以链接多个 Imagine 调用,而无需离开 Files API。直接从前一个调用的 file_output 中引用存储的 file_id — 无需下载、重新上传或使文件公开。
python
import os
import xai_sdk
client = xai_sdk.Client(api_key=os.getenv("XAI_API_KEY"))
# 1. Generate an image and store it
gen = client.image.sample(
prompt="A futuristic city skyline at night",
model="grok-imagine-image-quality",
storage_options={"filename": "city.jpg"}, # store privately, no public URL needed
)
city = gen.file_output.file_id
# 2. Edit the stored image without re-uploading
edit = client.image.sample(
prompt="Add neon signs to the buildings",
model="grok-imagine-image-quality",
image_file_id=city,
storage_options={"filename": "city-neon.jpg"},
)
# 3. Animate the edited result into a video
vid = client.video.generate(
prompt="A camera pulls back through the city",
model="grok-imagine-video-1.5",
duration=5,
image_file_id=edit.file_output.file_id,
)
print(vid.url)相关内容
- 引用文件作为输入 — 输入方向的完整参考和示例。
- 持久化生成的输出 — 输出方向的完整参考和示例。
- Files → Public URLs — 任何文件的公共 URL 生命周期,无论其创建方式如何。
- 管理文件 — 上传、列出、检索、更新和删除文件。