メインコンテンツへスキップ
Krea 2 には、市場で最も強力なスタイル転送システムが搭載されています。1 枚の参照画像を渡すことも、複数を組み合わせることもでき、Krea 2 がスタイルを抽出して出力に適用します。各参照が最終画像にどれだけ強く影響するかは、あなたが自由に決められます。

各例では、左にスタイル参照、右に生成された出力を示しています。
スタイル参照: 草原を走るカートゥーン出力: 横向きにジャンプする猫

プロンプト: a cat jumping sideways

スタイル参照: 8 ビットピクセルアートのグリッド出力: 白くま

プロンプト: a polar bear

スタイル参照: Krea 1 風のスケッチ出力: カウボーイ

プロンプト: a cowboy

スタイル参照: セサミストリート風の馬出力: マペット風の猫と犬

プロンプト: a scene from the live-action Muppets movie featuring a grey cat muppet and his dog friend

仕組み

1

参照を用意する

画像を参照として利用する方法は 3 つあります。画像を /assetsPOST して返された URL を使う、外部 URL を直接渡す、またはデータ URI を渡す方法です。
2

URL で参照する

krea-2/medium または krea-2/large リクエストの image_style_references 配列に画像 URL またはデータ URI を含めます。
3

強度を調整する

参照ごとに strength を -2 から 2 の範囲で設定します。0.6 前後が妥当な出発点です。スタイルを支配的にしたい場合は値を上げ、より控えめな影響にしたい場合は下げてください。

エンドツーエンドの例

この例では、ローカルファイルをスタイル参照としてアップロードし、Krea 2 Medium の生成で利用します。
// npm install @krea-ai/sdk
import { openAsBlob } from "node:fs";
import { Krea } from "@krea-ai/sdk";

const krea = new Krea({ apiKey: process.env.KREA_API_KEY });

// 1. Upload the style reference
const file = await openAsBlob("./style-reference.png", { type: "image/png" });
const asset = await krea.assets.upload(file, {
  filename: "style-reference.png",
  description: "Style reference for Krea 2",
});

// 2. Generate with the reference
const result = await krea.subscribe("image/krea/krea-2/medium", {
  input: {
    prompt: "A portrait of a dancer in a quiet studio",
    aspect_ratio: "4:3",
    resolution: "1K",
    creativity: "medium",
    image_style_references: [{ url: asset.image_url, strength: 0.6 }],
  },
});

console.log(result.data?.urls[0]);
REST の例は非同期です。POST /generate/... は即座に job_id を返します。Node.js SDK の例では subscribe(...) を使い、完了した結果を待ち受けます。ポーリングのパターンについては ジョブのライフサイクル を参照するか、webhook を使用してポーリングを完全に省略できます。

強度の調整

strength-2 から 2 の範囲で設定します。目安となるいくつかのルールは以下のとおりです。
  • 約 0.3〜0.5 — 控えめな影響。プロンプトを主体としつつ、参照に個性を加えたいときに有用です。
  • 約 0.6 — ほとんどのユースケースでバランスの取れた出発点です。
  • 約 0.8〜1.0 — 参照スタイルが支配的になります。プロンプトが一般的で、ビジュアル的なアイデンティティを参照から取り入れたい場合に有用です。
  • 負の値 — 出力を参照スタイルから遠ざけます。
出力が文字通りすぎる(参照が強すぎる)場合や、汎用的すぎる(参照が弱すぎる)場合は、0.1 単位で調整してください。

複数の参照を組み合わせる

image_style_references に複数のオブジェクトを渡してスタイルをブレンドできます。各参照は独自の strength を持てます。
Node.js
const result = await krea.subscribe("image/krea/krea-2/medium", {
  input: {
    prompt: "A portrait of a dancer in a quiet studio",
    aspect_ratio: "4:3",
    resolution: "1K",
    image_style_references: [
      { url: assetA.image_url, strength: 0.6 },
      { url: assetB.image_url, strength: 0.4 },
    ],
  },
});
参照は加算的にブレンドされます。合計が 1.0 前後になる強度から始めて、そこから調整してください。