Prodia 프로바이더
Prodia 프로바이더
Prodia의 빠른 생성형 AI 추론 플랫폼을 AI SDK에서 쓸 수 있게 해주는 프로바이더예요. FLUX와 Stable Diffusion 모델로 고속 이미지 생성을 제공해요.
출처: 문서
본문
Prodia는 생성형 AI를 위한 빠른 추론 플랫폼으로, FLUX와 Stable Diffusion 모델로 고속 이미지 생성을 제공해요.
설정 (Setup)
Prodia 프로바이더는 @ai-sdk/prodia 모듈로 제공돼요. 다음과 같이 설치할 수 있어요:
프로바이더 인스턴스 (Provider Instance)
@ai-sdk/prodia에서 기본 프로바이더 인스턴스 prodia를 불러올 수 있어요:
import { prodia } from '@ai-sdk/prodia';
커스터마이즈가 필요하다면 createProdia를 불러와 원하는 설정으로 프로바이더 인스턴스를 만들 수 있어요:
import { createProdia } from '@ai-sdk/prodia';
const prodia = createProdia({
apiKey: *** // optional, defaults to PRODIA_TOKEN environment variable
baseURL: 'custom-url', // optional
headers: {
/* custom headers */
}, // optional
});
Prodia 프로바이더 인스턴스를 커스터마이즈할 때 사용할 수 있는 선택적 설정은 다음과 같아요:
-
baseURL string
API 호출에 다른 URL 접두사를 사용해요. 기본 접두사는
https://inference.prodia.com/v2예요. -
apiKey string
Authorization헤더로 Bearer 토큰으로 보내는 API 키예요. 기본값은PRODIA_TOKEN환경 변수예요. -
headers Record<string,string>
요청에 포함할 커스텀 헤더예요.
-
fetch (input: RequestInfo, init?: RequestInit) => Promise<Response>
커스텀 fetch 구현이에요. 요청을 가로채는 미들웨어로 쓸 수도 있고, 예를 들어 테스트용으로 커스텀 fetch 구현을 제공할 수도 있어요.
이미지 모델 (Image Models)
.image() 팩토리 메서드로 Prodia 이미지 모델을 만들 수 있어요.
AI SDK에서 이미지 생성에 대해 더 알고 싶다면 generateImage()를 참고하세요.
기본 사용법 (Basic Usage)
import { writeFileSync } from 'node:fs';
import { prodia } from '@ai-sdk/prodia';
import { generateImage } from 'ai';
const { image } = await generateImage({
model: prodia.image('inference.flux-fast.schnell.txt2img.v2'),
prompt: 'A cat wearing an intricate robe',
});
const filename = `image-${Date.now()}.png`;
writeFileSync(filename, image.uint8Array);
console.log(`Image saved to ${filename}`);
모델 기능 (Model Capabilities)
Prodia는 다양한 이미지 생성 모델에 대한 빠른 추론을 제공해요. 지원되는 모델 유형은 다음과 같아요:
| 모델 | 설명 |
|---|---|
inference.flux-fast.schnell.txt2img.v2 |
Fast FLUX Schnell model for text-to-image generation |
inference.flux.schnell.txt2img.v2 |
FLUX Schnell model for text-to-image generation |
이미지 크기 (Image Size)
WIDTHxHEIGHT 형식의 size 파라미터로 이미지 크기를 지정할 수 있어요:
import { prodia } from '@ai-sdk/prodia';
import { generateImage } from 'ai';
const { image } = await generateImage({
model: prodia.image('inference.flux-fast.schnell.txt2img.v2'),
prompt: 'A serene mountain landscape at sunset',
size: '1024x768',
});
프로바이더 옵션 (Provider Options)
Prodia 이미지 모델은 providerOptions.prodia 객체를 통한 추가 옵션을 지원해요:
import { prodia, type ProdiaImageModelOptions } from '@ai-sdk/prodia';
import { generateImage } from 'ai';
const { image } = await generateImage({
model: prodia.image('inference.flux-fast.schnell.txt2img.v2'),
prompt: 'A cat wearing an intricate robe',
providerOptions: {
prodia: {
width: 1024,
height: 768,
steps: 4,
stylePreset: 'cinematic',
} satisfies ProdiaImageModelOptions,
},
});
다음 프로바이더 옵션을 지원해요:
- width number - 출력 너비(픽셀) (256–1920). 설정하면
size에서 파생된 너비를 재정의해요. - height number - 출력 높이(픽셀) (256–1920). 설정하면
size에서 파생된 높이를 재정의해요. - steps number - 계산 반복 횟수 (1–4). 스텝이 많을수록 일반적으로 더 높은 품질 결과를 생성해요.
- stylePreset string - 출력 이미지에 시각적 테마를 적용해요. 지원 프리셋:
3d-model,analog-film,anime,cinematic,comic-book,digital-art,enhance,fantasy-art,isometric,line-art,low-poly,neon-punk,origami,photographic,pixel-art,texture,craft-clay. - loras string[] - 최대 3개의 LoRA 모델로 출력을 강화해요.
- progressive boolean - JPEG 출력을 사용할 때 프로그레시브 JPEG를 반환해요.
시드 (Seed)
seed 파라미터를 사용해 재현 가능한 결과를 얻을 수 있어요:
import { prodia } from '@ai-sdk/prodia';
import { generateImage } from 'ai';
const { image } = await generateImage({
model: prodia.image('inference.flux-fast.schnell.txt2img.v2'),
prompt: 'A serene mountain landscape at sunset',
seed: 12345,
});
프로바이더 메타데이터 (Provider Metadata)
generateImage 응답은 providerMetadata.prodia.images[]에 프로바이더별 메타데이터를 포함해요. 각 이미지 객체는 다음 속성을 가질 수 있어요:
- jobId string - 생성 작업의 고유 식별자.
- seed number - 생성에 사용된 시드. 결과를 재현하는 데 유용.
- elapsed number - 생성 시간(초).
- iterationsPerSecond number - 처리 속도 지표.
- createdAt string - 작업이 생성된 타임스탬프.
- updatedAt string - 작업이 마지막으로 업데이트된 타임스탬프.
import { prodia } from '@ai-sdk/prodia';
import { generateImage } from 'ai';
const { image, providerMetadata } = await generateImage({
model: prodia.image('inference.flux-fast.schnell.txt2img.v2'),
prompt: 'A serene mountain landscape at sunset',
});
// Access provider metadata
const metadata = providerMetadata?.prodia?.images?.[0];
console.log('Job ID:', metadata?.jobId);
console.log('Seed:', metadata?.seed);
console.log('Elapsed:', metadata?.elapsed);
더 알아보기 (Learn more)
- AI Gateway
- xAI Grok
- OpenAI
- Azure OpenAI
- Anthropic
- Open Responses
- Claude Platform on AWS
- Amazon Bedrock
- Groq
- Fal
- AssemblyAI
- GMI Cloud
- TypeSafe
- DeepInfra
- Deepgram
- Black Forest Labs
- Gladia
- Hume
- Google Vertex AI
- Rev.ai
- Baseten
- Hugging Face
- QuiverAI
- Fish Audio
- Mistral AI
- Z.AI
- Together.ai
- Cohere
- Fireworks
- Voyage AI
- DeepSeek
- Moonshot AI
- Alibaba
- MiniMax
- Cerebras
- Replicate
- Prodia
- Perplexity
- Luma
- ByteDance
- Kling AI
- ElevenLabs
- Cartesia