Image
Available Properties
| Property | Description |
|---|---|
image_url | String. HTTP(s) URL of your image. Max 10 MB. Supported: jpeg, png, webp, svg, gif, tiff. Tiff is only supported for Print designs. For Print designs the maximum file size is 500 MB. |
image_encoded | String. Base64 encoded image. Ignored if image_url is provided |
opacity | Integer 0–100. Opacity of the image |
fitting_type | See Fitting Type |
alignment | See Alignment |
mask_name / mask_properties | See Mask |
filter_name / filter_properties | See Filter |
overlay_direction / overlay_color_1 / overlay_color_2 | See Overlay |
shadow_color / shadow_blur / shadow_offset_x / shadow_offset_y | See Shadow |
remove_bg / remove_bg_properties | See Remove Background |
auto_focus / auto_focus_properties | See Auto Focus |
text_to_image / text_to_image_properties | See Text to Image & Inpainting. Ignored if image_url or image_encoded is given |
Fitting Type
fitting_type defines how the image fills its bounding box:
cover: Fills the area entirely without changing aspect ratio (may crop) — equivalent to CSSobject-fit: coverfill: Scales the image to fit entirely within the box (may leave empty space) — equivalent to CSSobject-fit: contain
TIP
If you're familiar with CSS, note that Abyssale's fill maps to CSS contain, not CSS fill.
| Value | Result |
|---|---|
"fitting_type": "fill" | ![]() |
"fitting_type": "cover" | ![]() |
Alignment
alignment overrides the default image alignment.
- One string:
top,middle,bottom,left,center,right - Two strings: vertical + horizontal, e.g.
"top left","middle right"
| Value | Result |
|---|---|
cover + alignment: middle center | ![]() |
cover + alignment: middle right | ![]() |
fill + alignment: bottom center | ![]() |
fill + alignment: middle center | ![]() |
Mask
mask_name applies a shape mask to the image:
| Value | Description | Preview |
|---|---|---|
circle | Circular mask | ![]() |
rounded_corners | Rounded corners. Requires mask_properties: { "radius": <integer> } | ![]() |
blob | Blob shape | ![]() |
squircle | Squircle shape | ![]() |
pentagon | Pentagon shape | ![]() |
hexagon | Hexagon shape | ![]() |
parallelogram | Parallelogram shape | ![]() |
Filter
filter_name applies a color filter:
grayscale: Converts image to grayscaleduotone: Applies a duotone filter. Requiresfilter_properties: { "name": "<duotone_name>" }
Available duotone names: blue_orange, deep_green_light_green, BrightRed_light_yellow, brown_pale_green, brown_beige, deep_blue_green, deep_blue_red, deep_purple_orange, deep_purple_beige, deep_purple_pale_green, deep_blue_pale_green
| Filter | Preview | Filter | Preview | Filter | Preview |
|---|---|---|---|---|---|
| Original | ![]() | grayscale | ![]() | duotone: blue_orange | ![]() |
duotone: deep_green_light_green | ![]() | duotone: BrightRed_light_yellow | ![]() | duotone: brown_pale_green | ![]() |
duotone: brown_beige | ![]() | duotone: deep_blue_green | ![]() | duotone: deep_blue_red | ![]() |
duotone: deep_purple_orange | ![]() | duotone: deep_purple_beige | ![]() | duotone: deep_purple_pale_green | ![]() |
duotone: deep_blue_pale_green | ![]() |
Overlay
Adds a monochrome or gradient overlay. All three properties are required:
overlay_direction:"horizontal","vertical", or"diagonal"overlay_color_1: First color (6–8 digit hex)overlay_color_2: Second color (6–8 digit hex). Set both to the same color for a monochrome overlay
| Value | Result |
|---|---|
Gradient horizontal (overlay_color_1: "#FF000080", overlay_color_2: "#0000FF1A") | ![]() |
| Gradient vertical | ![]() |
| Gradient diagonal | ![]() |
| Monochrome (both colors the same) | ![]() |
Remove Background
Automatically removes the background from an image using AI.
| Parameter | Type | Description | Default |
|---|---|---|---|
remove_bg | Boolean | Activates background removal | false |
remove_bg_properties | Object | Additional settings | |
remove_bg_crop | Boolean | Trims edges after removal | false |
model | String | Background removal model to use, see Models below | bria-rmbg-2-0 |
{
"remove_bg": true,
"remove_bg_properties": {
"remove_bg_crop": true,
"model": "birefnet"
}
}| Value | Result |
|---|---|
"remove_bg": true | ![]() |
"remove_bg": true + "remove_bg_crop": true | ![]() |
Models
| Model | Description |
|---|---|
bria-rmbg-2-0 | BRIA RMBG 2.0 — default model |
birefnet | BiRefNet |
pixelcut | Pixelcut |
imageUtils | ImageUtils |
ideogram | Ideogram |
Auto Focus
Automatically detects and focuses on specified objects using AI.
| Parameter | Type | Description | Default |
|---|---|---|---|
auto_focus | Boolean | Activates auto-focus | false |
auto_focus_properties | Object | Additional settings | |
model | String | "generic", "people", or "face" | "generic" |
focus_objects | Array of strings | Objects to focus on (generic model only). Uses Open Images Dataset labels | |
focus_framing | String | people model only: "face", "head", "shoulders", "full_body" | "face" |
focus_zoom | String | people model only: "off", "low", "medium", "max" | "max" |
focus_target | String | people model only: "largest", "left", "middle", "right", "all" | "all" |
Generic model example:
{
"auto_focus": true,
"auto_focus_properties": {
"model": "generic",
"focus_objects": ["Woman", "Car"]
}
}| Value | Result |
|---|---|
auto_focus: false | ![]() |
model: "generic" | ![]() |
model: "face" | ![]() |
focus_objects: ["man"] | ![]() |
focus_objects: ["woman"] | ![]() |
focus_objects: ["boy"] | ![]() |
focus_objects: ["woman", "boy"] | ![]() |
People model example:
{
"auto_focus": true,
"auto_focus_properties": {
"model": "people",
"focus_framing": "shoulders",
"focus_zoom": "low",
"focus_target": "right"
}
}| Value | Result |
|---|---|
| people, shoulders, low zoom, right | ![]() |
| people, shoulders, low zoom, left | ![]() |
| people, head, max zoom, left | ![]() |
Text to Image & Inpainting
Generates an image from a text description using AI, or edits an existing image with AI (inpainting). Only available for asynchronous generation. Ignored if image_url or image_encoded is provided.
| Parameter | Type | Description | Default |
|---|---|---|---|
text_to_image | Boolean | Activates AI image generation | false |
text_to_image_properties | Object | Generation settings | |
prompt | String | Description of the image to generate, or of the edit to apply in inpainting mode | Required |
model | String | Model to use, see Models below | nano-banana-2 |
ratio | String | Aspect ratio or size of the output. Allowed values depend on the model — see Models | Model-dependent |
quality | String | Output quality/resolution. Only supported by some models — see Models | Model-dependent |
inpaint_images | Array of strings | URL(s) of the image(s) to edit. When provided, switches generation to inpainting mode instead of pure text-to-image |
Text to image
Without inpaint_images, a new image is generated purely from the prompt:
{
"text_to_image": true,
"text_to_image_properties": {
"prompt": "A sleek, modern glass villa situated in the middle of a minimalist lavender field. Sharp lines, reflection of the blue sky in the windows, wide-angle shot, architectural photography style, hyper-realistic.",
"model": "nano-banana-2",
"ratio": "16:9",
"quality": "2K"
}
}| Result |
|---|
![]() |
Inpainting
With inpaint_images, the model edits the provided image(s) according to the prompt instead of generating from scratch:
{
"text_to_image": true,
"text_to_image_properties": {
"prompt": "enhance the product by adding a background decoration to highlight the product",
"model": "gpt-image-2",
"ratio": "square_hd",
"quality": "low",
"inpaint_images": [
"https://production-banners.s3-eu-west-1.amazonaws.com/.../v2_2e4388e8-161d-4b15-a5b6-895fcebe2943.jpeg"
]
}
}Reference image (inpaint_images) | Result |
|---|---|
![]() | ![]() |
Models
Both text-to-image generation and inpainting use the same models. ratio accepts either aspect-ratio values (e.g. "16:9"), named sizes (e.g. "square_hd"), or pixel dimensions (e.g. "1024x1024") depending on the model. Models marked Not supported for quality ignore the quality parameter if it is provided.
| Model | ratio values | Default ratio | quality values | Default quality |
|---|---|---|---|---|
gemini-3-pro | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4, 4:5 | 1:1 | 1K, 2K, 4K | 1K |
kling-image-o3 | 1:1, 8:1, 4:1, 21:9, 16:9, 3:2, 4:3, 5:4, 4:5, 3:4, 2:3, 9:16, 1:4, 1:8 | 1:1 | 1K, 2K, 4K | 1K |
wan-2.7 | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 | square_hd | Not supported | — |
gpt-image-1.5 | 1024x1024, 1536x1024, 1024x1536 | 1024x1024 | low, medium, high | medium |
flux-2-pro | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 | square_hd | Not supported | — |
qwen-2511 | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 | square_hd | Not supported | — |
nano-banana | 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 | 1:1 | Not supported | — |
nano-banana-2 (default model) | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4, 4:5, 4:1, 1:4, 8:1, 1:8 | 1:1 | 0.5K, 1K, 2K, 4K | 1K |
nano-banana-pro | 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 | 1:1 | 1K, 2K, 4K | 1K |
seedream-4.5 | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9, auto_2K, auto_4K | square_hd | Not supported | — |
gpt-image-2 | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 | square_hd | low, medium, high | high |
grok-imagine | 2:1, 20:9, 19.5:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:19.5, 9:20, 1:2 | 2:1 | 1k, 2k | 1k |
flux-2-klein-9b | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 | square_hd | Not supported | — |
gemini-2.5-flash | 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 | 21:9 | Not supported | — |
gemini-3.1-flash | 1:1, 8:1, 4:1, 21:9, 16:9, 3:2, 4:3, 5:4, 4:5, 3:4, 2:3, 9:16, 1:4, 1:8 | 1:1 | 0.5K, 1K, 2K, 4K | 1K |






























.png)







.png)
.png)
.png)


