본문으로 건너뛰기

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"이미지 방향
seednumber-재현 가능한 생성을 위한 시드

비디오 생성

비디오 생성은 비동기 작업 및 폴링 아키텍처를 사용합니다.

비디오 작업 생성

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"비디오 방향
seednumber-재현 가능한 생성을 위한 시드

환경 변수

환경 변수에 API 키를 설정합니다.

DECART_API_KEY=your-api-key-here

API 키 발급

  1. Decart Platform으로 이동합니다.
  2. 계정을 만들고 API 키를 생성합니다.
  3. 환경 변수에 추가합니다.

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 비디오 어댑터 인스턴스입니다.

다음 단계