Image Merger
Merge and blend two images together with multiple merge modes, optional ControlNet guidance, upscaling, and animation support. Create seamless composites from separate source images.
Quick Start
Requires an each::labs API key. Get one at eachlabs.ai.
curl -X POST https://api.eachlabs.ai/v1/prediction \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"model": "image-merger",
"version": "0.0.1",
"input": {
"image_1": "https://example.com/landscape.jpg",
"image_2": "https://example.com/portrait.jpg",
"prompt": "a person standing in a beautiful mountain landscape",
"merge_mode": "full",
"steps": 20
}
}'
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| animate | boolean | false | Animate merging from one image to the other (returns video) |
| animate_frames | integer | 24 | Number of frames for the animation |
| control_image | string | - | Optional image to influence merging with ControlNet |
| height | integer | 768 | Output height |
| image_1 | string | - | First image |
| image_1_strength | number | 1 | Strength of the first image |
| image_2 | string | - | Second image |
| image_2_strength | number | 1 | Strength of the second image |
| merge_mode | string | full | Merge mode. enum: full, left_right, top_bottom |
| negative_prompt | string | ugly, broken, distorted | Things to avoid in the merged image |
| prompt | string | a photo | Prompt to guide image merging |
| return_temp_files | boolean | false | Return preprocessed controlnet images for debugging |
| seed | integer | - | Fix random seed for reproducibility |
| steps | integer | 20 | Number of steps |
| upscale_2x | boolean | false | Upscale output 2x |
| upscale_steps | integer | 20 | Steps per controlnet tile for upscaling |
| width | integer | 768 | Output width |
Examples
Split merge (left-right):
curl -X POST https://api.eachlabs.ai/v1/prediction \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"model": "image-merger",
"version": "0.0.1",
"input": {
"image_1": "https://example.com/summer-scene.jpg",
"image_2": "https://example.com/winter-scene.jpg",
"prompt": "a landscape transitioning from summer to winter, seamless blend",
"merge_mode": "left_right",
"image_1_strength": 1,
"image_2_strength": 1,
"steps": 25
}
}'
Animated merge transition:
curl -X POST https://api.eachlabs.ai/v1/prediction \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"model": "image-merger",
"version": "0.0.1",
"input": {
"image_1": "https://example.com/young-portrait.jpg",
"image_2": "https://example.com/old-portrait.jpg",
"prompt": "a portrait of a person aging gracefully",
"animate": true,
"animate_frames": 30,
"steps": 20,
"seed": 42
}
}'
Related Models
- become-image - Transform a person into any style
- face-swap-new - Face swapping between images
- flux-fill-pro - Inpainting and image editing