Higgsfield Soul Image To Image
Playground
Try it 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.
Features
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
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Reference image used as the source for the transformation. |
| prompt | Yes | Text instruction describing the desired transformation, style, setting, mood, or visual direction. |
| soul_id | No | Optional Soul ID used to preserve identity consistency across multiple generations. |
| quality | No | Output quality tier. Supported values: medium, high. |
| aspect_ratio | No | Output aspect ratio for the generated image. |
| strength | No | Controls how closely the result follows the source image versus allowing freer restyling. |
How to Use
- Upload a reference image — use a clean, well-lit image with minimal occlusion.
- Add a Soul ID (optional) — reuse the same ID if you want stronger identity continuity across multiple shots.
- Write your prompt — describe the subject, setting, outfit, props, lighting, lens feel, palette, and mood.
- Choose quality — use
mediumfor lower cost orhighfor stronger final quality. - Set aspect ratio — choose the composition format that fits your delivery needs.
- Adjust strength — use lower values for source-faithful edits and higher values for looser restyling.
- 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.
| Quality | Price per Image |
|---|---|
| Medium | $0.09 |
| High | $0.19 |
Billing Rules
mediumcosts $0.09 per imagehighcosts $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_idwhen building a sequence or visual set around the same subject. - Use lower
strengthwhen structure fidelity matters more than style variation. - Use
highquality for final selects andmediumwhen exploring directions more quickly.
Notes
- This model is designed for image-to-image workflows with strong identity and style consistency.
- Reusing the same
soul_idcan 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.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/higgsfield/soul/image-to-image" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"size": "1152*2048",
"style": "Creatures",
"strength": 1,
"quality": "medium"
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| image | string | Yes | - | ||
| size | string | Yes | 1152*2048 | 960*1696, 1088*1632, 1152*1536, 1152*2048, 1536*1536, 1536*1152, 1536*2048, 1344*2016, 1632*1088, 1696*960, 2016*1344, 2048*1152, 2048*1536 | The size of the generated media in pixels (width*height). |
| style | string | No | Creatures | Creatures, Medieval, Spotlight, Giant People, Red balloon, green editorial, Subway, Library, Realistic, DigitalCam, Grillz Selfie, Bleached Brows, Sitting on the Street, Crossing the street, Angel Wings, Duplicate, Quiet luxury, Fireproof, Elevator Mirror, 360 cam, Glitch, FashionShow, PixeletedFace, Sunbathing, Paper Face, 90s Grain, Geominimal, Foggy Morning, Overexposed, Sunset beach, Giant Accessory, RingSelfie, Street view, 90’s Editorial, Rhyme & blues, 2000s Cam, CCTV, 0.5 Outfit, Amalfi Summer, Bimbocore, 0.5 Selfie, Sand, Vintage PhotoBooth, afterparty cam, Babydoll MakeUp, Through The Glass, Gallery, Eating Food, Swords Hill, Office beach, Help It's Too Big, Japandi, iPhone, Gorpcore, Indie sleaze, Fairycore, Tumblr, Avant-garde, HairClips, birthday mess, Clouded Dream, Y2K Posters, tokyo drift, Object Makeup, Graffiti, Sunburnt, hallway noir, 2000s Fashion, Night Beach, Movie, Long legs, 7\, General, Nail Check, Coquette core, Mixed Media, Selfcare, Grunge, Double take, 505room, Flight mode, Escalator, burgundy suit, Fisheye, Shoe Check, Rainy Day, Mt. Fuji, Sea breeze, Invertethereal, Y2K, Tokyo Streetstyle, chrome exit, Night rider, Artwork, Glazed doll skin makeup, mount view, 2049, blackout fit, Bike mafia, static glow, Nicotine glow, brick shade, dmv, Fish-eye twin, It’s french, cocktail | Chosen preset for soul image generation |
| strength | number | No | 1 | 0.00 ~ 1.00 | The strength to use for the style. |
| quality | string | No | medium | medium, high | The resolution of the output image. |
| seed | integer | No | - | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | object | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |