Introduction
Creative enlargement
Bloom adds a creative reconstruction pass while increasing image size. bloom_2 is selected when you omit preset.
Bloom request
Set resolution to 2k, 4k or 8k; the default is 4k. creativity defaults to 3 and prompt is optional.
Creative boundaries
Check new faces and textures in the downloaded JPEG or PNG. bloom_realism rejects creativity above 4 even though the other two models accept up to 9.
| Field | Value |
|---|---|
| Input | Image |
| Output | Image |
| Starting model |
|
| Other presets |
|
| Default output tier | 4K |
| Optional guidance |
|
| Download format | JPEG or PNG |
Key features & highlights
Bloom 2 gives the face a more textured finish
At 2K and creativity 3 without a prompt, Bloom 2 reconstructed eyes, stubble and visible skin texture from our blurred portrait. Added detail is an interpretation of the face, not proof of what the camera captured.
Compare the same face across the Bloom presets
Left to right: Bloom 2, Bloom Realism, Bloom. Bloom 2 looks more textured; Realism gives a clearer face with slight changes in likeness; original Bloom stays softer in this trial. The three runs took about 86, 134 and 273 seconds respectively.
Request parameters
| Parameter | Required | Description |
|---|---|---|
image_url | Yes | The existing picture whose composition Bloom will expand and reinterpret. at least 1 characters |
preset | No |
|
resolution | No | Bloom’s output tier: |
prompt | No | Optional description of the scene or desired finish to guide Bloom’s new details. at most 2000 characters |
creativity | No | Integer 1–9, default 3: 1 stays closest to the source and 9 adds the most detail. With |
output_format | No | Choose |
Pricing
For Bloom, only the selected resolution tier changes the per-image charge. Preset, prompt, creativity and JPEG/PNG selection do not alter that price.
| Specification | Price |
|---|---|
| $0.36 / image |
| $1.08 / image |
| $4.08 / image |
Use cases
Develop a generated illustration
Enlarge artwork while allowing extra surface detail; use a short prompt to describe the intended scene or finish.
Explore a photographic look
Choose bloom_realism and keep creativity within 1–4 when you want a natural-looking interpretation.
Prompt guide & pro tips
Bring an image to expand
Provide the source through
image_url; Bloom works from an existing picture.Guide the interpretation
Select a Bloom preset and optionally describe the look in
prompt. Lower creativity stays closer to the source.Inspect the enlarged version
Choose a tier, wait for completion and check whether the new features still suit your artwork.
Creative enlargement
Expand one existing image with Bloom 2, Bloom or Bloom Realism, using an optional prompt and a creativity setting to guide newly invented detail.
Bloom request
{
"image_url": "https://example.com/blurred-portrait.jpg",
"preset": "bloom_2",
"resolution": "2k",
"creativity": 3,
"output_format": "jpeg"
}
Choose an interpretation
preset | Creative direction |
|---|---|
bloom_2 | Latest default creative enlargement model |
bloom | Illustration, art and CG enlargement |
bloom_realism | Natural photographic appearance; creativity limited to 1–4 |
Portrait trial
At 2K and creativity 3 without a prompt, Bloom 2 reconstructed eyes, stubble and visible skin texture from our blurred portrait. Added detail is an interpretation of the face, not proof of what the camera captured.
Left to right: Bloom 2, Bloom Realism, Bloom. Bloom 2 looks more textured; Realism gives a clearer face with slight changes in likeness; original Bloom stays softer in this trial. The three runs took about 86, 134 and 273 seconds respectively.
Creative boundaries
Bloom deliberately invents detail and can change faces, textures or small objects. Use it when that creative change is welcome. creativity must be an integer from 1–9, and only 1–4 with bloom_realism; larger Realism values are rejected. Timing varies by image and preset.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "topaz/bloom/upscale",
"input": {
"image_url": "https://example.com/reference.png",
"output_format": "jpeg",
"preset": "bloom_2",
"resolution": "4k"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.








