跳转到内容

模型能力

Files API 集成

Imagine API 与 Files API 进行双向集成:

  • 输入 — 在任何 Imagine 端点接受公共 URL 或 base64 编码的图像/视频的地方,您都可以使用 Files 存储中的 file_id 进行替换。无需在每次调用时使文件公开或重新上传字节。
  • 输出 — Imagine 可以将生成的资源持久化到您的 Files 存储中,并可选择为其创建一个永久、可共享的公共 URL,同时默认返回临时的生成 URL。

默认情况下,Imagine 请求会在 imgen.x.aividgen.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)

相关内容

本文档为 docs.x.ai 全站中文翻译,由 AI 自动翻译生成。代码示例请以原文为准。