模型能力

Files API 集成

Imagine API 可从两个方向与 Files API 集成:

默认情况下,Imagine 请求会在 临时 上返回一个imgen.x.ai,或在 vidgen.x.ai 上返回一个临时 URL,它只能在生成后的短时间内用于获取 asset。Files 集成让你可以在同一次请求中复用已存储的输入并持久保存输出。

组合使用:迭代循环

同时使用输入和输出最直接的收益,是可以始终通过 Files API 串联 Imagine 调用。直接引用上一次调用的 file_id 中已存储的 file_output,无需下载、重新上传或将文件设为公开。

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)