Model Capabilities
视频编辑
通过提供源视频和提示词来编辑现有视频。模型能够理解视频内容并应用您请求的更改。
您可以将源视频作为公共 URL、base64 编码的数据 URI 或来自 Files API 的 file_id 提供。有关使用 file_id 输入的信息,请参阅 Imagine → Files API Integration。
WARNING
下面的演示展示了视频编辑的实际效果。grok-imagine-video 提供高保真编辑,同时保持场景完整性,只修改您要求的部分,同时保持视频的其余部分不变:
在 Vercel AI SDK 中,通过将 providerOptions.xai.mode 设置为 "edit-video" 并传递带有源视频 URL 的 providerOptions.xai.videoUrl 来触发视频编辑。prompt 描述所需的修改;duration、aspectRatio 和 resolution 会被忽略,因为输出会从输入视频继承这些属性,最高限制为 720p。
并发请求
当您需要对同一源视频应用多个编辑时,请并发运行请求。这对于从同一中间结果分支出多个编辑非常有用。
python
import os
import asyncio
import xai_sdk
async def edit_concurrently():
client = xai_sdk.AsyncClient(api_key=os.getenv("XAI_API_KEY"))
source_video = "https://data.x.ai/docs/video-generation/portrait-wave.mp4"
prompts = [
"Give the woman a silver necklace",
"Change the color of the woman's outfit to red",
"Give the woman a wide-brimmed black hat",
]
tasks = [
client.video.generate(
prompt=prompt,
model="grok-imagine-video",
video_url=source_video,
)
for prompt in prompts
]
results = await asyncio.gather(*tasks)
for prompt, result in zip(prompts, results):
print(f"{prompt}: {result.url}")
asyncio.run(edit_concurrently())javascript
import { xai, type XaiVideoModelOptions } from "@ai-sdk/xai";
import { experimental_generateVideo as generateVideo } from "ai";
const providerOptions = {
xai: {
mode: "edit-video",
videoUrl: "https://example.com/source-video.mp4",
pollTimeoutMs: 600000,
} satisfies XaiVideoModelOptions,
};
const step1 = await generateVideo({
model: xai.video("grok-imagine-video"),
prompt: "Add a party hat to the person",
providerOptions,
});
const step1VideoUrl = step1.providerMetadata?.xai?.videoUrl as string;
const [withSunglasses, withScarf] = await Promise.all([
generateVideo({
model: xai.video("grok-imagine-video"),
prompt: "Add sunglasses",
providerOptions: {
xai: {
mode: "edit-video",
videoUrl: step1VideoUrl,
pollTimeoutMs: 600000,
} satisfies XaiVideoModelOptions,
},
}),
generateVideo({
model: xai.video("grok-imagine-video"),
prompt: "Add a scarf",
providerOptions: {
xai: {
mode: "edit-video",
videoUrl: step1VideoUrl,
pollTimeoutMs: 600000,
} satisfies XaiVideoModelOptions,
},
}),
]);
console.log(withSunglasses.providerMetadata?.xai?.videoUrl);
console.log(withScarf.providerMetadata?.xai?.videoUrl);相关
- 视频生成 — 根据文本提示生成视频
- 图像转视频 — 为静态图像添加动画
- 视频扩展 — 扩展现有视频
- API 参考 — 完整的端点文档
- Imagine API 着陆页 — Imagine API 实际应用展示