Decart
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",
});
기본 사용법 - 사용자 지정 API 키
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);
이미지 모델 옵션
import { generateImage } from "@tanstack/ai";
import { decartImage } from "@decartai/tanstack-ai-adapter";
const result = await generateImage({
adapter: decartImage("lucy-pro-t2i"),
prompt: "A portrait of a robot artist",
modelOptions: {
resolution: "720p",
orientation: "portrait",
seed: 42,
},
});
| 옵션 | 타입 | 기본값 | 설명 |
|---|---|---|---|
resolution | "720p" | "720p" | 출력 해상도 |
orientation | "portrait" | "landscape" | "landscape" | 이미지 방향 |
seed | 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 jobId = "example-job-id";
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");
비디오 모델 옵션
import { generateVideo } from "@tanstack/ai";
import { decartVideo } from "@decartai/tanstack-ai-adapter";
const { jobId } = await generateVideo({
adapter: decartVideo("lucy-pro-t2v"),
prompt: "A timelapse of a blooming flower",
modelOptions: {
resolution: "720p",
orientation: "landscape",
seed: 42,
},
});
| 옵션 | 타입 | 기본값 | 설명 |
|---|---|---|---|
resolution | "720p" | "480p" | "720p" | 출력 해상도 |
orientation | "portrait" | "landscape" | "landscape" | 비디오 방향 |
seed | number | - | 재현 가능한 생성을 위한 시드 |
환경 변수
환경 변수에 API 키를 설정합니다.
DECART_API_KEY=your-api-key-here
API 키 발급
- Decart Platform으로 이동합니다.
- 계정을 만들고 API 키를 생성합니다.
- 환경 변수에 추가합니다.
API 참조
decartImage(model, config?)
환경 변수를 사용해 Decart 이미지 어댑터를 생성합니다.
매개변수:
model- 모델 이름("lucy-pro-t2i")config.baseUrl?- 사용자 지정 기본 URL(선택 사항)
반환값: Decart 이미지 어댑터 인스턴스입니다.
createDecartImage(model, apiKey, config?)
명시적 API 키를 사용해 Decart 이미지 어댑터를 생성합니다.
매개변수:
model- 모델 이름("lucy-pro-t2i")apiKey- Decart API 키config.baseUrl?- 사용자 지정 기본 URL(선택 사항)
반환값: Decart 이미지 어댑터 인스턴스입니다.
decartVideo(model, config?)
환경 변수를 사용해 Decart 비디오 어댑터를 생성합니다.
매개변수:
model- 모델 이름("lucy-pro-t2v")config.baseUrl?- 사용자 지정 기본 URL(선택 사항)
반환값: Decart 비디오 어댑터 인스턴스입니다.
createDecartVideo(model, apiKey, config?)
명시적 API 키를 사용해 Decart 비디오 어댑터를 생성합니다.
Parameters:
model- 모델 이름("lucy-pro-t2v")apiKey- Decart API 키config.baseUrl?- 사용자 지정 기본 URL(선택 사항)
반환값: Decart 비디오 어댑터 인스턴스입니다.
다음 단계
- Decart Platform - Decart 플랫폼에서 API 키를 생성합니다.
- API Documentation - 전체 API 참조를 확인합니다.
- GitHub Repository - 어댑터 소스 코드를 살펴봅니다.
- Image Generation Guide - 이미지 생성을 알아봅니다.
- Video Generation Guide - 비디오 생성을 알아봅니다.