Seedream 5.0 Pro 提供開始 | 画像ジェネレーターで試す →

Soul Image to Image

higgsfield /

SOUL is a realistic image-to-image engine for sophisticated visuals that, with Soul ID, preserves character consistency across scenes. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

image-to-image
入力

待機中

$0.091回あたり·~11 / $1

次:

関連モデル

README

Higgsfield SOUL Image-to-Image

Higgsfield SOUL Image-to-Image is a high-quality image transformation model built for realism, tasteful aesthetics, and strong character consistency. It is designed for reference-driven image editing workflows where you want to restyle, reframe, or evolve a subject while preserving identity, structure, and visual coherence.

Why Choose This?

  • Elegant realism Produce believable lighting, natural skin and hair, and clean material rendering without an over-processed look.

  • Strong character consistency Keep the same identity across different scenes, poses, outfits, and lighting conditions.

  • Faithful image-to-image editing Preserve core composition and structure while changing styling, color, mood, wardrobe, or background.

  • Art-direction friendly Respond well to cinematic language such as lens cues, depth of field, rim light, palette direction, and grading intent.

  • Wide stylistic range Move between photoreal, editorial, painterly, or graphic looks without heavy prompt engineering.

Parameters

ParameterRequiredDescription
imageYesReference image used as the source for the transformation.
promptYesText instruction describing the desired transformation, style, setting, mood, or visual direction.
qualityNoOutput quality tier. Supported values: medium, high.
aspect_ratioNoOutput aspect ratio for the generated image.
strengthNoControls how closely the result follows the source image versus allowing freer restyling.

How to Use

  1. Upload a reference image — use a clean, well-lit image with minimal occlusion.
  2. Write your prompt — describe the subject, setting, outfit, props, lighting, lens feel, palette, and mood.
  3. Choose quality — use medium for lower cost or high for stronger final quality.
  4. Set aspect ratio — choose the composition format that fits your delivery needs.
  5. Adjust strength — use lower values for source-faithful edits and higher values for looser restyling.
  6. Submit — generate the image and iterate as needed.

Example Prompt

Turn this portrait into a cinematic editorial fashion shot at golden hour, soft rim light, clean skin texture, natural color grading, luxury wardrobe styling, realistic background depth

Pricing

Pricing depends on the selected quality tier.

QualityPrice per Image
Medium$0.09
High$0.19

Billing Rules

  • medium costs $0.09 per image
  • high costs $0.19 per image
  • Pricing depends only on the selected quality tier

Best Use Cases

  • Character lookbooks — Maintain one identity across many styled outputs.
  • Narrative keyframes — Generate consistent visual storytelling frames from a reference.
  • Brand mascots and recurring talent — Keep a recognizable subject across multiple campaigns.
  • Fashion and editorial sets — Explore wardrobe, lighting, and scene variations with consistency.
  • Advertising creatives — Produce campaign assets with stable character identity.
  • Storyboards and pre-visualization — Quickly develop coherent visual directions for production planning.

Pro Tips

  • Use a clean, front-facing, well-lit reference when identity preservation matters.
  • Keep prompts specific about what should change and what should remain consistent.
  • Reuse the same soul_id when building a sequence or visual set around the same subject.
  • Use lower strength when structure fidelity matters more than style variation.
  • Use high quality for final selects and medium when exploring directions more quickly.

Notes

  • This model is designed for image-to-image workflows with strong identity and style consistency.
  • Reusing the same soul_id can improve continuity across generations.
  • Better source images generally produce more stable and higher-quality results.
  • Pricing is fixed by quality tier.

Related Models

  • Other Higgsfield image generation workflows — Useful when you need text-to-image generation instead of reference-based editing.
  • Character-consistent generation workflows — Useful when maintaining identity across multiple scenes is the main priority.
注記:本サイトは第三者が提供するAIモデルを使用しています。

Soul Image To Image API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/higgsfield/soul/image-to-image with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Soul Image To Image below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "size": "1152*2048",
    "style": "Creatures",
    "strength": 1,
    "quality": "medium"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/higgsfield/soul/image-to-image" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/higgsfield/soul/image-to-image";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "prompt": "A cinematic shot of a city at sunset, soft golden light",
        "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
        "size": "1152*2048",
        "style": "Creatures",
        "strength": 1,
        "quality": "medium"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "size": "1152*2048",
    "style": "Creatures",
    "strength": 1,
    "quality": "medium"
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/higgsfield/soul/image-to-image", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Soul Image To Image API — Frequently asked questions

What is the Soul Image To Image API?

Soul Image To Image is a Higgsfield model for image editing, exposed as a REST API on WaveSpeedAI. SOUL is a realistic image-to-image engine for sophisticated visuals that, with Soul ID, preserves character consistency across scenes. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Soul Image To Image API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/higgsfield/higgsfield-soul-image-to-image.

How much does Soul Image To Image cost per run?

Soul Image To Image starts at $0.090 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Soul Image To Image accept?

Key inputs: `prompt`, `image`, `size`, `seed`, `quality`, `strength`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/higgsfield/higgsfield-soul-image-to-image.

How long does Soul Image To Image take to generate?

Median end-to-end generation time on WaveSpeedAI is around 104 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Soul Image To Image outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (Higgsfield). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Soul Image to Image | Fast Image Editing API | WaveSpeedAI