> For the complete documentation index, see [llms.txt](https://docs.atlas.design/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.atlas.design/atlas-ai-studio-overview/node-index/image-nodes/2d-post-processing-nodes.md).

# 2D Post Processing Nodes

Post Process Nodes are used to refine, enhance, or extend generated images after the primary rendering step.

These tools help achieve better framing, higher resolution, clean cutouts, and extended compositions.

## When to use 2D post-processing nodes

* **Pre-3D cleanup.** Use Background Removal and Segmentation to isolate subjects before feeding [Mesh Nodes](/atlas-ai-studio-overview/node-index/mesh-nodes.md) image-to-3D generators. Clean inputs produce dramatically better 3D output.
* **Upscaling for production resolution.** Generated images are often 1024×1024 or smaller. Use upscale nodes to bring outputs to print, video, or hero-asset resolutions.
* **Framing and composition fixes.** Use Camera Control to adjust perspective and Extend Image to outpaint missing parts of a composition without regenerating.
* **Texture finalization.** Use Multimodal and segmentation nodes to extract specific surface or material zones from a complex image, ready for [Mesh Nodes](/atlas-ai-studio-overview/node-index/mesh-nodes.md) Apply Textures to Mesh.
* **Asset comparison and review.** Use Concatenate Images from [Utility Nodes](/atlas-ai-studio-overview/node-index/utility-nodes.md) alongside camera-controlled variations for art-director review grids.

### Camera Control <a href="#camera-control" id="camera-control"></a>

The **Camera Control** node allows you to adjust the camera angle and framing of a generated image **without re-prompting**.

#### Adjustable Parameters <a href="#adjustable-parameters" id="adjustable-parameters"></a>

* **Rotate Left/Right:** `(-360 to 360)`
* **Move Forward:** `(0 to 10)`
* **Vertical Angle:** `(-1 to 1)`
* **Wide Angle Lens:** enable or disable
* **Seed:** generate different angle variations

<figure><img src="/files/mIifnSiRzoZYeZgiyglN" alt="" width="563"><figcaption></figcaption></figure>

This node is ideal for fine-tuning poses, correcting perspective, and improving shot composition.

### Extend Image <a href="#image-outpainting" id="image-outpainting"></a>

The **Extend Image** node expands an image beyond its original boundaries using Outpainting AI model backends.

* Input your image
* Provide a **prompt** describing how the new extended areas should look
* The model naturally blends extensions into the existing scene

Use this to:

* Widen the environment
* Add missing context
* Create cinematic aspect ratios
* Extend canvases for layout or UI needs

<figure><img src="/files/w3ZsUlba4dMvTGfv8MKC" alt="" width="563"><figcaption></figcaption></figure>

### Remove Image Background <a href="#remove-background" id="remove-background"></a>

Removes the background from an existing image and outputs two formats:

* **Binary PNG** (black/white mask)
* **Transparent PNG** (clean cutout)

Different **backends** produce different separation styles, so results may vary.\
Useful for:

* Isolating assets
* Preparing images for compositing
* Feeding a clean silhouette into other Atlas nodes

<figure><img src="/files/ekoF3gwTBlvoZzSu7ibr" alt="" width="563"><figcaption></figcaption></figure>

### Upscale Image <a href="#upscale-image" id="upscale-image"></a>

The **Upscale Image** node enhances resolution and detail.

* Input an image
* Set the **upscale factor**
* Choose from multiple backends for varying sharpness and texture behavior

Use this whenever you need:

* Higher fidelity output
* Cleaner textures
* Enhanced details for close-ups
* Large format renders or presentation images

<figure><img src="/files/Zd8NsNnN0Tzwy5n4VJAT" alt="" width="563"><figcaption></figcaption></figure>

### Find Images by Description

It allows you to query an image array using a text prompt and return only the images that match your description. This is especially useful when working with large sets of extracted images, such as those obtained from the **Extract Document Images** node.

You can specify the number of images you want to retrieve and choose the retrieval mode:

* **At Most N Retrieved** — returns up to the requested number of relevant images
* **Exactly N Retrieved** — forces the output to contain the exact number specified

<figure><img src="/files/yzymbkYfzz9KT4thKBaN" alt="" width="563"><figcaption></figcaption></figure>

This node is ideal when you need to filter a broad image collection for workflow-specific tasks.\
For example, you can provide an entire set of document images as input and use a prompt such as “images showing architectural elements” to retrieve only the relevant subset. The node then outputs the desired number of images that best match the prompt, allowing you to use them directly in multimodal nodes, reference-based generation, or any downstream image-processing steps within your workflow.

### Convert Image to SVG <a href="#image-to-svg" id="image-to-svg"></a>

The Convert **Image to SVG** node converts a raster image into a **vector-based SVG** output.

* Input: single image (e.g., logo, icon, black-and-white mask, simple graphic)
* Output: SVG file that can be scaled, edited, and reused in 2D or 3D workflows

For best results, start from images with **clear edges** and **high contrast** (e.g., black shapes on white background or simple flat-color drawings). The resulting SVG can then be refined in external vector tools or used directly in pipelines that expect curve or path-based input.

<figure><img src="/files/QBp72B1QMliB0nplZLTF" alt="" width="563"><figcaption></figcaption></figure>

### Split Image into Layers

Decomposes a single image into multiple RGBA layers, such as separating the foreground from the background.

<figure><img src="/files/FLXKBTCFIimMebTox36o" alt="" width="563"><figcaption></figcaption></figure>

### Split Alpha

Separates the transparency (alpha) channel from an image, providing the color data and the mask as two separate outputs.

<figure><img src="/files/htBlULryBLuuhjtBrRPj" alt="" width="563"><figcaption></figcaption></figure>

### Combine Alpha

Merges a color image with a separate grayscale image to create a single image with transparency.

<figure><img src="/files/NMGWArsEXupfjTebQ3gC" alt="" width="563"><figcaption></figcaption></figure>

### Split Image Channels

Breaks an image down into four individual grayscale images representing its Red, Green, Blue, and Alpha channels.

<figure><img src="/files/43nkZjC2rxPkPDvKGXnx" alt="" width="563"><figcaption></figcaption></figure>

### Combine Image Channels

Takes up to four separate grayscale images and combines them into a single RGBA color image.

<figure><img src="/files/qH8329DsB98YVsrrvn8j" alt="" width="563"><figcaption></figcaption></figure>

### Threshold Binary Mask

Converts an image to grayscale and applies a threshold to create a high-contrast black-and-white binary mask.

<figure><img src="/files/YJdIFj5R2izdxoQeUd8L" alt="" width="563"><figcaption></figcaption></figure>

### Crop Image Manual

Allows you to crop an image by manually specifying the left, top, right, and bottom coordinates.

<figure><img src="/files/YX9YDALQZOLTbBnHy46w" alt="" width="563"><figcaption></figcaption></figure>

### Crop Image Auto

Automatically crops an image based on its transparency or a provided mask, removing unnecessary empty space.

<figure><img src="/files/zaX3vpdGdgyFFQNRaWzk" alt="" width="563"><figcaption></figcaption></figure>

### Simple Image Resize

Changes an image's dimensions to a specific width and height with options to preserve the aspect ratio.

<figure><img src="/files/unHh70A7y64ufE6GSju7" alt="" width="563"><figcaption></figcaption></figure>

### Depth Estimation

Analyzes an image to create a depth map, where the brightness or color represents the distance of objects from the camera.

<figure><img src="/files/2FbB1Cztx9ozaJpBpSGZ" alt="" width="563"><figcaption></figcaption></figure>

* Provides depth map output in EXR format for download.

### Fast Normal from Depth

A quick algorithm that generates a normal map (used for lighting and 3D effects) directly from a grayscale depth map.

<figure><img src="/files/dxNq3RSyQZLegrMK6qk6" alt="" width="563"><figcaption></figcaption></figure>

### Image Filters

Applies algorithmic image transformations without requiring a generative backend. The node provides 69 filters organized into eight categories, each with built-in parameter guidance for rapid adjustment.

<figure><img src="/files/Ti4kj8VJwL5W2ZLIVy6k" alt="" width="563"><figcaption></figcaption></figure>

* **Input**: Single image (any resolution)
* **Output**: Filtered image matching input dimensions
* **Filter categories**: Noise and Grain, Blur and Smooth, Color/Tone, Sharpen, Distortion, Degrade/Stylize, Weather, Blend Modes
* **Selection interface**: Single dropdown menu listing all 69 filters
* **Parameters**: Context-sensitive sliders and controls appear automatically based on the selected filter
* **Deterministic**: Produces identical output for identical inputs and settings; no randomness or inference involved
* **Performance**: Processes locally; suitable for real-time preview and iteration

Useful for: Rapid texture variation, color grading screenshots for marketing, adding atmospheric effects to concept art, prototyping visual effects before implementing them in-engine, and batch-processing asset alternatives without waiting for generative models.

**Example:** Examples of different Image Filters applied to the same input across multiple filter categories.

<figure><img src="/files/CaPmM8f4tHVXxcGZ0leA" alt="" width="563"><figcaption></figcaption></figure>

### Material Generation

Generates physically based rendering (PBR) material maps from text prompts, reference images, or existing textures. The node outputs separate map channels (base color, metallic, roughness, normal) compatible with standard game engines and 3D tools.

<figure><img src="/files/ICgIKvtFG81gKmD1H8oB" alt="" width="563"><figcaption></figcaption></figure>

* **Input**: Text prompt, reference image, or existing texture depending on selected mode
* **Output**: Four separate PBR map outputs—base color, metallic, roughness, and normal—each connectable independently
* **Modes**: Generate (prompt-to-material), Predict (image-to-material), Extract (texture-to-channels)
* **Map resolution**: Configurable output size for each material channel
* **Direct export**: Maps route directly to downstream nodes or export for use in Blender, Unreal Engine, Unity, and other PBR-compatible tools
* **Channel isolation**: Individual map outputs allow selective regeneration or replacement of specific channels without affecting others

Useful for: Rapid material prototyping during blockout phases, generating tileable surface variants from written descriptions, extracting PBR channels from photographs or scanned textures, and creating material libraries for environmental art without manual authoring.

**Example:** extract PBR maps from a reference texture, or describe a material (e.g. 'magical cracks') to generate base color, metallic, roughness, and normal maps.

<figure><img src="/files/gJnB31rDc0Bis5KMWhBo" alt="" width="563"><figcaption></figcaption></figure>

### Text to SVG Node

The **Text to SVG** node generates scalable vector graphics (SVG) directly from a text prompt, producing resolution-independent assets suitable for UI elements, icons, and game graphics.

* Input a **text prompt** describing the desired vector graphic
* Outputs an **SVG file** that can be scaled infinitely without quality loss
* Useful for generating logos, icons, symbols, and geometric assets
* Vector format integrates cleanly into game engines and design tools
* Ideal for rapid prototyping of UI elements before final art production

<figure><img src="/files/1MMIuSUz1nZiEXCCNT9a" alt="" width="563"><figcaption></figcaption></figure>

**Useful for:** generating placeholder icons, creating scalable HUD elements, prototyping menu graphics, and producing clean vector assets for 2D games.

**Example:** Text to SVG node examples showing output variation across different backends.

<figure><img src="/files/YeRdEa1r4uRFLRBSUirA" alt="" width="563"><figcaption></figcaption></figure>

### Normal Map Convention Convert Node

The **Normal Map Convention Convert** node flips the Y-axis channel of a normal map to switch between DirectX (Y-down) and OpenGL/glTF (Y-up) conventions. Different game engines and 3D tools use opposing standards for the Y-axis in tangent-space normal maps; this node reconciles those differences without external software.

* **Input:** a normal map texture
* **Output:** the same normal map with Y-axis inverted
* Automatically detects or allows manual selection of source convention
* No quality loss—only inverts the green channel
* Essential when importing assets between engines with different normal map standards
* Prevents lighting artifacts caused by reversed surface normals

<figure><img src="/files/moVeymTgzlzDPZaSV6qn" alt="" width="563"><figcaption></figcaption></figure>

**Useful for:** preparing AI-generated or imported normal maps for Unity, Unreal Engine, Godot, or other engines with differing tangent-space conventions.

### Smart Resize Image

The **Smart Resize Image** node intelligently reframes and crops images to a target size using AI-guided composition. Unlike standard cropping, it interprets a text prompt to decide which parts of the image to preserve or emphasize.

* **Input:** source image and target dimensions
* **Prompt:** describe the subject or area to focus on (e.g., "character's face", "weapon", "background landscape")
* **Output:** resized image with content-aware framing
* Preserves important visual elements based on semantic understanding
* Useful for generating portrait thumbnails, UI icons, or adaptive aspect ratios from wide screenshots

<figure><img src="/files/n7dHaqexpzcWOdhLbLSj" alt="" width="563"><figcaption></figcaption></figure>

Ideal for creating multiple aspect ratios from a single asset, focusing character portraits, or adapting cutscene frames for different screen formats.

### Paste Crop Into Image

The **Paste Crop Into Image** node composites an edited crop back into its source image, using alpha-aware blending and automatic resizing to fit the target region.

* **Source and crop inputs.** Takes the original image and the modified crop to be reinserted.
* **Region mask input.** Accepts a PNG region mask (white rectangle on black) defining where the crop is placed, matching the mask produced for Crop Image Auto.
* **Alpha-aware compositing.** Respects transparency in the crop so edited regions blend cleanly against the source.
* **Automatic resizing.** Scales the crop to match the target region when dimensions differ.
* **Out-of-bounds clipping.** Clips portions of the crop that extend past the canvas edge.
* **Output.** Returns the recomposited full image.

Useful for: reinserting locally edited details—repainted armor, altered NPC faces, adjusted signage—back into a larger scene without regenerating the whole asset.

**Example:** Paste Crop Into Image example: edit only the selected object and paste it back into the original image, enabling an inpainting-style workflow.

<figure><img src="/files/aIp0Dpb76qdpA8N8pGi5" alt="" width="563"><figcaption></figcaption></figure>

### Ellipse Mask

The **Ellipse Mask** node defines an elliptical editable region on a reference image, producing a mask that constrains where downstream editing nodes apply changes.

<figure><img src="/files/O0dQdAms6jsiAF8Dggaq" alt="" width="563"><figcaption></figcaption></figure>

* **Input.** A reference image on which the elliptical region is placed.
* **Output.** A mask isolating the elliptical area for use by inpainting, region-edit, or compositing nodes.
* **Visual mask picker.** Drag and resize an overlay directly on the reference image to position the ellipse.
* **Live coordinate inputs.** Adjust center, width, and height numerically alongside the interactive overlay for precise placement.
* **Pairs with Rect Mask.** Use Ellipse Mask for rounded or organic regions and Rect Mask for straight-edged selections.

Useful for: masking faces, shields, planets, spell effects, or other circular elements for targeted edits and asset variation without regenerating the full image.

### Rect Mask

The **Rect Mask** node defines a rectangular editable region on a reference image, restricting downstream edits to the masked area while leaving the rest of the image unchanged.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR7boiMixMhR4q36Ns33Y%2Fuploads%2FubqKzNVpbaUEFyGTmuaZ%2Frect_mask_video.mp4?alt=media&token=3c27fb95-0855-433c-9b9e-adbcdf97d027>" %}

<figure><img src="/files/kLEzbT0DPJ4QKGkCkih5" alt="" width="563"><figcaption></figcaption></figure>

* **Input.** A reference image to mask.
* **Output.** A mask defining the selected rectangular region, passed to downstream editing nodes.
* **Visual mask picker.** Drag and resize an overlay directly on the reference image to set the region interactively.
* **Live coordinate inputs.** Numeric fields update in sync with the overlay for precise placement and sizing.
* **Localized edits.** Confines regeneration or replacement to the masked bounds, preserving surrounding detail.

Useful for: swapping in-scene props such as replacing a painting on a wall, retexturing a specific surface, or generating asset variations within a fixed area of an environment.

### Custom Image Format Output

The **Custom Image Format Output** node exports images to a chosen file format with per-format encoding controls, giving fine-grained management over quality and file characteristics for pipeline delivery.

<figure><img src="/files/4Xo50cKMCLLL85aGvWTx" alt="" width="563"><figcaption></figcaption></figure>

* **Supported formats.** Exports as JPEG, TGA, WebP, TIFF, or AVIF, each with its own applicable settings.
* **Quality control.** Adjustable quality and subsampling for lossy formats to balance fidelity against file size.
* **Compression settings.** Per-format compression options for formats that support them.
* **Alpha handling.** Configurable transparency behavior for formats with alpha channels.
* **Lossy source warning.** Alerts when exporting from an already-lossy source, flagging potential compounding quality loss.

Useful for: delivering game-ready textures, UI art, and sprite assets in the exact format and compression profile a target engine or platform requires.

### Invert Mask

The **Invert Mask** node flips a grayscale or binary mask at the pixel level, swapping editable and preserved regions. This isolates the opposite of a segmentation or background-removal result without re-running prompts or hand-painting inverted shapes.

<figure><img src="/files/hWqBYhR6lmLR0C6zwD1P" alt="" width="563"><figcaption></figcaption></figure>

* **Input.** A grayscale or binary mask, typically produced by segmentation or background-removal nodes.
* **Output.** The inverted mask, with editable and preserved regions swapped.
* **Pixel-level operation.** Flips mask values directly, preserving resolution and edge detail from the source mask.
* **No re-prompting.** Reuses an existing mask rather than regenerating a new one for the opposite region.
* **Typical use.** Convert a "subject" mask into a "background" mask (or vice versa) to target the complementary area in downstream compositing or inpainting.

Useful for: isolating backgrounds behind isolated characters, masking surrounding scenery for environment edits, and preparing complementary regions for asset variation.

## Common pitfalls

* **Upscaling before refining.** The Upscale Image node locks in artifacts and noise present in the source image. Complete edit and cleanup passes first, then run Upscale Image at the end of the workflow.
* **Outpainting too aggressively.** The Extend Image node works best for modest extensions. Asking it to outpaint 3-4x the original area produces visible seams and style drift. For large extensions, run several smaller passes or regenerate at the larger target size.
* **Background removal on complex compositions.** The Remove Image Background node produces ragged cutouts when a highly detailed background blends with the subject. When the subject-background boundary is ambiguous, isolate the subject with a generative edit instead.
* **Feeding a flat view into image-to-3D.** A head-on generated image gives image-to-3D conversion no perspective to work from. Run it through the Camera Control node to add a three-quarter view before passing it to the Mesh Nodes.
* **Resizing without composition awareness.** The Simple Image Resize node changes dimensions to a fixed width and height and can crop away important subjects. When the target aspect ratio differs significantly from the source, use the Smart Resize Image node with a prompt describing the subject to preserve.
* **Vectorizing low-contrast images.** The Convert Image to SVG node produces noisy paths from soft or photographic input. Feed it images with clear edges and high contrast, such as flat-color graphics or black-and-white masks.

## Related nodes

* [Image Generation Nodes](/atlas-ai-studio-overview/node-index/image-nodes/image-generation-nodes.md) — the upstream source of images that often need post-processing.
* [Image Edit Nodes](/atlas-ai-studio-overview/node-index/image-nodes/image-edit-nodes.md) — generative-edit alternatives for cases where post-processing nodes are not enough, such as isolating a subject when the background boundary is ambiguous.
* [Mesh Nodes](/atlas-ai-studio-overview/node-index/mesh-nodes.md) — image-to-3D nodes that consume post-processed images. Image quality at this stage materially affects 3D output, and the Material Generation node produces PBR maps for the same pipeline.
* [Utility Nodes](/atlas-ai-studio-overview/node-index/utility-nodes.md) — Concatenate Images, Break Images Array, and Create Image List for batching and comparison workflows.

## Frequently asked questions

**What is the maximum upscale factor?**

The maximum upscale factor of the Upscale Image node depends on the selected backend. For large increases, chaining two passes can produce smoother results than a single high-factor pass.

**Can the Remove Image Background node handle hair, fur, or fine detail?**

It handles hair and fur with some softness on edges. Because different backends produce different separation styles, results vary. For pixel-perfect cutouts on hero assets, do a manual cleanup pass in an external image editor after the automated removal.

**How do I outpaint an image to a new aspect ratio?**

Use the Extend Image node with a prompt describing how the extended areas should look. For dramatic shifts, such as square to widescreen, a guiding prompt keeps the extended area stylistically coherent, and several smaller passes reduce seams.

**Does the Camera Control node work on real photographs?**

Yes. It adjusts angle and framing of any 2D image, including photographs, without re-prompting. Extreme angle changes may introduce artifacts, so modest adjustments are most reliable.

**How do I generate PBR material maps from a texture or prompt?**

Use the Material Generation node. Generate mode takes a text prompt, Predict mode takes a reference image, and Extract mode takes an existing texture. Base color, metallic, roughness, and normal are separate outputs, so you can regenerate or replace one channel without affecting the others.

**Which SVG node should I use?**

The Text to SVG Node generates a vector graphic from a text prompt. The Convert Image to SVG node converts a raster image, such as a logo or black-and-white mask, into vector paths and needs clear edges and high contrast. Both produce assets that scale without quality loss.

**Can I crop a region, edit it, and paste it back?**

Yes. Use the Crop Image Auto node to crop based on transparency or a mask, edit the crop, then use the Paste Crop Into Image node to composite it back. The region mask is a white rectangle on black matching the Crop Image Auto output; the crop is alpha-blended and auto-resized to the target region, and portions past the canvas edge are clipped. Use the Crop Image Manual node to specify left, top, right, and bottom coordinates directly.

**Do the Image Filters run without a generative backend?**

Yes. The Image Filters node applies algorithmic transformations locally and is deterministic, producing identical output for identical inputs and settings. This makes it suitable for real-time preview and batch iteration without inference.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.atlas.design/atlas-ai-studio-overview/node-index/image-nodes/2d-post-processing-nodes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
