Firemoon 프로바이더
Firemoon 프로바이더
Firemoon Studio는 고품질 이미지·비디오 생성 모델, 특히 파인튜닝(fine-tune) 모델과 최신(state-of-the-art) 모델을 전문으로 하는 AI 플랫폼이에요.
AI SDK용 Firemoon 프로바이더를 사용하면 단순하고 일관된 API로 이러한 모델을 사용할 수 있어요:
- 이미지 생성 (Image generation): 오늘 바로 이미지를 생성할 수 있고, 초기 비디오 모델을 지원해요.
- 모델 다양성 (Model variety): 단일 프로바이더로 여러 모델군에 접근해요.
- 프로바이더 옵션 (Provider options): 더 많은 제어가 필요할 때 모델별 파라미터를 전달해요.
출처: 문서
본문
설정 (Setup)
Firemoon 프로바이더는 @firemoon/ai-provider 모듈에서 사용할 수 있어요. 다음과 같이 설치할 수 있어요:
프로바이더 인스턴스 (Provider Instance)
API 키로 Firemoon 프로바이더 인스턴스를 만들어요:
import { createFiremoon } from '@firemoon/ai-provider';
const firemoon = createFiremoon({
apiKey: proces...KEY,
});
Firemoon API 키는 Firemoon 대시보드에서 받을 수 있어요.
이미지 생성 (Image Generation)
Firemoon은 image() 메서드를 통해 다양한 이미지 생성 모델을 지원해요:
import { generateImage } from 'ai';
const result = await generateImage({
model: firemoon.image('flux/dev'),
prompt: 'An orangered moon with a dark background',
size: 'square_hd',
});
console.log(result.images[0]);
사용 가능한 모델 (Available Models)
flux/dev- 빠르고 고품질의 이미지 생성flux-2-dev/edit- Flux 2로 빠르고 고품질의 이미지 편집nano-banana- 빠르고 고품질의 이미지 생성nano-banana/edit- Gemini의 고품질 이미지 편집 (Gemini 2.5 Flash Image라고도 함)nano-banana-pro/edit- Gemini 3 Pro의 고품질 이미지 편집firemoon-studio/memphis-style- Memphis 스타일 이미지 생성
Firemoon Studio 모델 페이지에서 모든 사용 가능한 모델을 둘러볼 수 있어요.
파라미터 (Parameters)
크기 (Size)
size 파라미터로 이미지 크기를 지정할 수 있어요:
const result = await generateImage({
model: firemoon.image('flux/dev'),
prompt: 'A beautiful landscape with an orangered moon in the background',
size: 'square_hd', // 또는 'landscape_16_9' 등
});
또는 화면 비율 매핑을 사용할 수도 있어요:
const result = await generateImage({
model: firemoon.image('flux/dev'),
prompt: 'A beautiful landscape with an orangered moon in the background',
aspectRatio: '16:9', // landscape_16_9로 매핑
});
시드 (Seed)
재현 가능한 결과를 위해 시드를 지정할 수 있어요:
const result = await generateImage({
model: firemoon.image('flux/dev'),
prompt: 'A beautiful landscape with an orangered moon in the background',
seed: 12345,
});
커스텀 파라미터 (Custom Parameters)
Firemoon 모델 특유의 추가 파라미터를 전달할 수 있어요:
const result = await generateImage({
model: firemoon.image('flux/dev'),
prompt: 'A beautiful landscape with an orangered moon in the background',
providerOptions: {
firemoon: {
// 커스텀 파라미터
},
},
});
파인튜닝 모델 (Fine-tuned Models)
모델 ID를 image() 메서드에 전달해 파인튜닝 모델을 사용할 수 있어요:
const result = await generateImage({
model: firemoon.image('firemoon-studio/memphis-style'),
prompt: 'a man smiling at the camera',
size: 'landscape_16_9',
providerOptions: {
firemoon: {
lora_scale: 0.6,
num_images: 1,
image_size: 'landscape_4_3',
output_format: 'jpeg',
guidance_scale: 3.5,
num_inference_steps: 28,
enable_safety_checker: true,
},
},
});
퀵스타트 예시 (Quickstart Examples)
generateImage
import { createFiremoon } from '@firemoon/ai-provider';
import { generateImage } from 'ai';
const firemoon = createFiremoon({
apiKey: proces...KEY,
});
const result = await generateImage({
model: firemoon.image('flux/dev'),
prompt: 'A beautiful landscape with an orangered moon in the background',
aspectRatio: '16:9',
});
console.log(result.images[0]);
고급 기능 (Advanced features)
- 화면 비율 매핑 (Aspect ratio mapping): 크기를 하드코딩하는 대신 편리한 프리셋으로
aspectRatio를 사용해요. - 재현 가능한 출력 (Reproducible outputs):
seed를 제공해 결과를 더 반복 가능하게 만들어요. - 모델별 옵션 (Model-specific options):
providerOptions.firemoon을 사용해 Firemoon 파라미터를 전달해요.
오류 처리 (Error handling)
Firemoon 프로바이더는 API 관련 오류에 대해 APICallError를 발생시켜요:
import { APICallError } from 'ai';
try {
const result = await generateImage({
model: firemoon.image('flux/dev'),
prompt: 'A beautiful landscape with an orangered moon in the background',
});
} catch (error) {
if (error instanceof APICallError) {
console.error('API Error:', error.message);
console.error('Status:', error.statusCode);
}
}