Decart 适配器提供访问 Decart 的图像和视频生成模型的功能。
npm install @decartai/tanstack-ai-adapter
import { generateImage } from "@tanstack/ai";
import { decartImage } from "@decartai/tanstack-ai-adapter";
const result = await generateImage({
adapter: decartImage("lucy-pro-t2i"),
prompt: "A serene mountain landscape at sunset",
});
import { generateImage } from "@tanstack/ai";
import { createDecartImage } from "@decartai/tanstack-ai-adapter";
const adapter = createDecartImage("lucy-pro-t2i", process.env.DECART_API_KEY!);
const result = await generateImage({
adapter,
prompt: "A serene mountain landscape at sunset",
});
import { createDecartImage, type DecartImageConfig } from "@decartai/tanstack-ai-adapter";
const config: Omit<DecartImageConfig, "apiKey"> = {
baseUrl: "https://api.decart.ai", // Optional, for custom endpoints
};
const adapter = createDecartImage("lucy-pro-t2i", process.env.DECART_API_KEY!, config);
使用 lucy-pro-t2i 生成图像
import { generateImage } from "@tanstack/ai";
import { decartImage } from "@decartai/tanstack-ai-adapter";
const result = await generateImage({
adapter: decartImage("lucy-pro-t2i"),
prompt: "A futuristic cityscape at night",
});
console.log(result.images[0].b64Json);
const result = await generateImage({
adapter: decartImage("lucy-pro-t2i"),
prompt: "A portrait of a robot artist",
modelOptions: {
resolution: "720p",
orientation: "portrait",
seed: 42,
},
});
| 选项 | 类型 | 默认 | 描述 |
|---|---|---|---|
| 分辨率 | "720p" | "720p" | 输出分辨率 |
| 方向 | "portrait" | "landscape" | "landscape" | 图像方向 |
| 种子 | number | - | 用于可重复生成的种子 |
视频生成使用异步任务/轮询架构。
import { generateVideo } from "@tanstack/ai";
import { decartVideo } from "@decartai/tanstack-ai-adapter";
const { jobId } = await generateVideo({
adapter: decartVideo("lucy-pro-t2v"),
prompt: "A cat playing with a ball of yarn",
});
console.log("Job started:", jobId);
import { getVideoJobStatus } from "@tanstack/ai";
import { decartVideo } from "@decartai/tanstack-ai-adapter";
const status = await getVideoJobStatus({
adapter: decartVideo("lucy-pro-t2v"),
jobId,
});
console.log("Status:", status.status); // "pending" | "processing" | "completed" | "failed"
if (status.status === "completed" && status.url) {
console.log("Video URL:", status.url);
}
import { generateVideo, getVideoJobStatus } from "@tanstack/ai";
import { decartVideo } from "@decartai/tanstack-ai-adapter";
async function createVideo(prompt: string) {
const adapter = decartVideo("lucy-pro-t2v");
// Create the job
const { jobId } = await generateVideo({ adapter, prompt });
console.log("Job created:", jobId);
// Poll for completion
let status = "pending";
while (status !== "completed" && status !== "failed") {
await new Promise((resolve) => setTimeout(resolve, 5000));
const result = await getVideoJobStatus({ adapter, jobId });
status = result.status;
console.log(`Status: ${status}`);
if (result.status === "failed") {
throw new Error("Video generation failed");
}
if (result.status === "completed" && result.url) {
return result.url;
}
}
}
const videoUrl = await createVideo("A drone shot over a tropical beach");
const { jobId } = await generateVideo({
adapter: decartVideo("lucy-pro-t2v"),
prompt: "A timelapse of a blooming flower",
modelOptions: {
resolution: "720p",
orientation: "landscape",
seed: 42,
},
});
| 选项 | 类型 | 默认 | 描述 |
|---|---|---|---|
| 分辨率 | "720p" | "480p" | "720p" | 输出分辨率 |
| 方向 | "portrait" | "landscape" | "landscape" | 视频方向 |
| 种子 | number | - | 用于可重复生成的种子 |
将您的 API 密钥设置为环境变量
DECART_API_KEY=your-api-key-here
使用环境变量创建 Decart 图像适配器。
参数
返回值: 一个 Decart 图像适配器实例。
使用显式 API 密钥创建 Decart 图像适配器。
参数
返回值: 一个 Decart 图像适配器实例。
使用环境变量创建 Decart 视频适配器。
参数
返回值: 一个 Decart 视频适配器实例。
使用显式 API 密钥创建 Decart 视频适配器。
参数
返回值: 一个 Decart 视频适配器实例。