gRPC API
视频
xai_api.Video
用于调用视频生成模型的 API 服务。
方法:xai_api.Video
GenerateVideounary根据文本 prompt 创建视频,也可以选择提供图像。这是异步操作,会立即返回用于轮询的 request_id。
ExtendVideounary生成延续内容以延长现有视频。这是异步操作,会立即返回用于轮询的 request_id。
GetDeferredVideounary获取通过 `GenerateVideo` 或 `ExtendVideo` 启动的视频生成结果。
视频生成是异步的。SDK 的 generate() 和 extend() 方法会自动处理轮询。如需手动控制,请使用 start() / extend_start() 和 get()。
生成视频
import os
import xai_sdk
client = xai_sdk.Client(api_key=os.getenv("XAI_API_KEY"))
# generate() handles polling automatically and returns the completed video
response = client.video.generate(
prompt="A serene lake at sunrise with mist rolling over the water",
model="grok-imagine-video-1.5",
duration=5,
aspect_ratio="16:9",
resolution="720p",
)
print(response.url)
编辑视频
import os
import xai_sdk
client = xai_sdk.Client(api_key=os.getenv("XAI_API_KEY"))
response = client.video.generate(
prompt="Give the woman a silver necklace",
model="grok-imagine-video-1.5",
video_url="https://data.x.ai/docs/video-generation/portrait-wave.mp4",
)
print(response.url)
延长视频
import os
import xai_sdk
client = xai_sdk.Client(api_key=os.getenv("XAI_API_KEY"))
response = client.video.extend(
prompt="The camera slowly zooms out to reveal the city skyline",
model="grok-imagine-video-1.5",
video_url="https://data.x.ai/docs/video-generation/portrait-wave.mp4",
duration=6,
)
print(response.url)
获取视频生成结果
import os
import time
import xai_sdk
from xai_sdk.proto import deferred_pb2
client = xai_sdk.Client(api_key=os.getenv("XAI_API_KEY"))
# Manual polling (alternative to generate() which does this automatically)
start = client.video.start(
prompt="A cat lounging in a sunbeam",
model="grok-imagine-video-1.5",
)
while True:
result = client.video.get(start.request_id)
if result.status == deferred_pb2.DeferredStatus.DONE:
print(result.response.video.url)
break
elif result.status == deferred_pb2.DeferredStatus.FAILED:
print("Generation failed")
break
time.sleep(5)
最后更新:2026 年 9 月 2 日