Krea 2 API
by The Krea Team
Krea 2는 완전히 처음부터 학습된 최초의 기초 이미지 모델로, 사용자가 생성하는 모든 이미지의 외관, 느낌 및 창의적 방향을 완벽하게 제어할 수 있습니다.
오늘부터 Fal, Comfy, Runware와 같은 API 파트너를 통해 Krea 2에 접근할 수 있습니다. 또한 Nous Research와 함께 Hermes에 0일 차부터 접근할 수 있으며, Claude, OpenClaw, Codex에 대한 지원도 문서에서 확인할 수 있습니다.
주요 특징은 다음과 같습니다:
- 미적 다양성 – Krea 2는 매우 다양한 스타일을 생성할 수 있으며, 특히 다른 모델들이 평면화하는 경향이 있는 예술적이고 표현적인 방향에서 강점을 보입니다.
- 스타일 전송 – Krea 2는 가장 진보된 스타일 전송 시스템을 탑재하고 있습니다. 하나 또는 여러 참조 이미지의 스타일을 추출하여 출력물에 정밀하게 적용할 수 있습니다.
- 창의성 – Krea 2에서는 실제로 조정 가능한 매개변수입니다. 높은 값으로 설정하면 모델이 주어진 이미지에 미적 깊이, 해석, 시각적 풍부함을 더합니다.
- 무드보드 – 수십 장의 이미지를 포함하는 무드보드를 전달하면 Krea 2가 전체적인 창의적 방향을 이해하여 그에 맞는 출력을 생성합니다.
아래 링크를 클릭하면 수백 개의 예제와 해당 프롬프트를 확인할 수 있습니다:
Krea 2는 AI가 생성하는 결과물을 진정으로 제어하고자 하는 크리에이티브를 위해 제작되었습니다. 우리는 크리에이티브 스튜디오, 마케팅 및 광고 에이전시, 패션, 게임, 건축 분야의 팀들과 긴밀히 협력하며 그들의 피드백을 연구소에 반영해 모든 사용 사례에 맞게 모델을 지속적으로 발전시키고 있습니다. 이 모델은 사용자와 함께 적극적으로 진화하고 있습니다.
또한 탐색을 위해 설계되었습니다. 항상 완성된 아이디어를 가지고 시작하지 않으며, Krea 2는 느슨한 방향성을 받아 다음 아이디어를 자극하는 시각적 결과물을 제공하는 창의적 협력자로서 기능합니다.
모델 변형
Krea 2 API는 두 가지 모델 변형을 제공합니다: Krea 2 Medium과 Krea 2 Large. 두 모델 모두 동일한 매개변수와 기능을 지원하며, 차이는 모델 크기, 학습 단계, 그리고 생성하는 출력물의 특성에 있습니다.
어떤 모델부터 시작할지 모를 경우, Krea 2 Medium을 추천합니다 — 더 빠르고 저렴하며 가장 광범위한 사용 사례를 안정적으로 처리합니다.
Krea 2 Medium
더 작고 빠르며 비용 효율적인 모델로, 광범위한 후처리가 적용되어 세대 간 출력물이 특히 안정적이고 일관적입니다. Medium은 일러스트레이션, 애니메이션, 회화 및 기타 표현적이고 예술적인 스타일에 강합니다.
Krea 2 Large
Medium의 두 배 이상 크기이며, 부드러운 후처리가 적용되어 출력물이 더 원초적이고 질감이 풍부하며 유연한 특성을 가집니다. Large는 전반적으로 더 강력한 모델로, Medium이 따라올 수 없는 결과를 만들어냅니다. 표현적이고 예술적인 스타일을 잘 처리하며, 포토리얼리즘과 모션 블러, 그레인, 낮은 다이내믹 레인지 같은 "원초적"인 룩에 특히 뛰어납니다.
기능 및 예제
모델의 기능을 테스트할 수 있는 예제 목록을 준비했습니다.
미적 다양성
대부분의 이미지 모델은 복잡한 프롬프트를 잘 처리하지만 스타일 면에서는 날카롭고 깔끔하며 "안전한" 기본값에 머무르는 경향이 있습니다. 이는 실제로 얻을 수 있는 창의적 범위를 좁힙니다.
Krea 2에서는 프롬프트 이해만큼 스타일 이해에도 많은 노력을 기울였습니다. 그 결과, 표현적이고 원초적이며 틈새적이고 실험적인 다양한 미학을 AI 특유의 모습 없이 렌더링할 수 있는 모델이 탄생했습니다.
다음은 Krea 2로 생성한 다양한 미학의 예제들입니다:
스타일 전송
Krea 2는 시장에서 가장 강력한 스타일 전송 시스템을 탑재하고 있습니다. 단일 참조 이미지 또는 여러 이미지를 결합하여 스타일을 추출하고 출력에 적용할 수 있으며, 각 참조가 최종 이미지에 미치는 영향력을 조절할 수 있습니다.
다음은 스타일 참조를 사용해 생성한 예제들입니다:
창의성
창의성은 Krea 2에서 조정 가능한 실제 매개변수입니다. 프롬프트가 짧거나 모호할 때, 모델은 스타일, 구성, 카메라 앵글, 색상 팔레트 등 누락된 부분을 채워 시각적 깊이를 더합니다. creativity 매개변수는 이 확장의 정도를 제어합니다.
high로 설정하면 확장이 강해져 스타일, 분위기, 미학에 대해 더 많은 창의적 자유를 가집니다. low는 프롬프트에 더 충실하며, raw는 확장을 전혀 하지 않고 명시된 내용만 렌더링합니다.
다음 예제들은 creativity가 medium으로 설정된 상태에서 생성되었습니다:
무드보드
무드보드는 Krea 2에서 시각적 방향을 가장 정확하게 설정하는 방법입니다. 무드보드는 전체적인 창의적 방향(팔레트, 질감, 스타일, 분위기, 구성)을 공유하는 이미지 그룹으로 구성됩니다. Krea에서 무드보드를 생성하고 이 API를 통해 추론 시 참조할 수 있습니다.
다음 예제들은 무드보드를 활성화했을 때 매우 단순한 프롬프트의 출력이 어떻게 변하는지 보여줍니다.
API 설정
Krea 계정 설정에서 API 토큰을 생성하세요. Krea 2는 API에서 두 가지 모델 버전을 제공합니다:
엔드포인트
Krea 2 Medium
https://api.krea.ai/generate/image/krea/krea-2/medium
Krea 2 Large
https://api.krea.ai/generate/image/krea/krea-2/large
매개변수
두 버전 모두 다음 매개변수를 지원합니다.
| 매개변수 | 타입 | 설명 |
|---|---|---|
| prompt | string | 필수 텍스트 프롬프트 |
| aspect_ratio | string | 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 2:3, 9:16 |
| resolution | string | 현재는 1K만 지원 |
| seed | number | 선택적 시드 |
| creativity | enum | raw, low, medium, high |
| image_style_references | array | 선택적 스타일 참조 |
| moodboards | array | 선택적 무드보드, 현재 최대 1개 |
| styles (곧 지원 예정) | array | 선택적 학습된 스타일 (LoRA) |
완료된 작업 가져오기
완료된 작업은 https://api.krea.ai/jobs/{job_id}에서 가져올 수 있습니다. 작업 완료 시 POST를 받으려면 X-Webhook-URL 헤더를 전달할 수 있습니다.
자세한 API 문서는 https://docs.krea.ai/developers/introduction에서 확인할 수 있으며, 작업 수명주기, 웹훅 통합, API 토큰 생성 등을 다룹니다.
API 예제
아래는 Krea 2의 다양한 기능 사용법을 보여주는 짧은 가이드 모음입니다:
이미지 생성
generate.js
const API_BASE = "https://api.krea.ai";
const API_TOKEN = process.env.KREA_API_TOKEN;
async function waitForJob(jobId) {
while (true) {
const response = await fetch(`${API_BASE}/jobs/${jobId}`, {
headers: {
Authorization: `Bearer ${API_TOKEN}`
}
});
if (!response.ok) {
throw new Error(`작업 가져오기 실패: ${response.status}`);
}
const job = await response.json();
if (job.status === "completed") return job;
if (job.status === "failed" || job.status === "canceled") {
throw new Error(`작업 상태: ${job.status}`);
}
await new Promise((resolve) => setTimeout(resolve, 3000));
}
}
const response = await fetch(`${API_BASE}/generate/image/krea/krea-2/medium`, {
method: "POST",
headers: {
Authorization: `Bearer ${API_TOKEN}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "대리석 테이블 위의 유리 램프를 담은 영화 같은 제품 사진",
aspect_ratio: "4:5",
resolution: "1K",
creativity: "low"
})
});
if (!response.ok) {
throw new Error(`생성 실패: ${response.status}`);
}
const createdJob = await response.json();
const completedJob = await waitForJob(createdJob.job_id);
console.log(completedJob.result.urls); 스타일 전송 사용
style-transfer.js
import { openAsBlob } from "node:fs";
const API_BASE = "https://api.krea.ai";
const API_TOKEN = process.env.KREA_API_TOKEN;
async function waitForJob(jobId) {
while (true) {
const response = await fetch(`${API_BASE}/jobs/${jobId}`, {
headers: {
Authorization: `Bearer ${API_TOKEN}`
}
});
if (!response.ok) {
throw new Error(`작업 가져오기 실패: ${response.status}`);
}
const job = await response.json();
if (job.status === "completed") return job;
if (job.status === "failed" || job.status === "canceled") {
throw new Error(`작업 상태: ${job.status}`);
}
await new Promise((resolve) => setTimeout(resolve, 3000));
}
}
const file = await openAsBlob("./style-reference.png", {
type: "image/png"
});
const formData = new FormData();
formData.append("file", file, "style-reference.png");
formData.append("description", "Krea 2용 스타일 참조");
const uploadResponse = await fetch(`${API_BASE}/assets`, {
method: "POST",
headers: {
Authorization: `Bearer ${API_TOKEN}`
},
body: formData
});
if (!uploadResponse.ok) {
throw new Error(`업로드 실패: ${uploadResponse.status}`);
}
const asset = await uploadResponse.json();
const generationResponse = await fetch(`${API_BASE}/generate/image/krea/krea-2/medium`, {
method: "POST",
headers: {
Authorization: `Bearer ${API_TOKEN}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "조용한 스튜디오에서 춤추는 무용수 초상",
aspect_ratio: "4:3",
resolution: "1K",
creativity: "medium",
image_style_references: [
{
url: asset.image_url,
strength: 0.6
}
]
})
});
if (!generationResponse.ok) {
throw new Error(`생성 실패: ${generationResponse.status}`);
}
const createdJob = await generationResponse.json();
const completedJob = await waitForJob(createdJob.job_id);
console.log(completedJob.result.urls); 창의적 사고 조정
창의성 매개변수를 사용해 Krea 2가 프롬프트를 얼마나 문자 그대로 따르는지 제어할 수 있습니다.
raw: 원시 프롬프트low: 프롬프트에 가까움medium: 균형 잡힘, 기본값high: 더 표현적인 해석
무드보드 사용
Krea 웹앱에서 무드보드를 생성한 후 API에서 사용할 수 있습니다:
moodboard.js
const response = await fetch("https://api.krea.ai/generate/image/krea/krea-2/large", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.KREA_API_TOKEN}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "새로운 야외 램프 컬렉션 캠페인 이미지",
aspect_ratio: "16:9",
resolution: "1K",
creativity: "high",
moodboards: [
{
id: "your-moodboard-id",
strength: 0.35
}
]
})
});
const job = await response.json(); 가격
| 모델 유형 | 텍스트-투-이미지 | 스타일 참조 | 무드보드 |
|---|---|---|---|
| Medium | $0.030 | $0.035 | $0.040 |
| Large | $0.060 | $0.065 | $0.070 |
참고: 무드보드와 스타일 참조를 함께 사용해도 세대당 가격이 증가하지 않으며, Medium은 $0.04, Large는 $0.07입니다.
















