← Back to all apps
Adobe Photoshop logo

Adobe Photoshop

Open in ChatGPT →

Overview

Tools Available9
CategoryDesign

Edit, stylize, refine images

Available Tools

Adobe Photoshop provides 9 tools that can be used to interact with its services.

Apply effects

applyEffects
Full Description

Apply artistic effects and filters to an image or parts of the image. Effects such as glitch, bokeh blur, grain, motion blur, bloom, radial blur, photocopy, and much more are available. Each effect is applied with default parameter values. See below for list of available effects.

IMPORTANT – ASSISTANT BEHAVIOR CONSTRAINTS:

  • This tool applies effects with default parameter values; it does NOT allow setting specific parameter values in the tool call.
  • The assistant MUST NOT claim to set or configure specific parameter values (e.g., "I'll set glitch intensity to 80%," "I've configured blur radius to 15px," "Grain amount is now at 50%").

The assistant MAY only:

  • Call this tool with effectIds to apply effects with their default parameters
  • Explain that users can manually adjust effect parameters using the interactive sliders in the widget after the effect is applied
  • Give directional guidance on adjusting parameters (e.g., "Use the Intensity slider to increase the glitch effect")

When asked to "apply effects to xxx or give xxx effects" or something along those lines, you should use the "selectSubject" or "selectionByPrompt" tool to generate a mask first. See those selection tools' descriptions for more details.

Forbidden phrasing:

  • "I'll set the glitch intensity to 80% for you."
  • "I've configured the blur radius to 15 pixels."
  • "Grain amount is now at 50%."
  • "I can apply the effect with specific parameter values."

Allowed phrasing:

  • "I'll apply the glitch effect with default settings. You can adjust the intensity using the sliders in the widget."
  • "The blur effect has been applied. Use the Radius slider to control the blur amount."
  • "After the grain effect is applied, increase the Amount slider to make it more pronounced."
  • "The effect will start with default values. Click the settings icon to adjust the parameters."

EFFECT SELECTION STRATEGY: 1. VAGUE REQUESTS (e.g., "apply effects to my image", "add some effects") → OMIT this parameter entirely to use the default set of effects 2. DESCRIPTIVE INTENT (e.g., "apply creative effects", "make me stand out", "make my image pop", "add artistic touches") → Analyze the intent and select up to 5 effects from the available list that best match the description → Consider image context: for portraits prioritize effects recommended for people, for landscapes use scene-appropriate effects 3. EXPLICIT SINGLE EFFECT (e.g., "apply glitch effect", "apply vintage effect", "add a duotone") → Find the single best matching effect and provide ONLY that one effect in this array → If you want to suggest additional related effects, do NOT add them to this array → Instead, include suggestions in your response text as follow-up prompts for the user 4. EXPLICIT MULTIPLE EFFECTS (e.g., "apply glitch and vintage effects", "show me duotone, tritone, and cartoon") → Provide only the specific effects requested (up to 5 maximum) → If you want to suggest additional related effects, do NOT add them to this array → Instead, include suggestions in your response text as follow-up prompts for the user 5. MORE OR ADDITIONAL EFFECTS REQUEST → Review conversation history to see which effects were already applied → Select NEW effects that haven't been shown yet, following the appropriate strategy above → Never repeat previously applied effects unless explicitly requested

CONSTRAINTS:

  • Maximum 5 effects per request
  • If user requests more than 5, make suggestions for the remaining effects as part of the tool response
  • DO NOT automatically make multiple tool calls for remaining effects
  • Always WAIT for explicit user confirmation before applying additional batches

AVAILABLE EFFECTS:

When asked to list available effects, use only the effect name (not the ID), description, and recommended for fields. When selecting effects for the effectIds parameter, use the Effect ID value shown below.

Effect ID: bloom

  • Name: Bloom
  • Description: Adds a soft glow making bright areas radiate light to create a dreamy, hazy atmosphere.
  • Recommended for: Dreamy portraits, luminous landscapes, ethereal composites.

Effect ID: bokehBlur

  • Name: Bokeh blur
  • Description: Blurs highlights into soft, glowing shapes to mimic a shallow depth of field.
  • Recommended for: Night portraits, illuminated streets scenes, soft-focus portraits.

Effect ID: cartoon

  • Name: Comic
  • Description: Simplifies details into outlines and flat color to give the appearance of a comic illustration.
  • Recommended for: Pop art scenes, character art, stylized portraits.

Effect ID: colorhalftone

  • Name: Halftone color
  • Description: Transforms images into patterns that mimic classic printing colors, echoing the layered look of vintage.
  • Recommended for: Retro posters, pop-art portraits, vintage prints.

Effect ID: dither

  • Name: Dither
  • Description: Creates patterns of colored squares to mimic retro arcade aesthetics.
  • Recommended for: Retro graphics, early web aesthetics, arcade inspired graphics.

Effect ID: duotone

  • Name: Duotone
  • Description: Creates a vintage two-tone effect that gives images a nostalgic, retro aesthetic. Perfect for adding timeless character to portraits and people.
  • Recommended for: Vintage effects on people and portraits, retro aesthetics, nostalgic mood photos, classic film looks, artistic portraits with vintage character.

Effect ID: glitch

  • Name: Glitch
  • Description: Separates and shifts color channels to produce a multi-color, stepped, displacement.
  • Recommended for: Stylized motion, futuristic portraits, digital distortion.

Effect ID: grain

  • Name: Grain
  • Description: Applies a uniform, film-like texture for a vintage or cinematic feel.
  • Recommended for: Vintage portraits, cinematic stills, atmospheric landscapes.

Effect ID: lensDistortion

  • Name: Lens Distortion
  • Description: Radiates chromatic color flares that amplify energy and motion.
  • Recommended for: Expressive portraits, stylized movement, dreamlike scenes.

Effect ID: mosaic

  • Name: Mosaic
  • Description: Transforms the image into a pattern of colored cells to mimic the artistic style.
  • Recommended for: Expressive typography, experimental visuals, abstract imagery.

Effect ID: motionBlur

  • Name: Motion Blur
  • Description: Adds directional streaks and blends details to give the impression of movement and speed.
  • Recommended for: Action shots, stylized motion scenes, dynamic portraits.

Effect ID: noise

  • Name: noise
  • Description: Applies random, uneven texture to add grit and static and mimic digital artifacts.
  • Recommended for: Digital disruption, gritty portraits, cinematic scenes.

Effect ID: pixelate

  • Name: Pixelate
  • Description: Transforms the image into a grid of visible squares, creating a low-resolution aesthetic.
  • Recommended for: Low-fi digital abstractions, retro portraits, pixel art.

Effect ID: radialBlur

  • Name: Radial Blur
  • Description: Creates circular motion from a center point to give the impression of spinning.
  • Recommended for: Action shots, stylized motion scenes, dynamic portraits.

Effect ID: threshold

  • Name: Photocopy
  • Description: Mimics the gritty, high-contrast style of a photocopy with bold shapes and texture.
  • Recommended for: Gritty portraits, high-contrast graphics, zine artwork.

Effect ID: tritone

  • Name: Tritone
  • Description: Transforms the image into three colors, adding depth and richness for a stylized graphic finish.
  • Recommended for: Graphic posters, artistic portraits, retro-inspired visuals.

Effect ID: tritoneSepia

  • Name: Tritone Sepia
  • Description: Transforms the image into three sepia tone colors, adding depth and richness for a stylized graphic finish.
  • Recommended for: Graphic posters, artistic portraits, retro-inspired visuals.

Effect ID: twirl

  • Name: Twirl
  • Description: Swirls the image around a central point, creating a spiraling distortion.
  • Recommended for: Expressive typography, experimental visuals, abstract imagery.

Parameters

Optional
effectIdsarray

Array of Photoshop effects to apply to the image. Select effects intelligently based on user intent.

Default: ['tritone', 'colorhalftone', 'glitch', 'dither', 'lensDistortion']
externalImageURIstring

Provide exactly ONE of nativeImage or externalImageURI. External public image URL starting with http or https. This field is optional and should only be used if images have not been uploaded to the chat but the user provided a public URL directly.

maskobject

The mask to be applied to the image. This must contain the following fields: - maskURI: The URI of the mask to be applied to the image, must be generated from the same image being used in this tool call. - maskDescription: The description of the mask, this will be outputted from the selection tool alongside the maskURI. - toBeInverted: Set to true if targeting the area OUTSIDE the mask, false otherwise. e.g., subject mask + invert = background selection. This should be provided if the user wants to apply the effect to a specific area of the image like the main subject, the background or a particular object (e.g., blur the background). IMPORTANT: If a maskURI exists in the context, you MUST verify it was generated from the same image being used in this tool call. If the maskURI was generated from a different image, or if no maskURI exists, you must use the selection tool to generate a new mask from the current image before calling this tool.

nativeImageobject

Provide exactly ONE of nativeImage or externalImageURI. This **MUST** be a valid file path of the user uploaded image, starting with "/mnt/". This should be the primary source of the image to be edited if the user has uploaded an image directly to ChatGPT. If this field is provided, do not use externalImageURI.

Blur background

blurBackground
Full Description

Blur background of the image to make the main subject stand out.

Requires a mask:

  • If no maskURI exists for this image, call selectSubject tool first.
  • Verify the mask was generated from the same image being edited.
  • The mask required for this tool must be the background mask.

→ If the mask is the subject mask, set toBeInverted to true. → If the mask is the background mask, set toBeInverted to false.

Parameters

Required
maskobject

The mask to be applied to the image. This must contain the following fields: - maskURI: The URI of the mask to be applied to the image, must be generated from the same image being used in this tool call. - maskDescription: The description of the mask, this will be outputted from the selection tool alongside the maskURI. - toBeInverted: Set to true if targeting the area OUTSIDE the mask, false otherwise. e.g., subject mask + invert = background selection. This should be provided if the user wants to apply the effect to a specific area of the image like the main subject, the background or a particular object (e.g., blur the background). IMPORTANT: If a maskURI exists in the context, you MUST verify it was generated from the same image being used in this tool call. If the maskURI was generated from a different image, or if no maskURI exists, you must use the selection tool to generate a new mask from the current image before calling this tool.

Optional
externalImageURIstring

Provide exactly ONE of nativeImage or externalImageURI. External public image URL starting with http or https. This field is optional and should only be used if images have not been uploaded to the chat but the user provided a public URL directly.

nativeImageobject

Provide exactly ONE of nativeImage or externalImageURI. This **MUST** be a valid file path of the user uploaded image, starting with "/mnt/". This should be the primary source of the image to be edited if the user has uploaded an image directly to ChatGPT. If this field is provided, do not use externalImageURI.

Display adjustments

displayAdjustments
Full Description

Display interactive adjustment controls for brightness, contrast, hue, saturation, vibrance, exposure, color balance, or black and white conversion. These adjustments can be applied to an entire image or parts of the image by manually adjusting sliders in the widget. See below for list of available adjustments.

IMPORTANT – ASSISTANT BEHAVIOR CONSTRAINTS:

  • This tool only displays adjustment controls; it never applies adjustments automatically.
  • The assistant MUST NOT claim to set or change numeric values (e.g., "I'll increase exposure by 20%," "I've set saturation to 80," "Contrast is now at 60%").

The assistant MAY only:

  • Call this tool with adjustmentIds to display the appropriate adjustment controls
  • Give directional, qualitative guidance (e.g., "Move the Exposure slider to the right to brighten") while the user adjusts sliders manually

When asked to "apply adjustments to xxx or change xxx's look" or something along those lines, you should use the "selectSubject" or "selectionByPrompt" tool to generate a mask first. See those selection tools' descriptions for more details.

Forbidden phrasing:

  • "I'll increase exposure by 20% for you."
  • "I've set contrast to 0.8."
  • "Saturation is now at 60%."
  • "I can apply specific values automatically."

Allowed phrasing:

  • "Move the Exposure slider to the right to brighten the image."
  • "Lower the Saturation slider to reduce color intensity."
  • "Increase the Hue slider until the car shifts to blue."
  • "Adjust the Contrast slider upward to add more definition."

HOW TO USE THIS TOOL: 1. Call this tool with adjustmentIds (see available adjustments below): ["adjustmentId"] (e.g., ["hueSat"] for color changes) 2. The tool displays the image(s) with adjustment controls available

  • NO adjustments are applied initially, all sliders start at default/zero values

3. User must click the settings icon on each image to enter fullscreen mode and reveal the adjustment sliders 4. User manually adjusts the sliders in real-time to achieve their desired results 5. In your response, provide directional guidance on which sliders to adjust (e.g., "Move the Exposure slider to the right to brighten"). Even if the user requests specific numeric values, provide only qualitative guidance and never restate values as if they were applied.

ADJUSTMENT SELECTION STRATEGY: 1. VAGUE REQUESTS (e.g., "adjust my image", "fix the colors") → OMIT adjustmentIds to use defaults: exposure, contrast, saturation, vibrance 2. DESCRIPTIVE INTENT (e.g., "improve lighting", "enhance colors", "fix exposure") → Select up to 5 relevant adjustments → For lighting: exposure, brightness, contrast; For colors: saturation, vibrance, hueSat 3. EXPLICIT ADJUSTMENT NAMES (e.g., "adjust exposure", "increase saturation") → Provide ONLY that adjustment in the array → Suggest related adjustments in response text, not in the array 4. SPECIFIC VALUE REQUESTS (e.g., "Set car to blue", "Increase exposure by +20%", "Contrast to 80%") → You CANNOT apply these values automatically - you can only display the controls → Call this tool with the appropriate adjustment name(s) to display the controls: • For color changes: use "hueSat" • For brightness: use "exposure" or "brightnessAndContrast" • For contrast: use "contrast" or "brightnessAndContrast" → In your response, guide the user on which direction to move the sliders (e.g., "Move the Exposure slider to the right to increase brightness") → NEVER say "I can apply specific values" or "I'll set it to X" - this is not possible with this tool 5. MORE ADJUSTMENTS REQUEST → Select NEW adjustments not previously displayed → Never repeat unless explicitly requested

CONSTRAINTS:

  • Maximum 5 adjustments per request
  • If user requests more than 5, make suggestions for the remaining effects as part of the tool response
  • DO NOT automatically make multiple tool calls for remaining effects
  • Always WAIT for explicit user confirmation before displaying additional batches

AVAILABLE ADJUSTMENTS:

When asked to list available adjustments, use only the adjustment name (not the ID), description, and recommended for fields. When selecting adjustments for the adjustmentIds parameter, use the Adjustment ID value shown below.

Adjustment ID: brightnessContrast

  • Name: Brightness & contrast
  • Description: Changes the brightness and contrast of an image.
  • Recommended for: Any image.

Adjustment ID: contrast

  • Name: Contrast
  • Description: Adjusts the overall intensity of colors.
  • Recommended for: Any color image with low contrast.

Adjustment ID: exposure

  • Name: Exposure
  • Description: Brightens or darkens your image to make you properly lit and visible. Brings you out of shadows or tones down overexposure so you're the clear focal point with perfect lighting.
  • Recommended for: Making yourself stand out by fixing underexposure, bringing yourself out of dark shadows, ensuring you're properly lit and visible in photos, balancing lighting so you're prominent, making sure you're not lost in dim or overly bright areas

Adjustment ID: gray

  • Name: Gray (Black / White)
  • Description: Converts your color image to black-and-white by desaturating it.
  • Recommended for: Any color image.

Adjustment ID: highlightsShadows

  • Name: Highlights & Shadows
  • Description: Adjusts tonal highlights or shadows.
  • Recommended for: Any image with low contrast between highlights and shadows.

Adjustment ID: hueSat

  • Name: Hue & saturation
  • Description: Changes the hue, saturation, and lightness of an image.
  • Recommended for: Any color image

Adjustment ID: saturation

  • Name: Saturation
  • Description: Dramatically enhances color vibrancy to make you or your subject pop from the background. Powerfully increases visual impact by intensifying all color saturation for maximum presence.
  • Recommended for: Making yourself stand out in photos, dramatically emphasizing people and subjects in a scene, drawing maximum attention to the main subject, increasing visual presence and impact, making yourself the vibrant focal point of any image

Adjustment ID: vibrance

  • Name: Vibrance
  • Description: Intelligently enhances color vibrancy to make you pop from the background while preserving natural skin tones. Selectively boosts muted colors for a flattering, eye-catching look.
  • Recommended for: Making yourself stand out in photos, portraits where you want to be the focal point, enhancing your presence without oversaturating skin tones, drawing attention to people in group shots, creating vibrant but natural-looking portraits

Adjustment ID: whiteBalance

  • Name: White Balance
  • Description: Changes the color temperature and tint of an image, changing all colors in the image.
  • Recommended for: Any color image

Parameters

Optional
adjustmentIdsarray

Array of Photoshop adjustments to display in the interactive widget with the image. Select adjustments intelligently based on user intent.

Default: ['vibrance', 'hueSat', 'gray', 'exposure', 'contrast']
externalImageURIstring

Provide exactly ONE of nativeImage or externalImageURI. External public image URL starting with http or https. This field is optional and should only be used if images have not been uploaded to the chat but the user provided a public URL directly.

maskobject

The mask to be applied to the image. This must contain the following fields: - maskURI: The URI of the mask to be applied to the image, must be generated from the same image being used in this tool call. - maskDescription: The description of the mask, this will be outputted from the selection tool alongside the maskURI. - toBeInverted: Set to true if targeting the area OUTSIDE the mask, false otherwise. e.g., subject mask + invert = background selection. This should be provided if the user wants to apply the effect to a specific area of the image like the main subject, the background or a particular object (e.g., blur the background). IMPORTANT: If a maskURI exists in the context, you MUST verify it was generated from the same image being used in this tool call. If the maskURI was generated from a different image, or if no maskURI exists, you must use the selection tool to generate a new mask from the current image before calling this tool.

nativeImageobject

Provide exactly ONE of nativeImage or externalImageURI. This **MUST** be a valid file path of the user uploaded image, starting with "/mnt/". This should be the primary source of the image to be edited if the user has uploaded an image directly to ChatGPT. If this field is provided, do not use externalImageURI.

Select objects

getPresignedUrls
Full Description

Internal presigned url accessor tool for Adobe Photoshop custom UX widgets.

Parameters

Required
countnumber

Amount of presigned urls to fetch

Upload image

imageUploader
Full Description

Internal helper upload tool for Adobe Photoshop custom UX widgets.

Parameters

Required
hasNextStepboolean

REQUIRED: Set to true if there is an additional step or steps planned in your execution plan after this tool call (e.g., you plan to call applyEffects or other editing tools after the user uploads an image), false if this is the final step.

Optional
calledFromstring

The identifier of the component that called this tool

fileobject

Do not provide this if you want to display the uploader widget

shouldUseFullURLboolean

Set to true if there is a requirment to use full, presigned urls rather than shortened urls (e.g. if this tool is being used to call out to external photoshop APIs that require a fully resolved URL without redirection)

Remove background

removeBackground
Full Description

Remove background from your image and export with a transparent background in PNG format.

Requires a mask:

  • If no maskURI exists for this image, call selectSubject tool first.
  • Verify the mask was generated from the same image being edited.
  • The mask required for this tool must be the background mask.

→ If the mask is the subject mask, set toBeInverted to true. → If the mask is the background mask, set toBeInverted to false.

Parameters

Required
maskobject

The mask to be applied to the image. This must contain the following fields: - maskURI: The URI of the mask to be applied to the image, must be generated from the same image being used in this tool call. - maskDescription: The description of the mask, this will be outputted from the selection tool alongside the maskURI. - toBeInverted: Set to true if targeting the area OUTSIDE the mask, false otherwise. e.g., subject mask + invert = background selection. This should be provided if the user wants to apply the effect to a specific area of the image like the main subject, the background or a particular object (e.g., blur the background). IMPORTANT: If a maskURI exists in the context, you MUST verify it was generated from the same image being used in this tool call. If the maskURI was generated from a different image, or if no maskURI exists, you must use the selection tool to generate a new mask from the current image before calling this tool.

Optional
externalImageURIstring

Provide exactly ONE of nativeImage or externalImageURI. External public image URL starting with http or https. This field is optional and should only be used if images have not been uploaded to the chat but the user provided a public URL directly.

nativeImageobject

Provide exactly ONE of nativeImage or externalImageURI. This **MUST** be a valid file path of the user uploaded image, starting with "/mnt/". This should be the primary source of the image to be edited if the user has uploaded an image directly to ChatGPT. If this field is provided, do not use externalImageURI.

Select objects

selectionByPrompt
Full Description

Select specific objects in the image so you can apply effects or adjustments to those objects only. This enables you to select multiple objects that are similar, such as selecting all trees in the image.

Generates a precise mask for uniquely identifiable objects in an image, based on a detailed text prompt. When selection requirement is NOT specific, use other selection tools may be used to select the subject or background if available. For example, "select the subject" or "select the people".

This tool is designed to handle prompts that may refer to multiple objects. When multiple objects are detected, they are automatically combined into a single unified mask.

When to use:

  • A mask is required by another tool but was not explicitly provided
  • When specific objects are required to be selected

Examples: <example> { prompt: 'the hat' } </example> <example> { prompt: 'the bridge' } </example> <example> { prompt: 'the cloudy area in the upper right sky' } </example> <example> { prompt: 'all the trees' }

  • Returns a single mask covering all trees </example>

Parameters

Required
optionsobject

Configuration for how images should be edited

Optional
externalImageURIstring

Provide exactly ONE of nativeImage or externalImageURI. External public image URL starting with http or https. This field is optional and should only be used if images have not been uploaded to the chat but the user provided a public URL directly.

nativeImageobject

Provide exactly ONE of nativeImage or externalImageURI. This **MUST** be a valid file path of the user uploaded image, starting with "/mnt/". This should be the primary source of the image to be edited if the user has uploaded an image directly to ChatGPT. If this field is provided, do not use externalImageURI.

Select subject

selectSubject
Full Description

Selects the main subject(s) in an image and creates a selection mask using subject detection. This tool identifies and selects the primary subject(s) in your image, returning a mask URL. The resulting masks can be used for background removal, compositing, masking, or other editing operations.

When to use:

  • A mask is required by another tool but was not explicitly provided
  • When main subject(s) are required to be selected (e.g. "select the subject" or "select the people")

Examples: <example>Select the subject: {}</example>

Parameters

Optional
externalImageURIstring

Provide exactly ONE of nativeImage or externalImageURI. External public image URL starting with http or https. This field is optional and should only be used if images have not been uploaded to the chat but the user provided a public URL directly.

nativeImageobject

Provide exactly ONE of nativeImage or externalImageURI. This **MUST** be a valid file path of the user uploaded image, starting with "/mnt/". This should be the primary source of the image to be edited if the user has uploaded an image directly to ChatGPT. If this field is provided, do not use externalImageURI.

Undo edits

undoEdits
Full Description

Undo previous edits applied to an image. You MUST track the order of effects applied during the conversation. Infer from user intent to determine the appropriate undo operation.

Use Cases: 1. Undo by steps: When user wants to step back through recent edit history (with or without specifying a number) → Use effectNames with the last N effect names in REVERSE chronological order. Example: if effects applied were [blur, saturation, hue], undo last = { effectNames: ["hue"] } and undoing last 2 steps = { effectNames: ["hue", "saturation"] } 2. Undo by effect name: When user mentions specific effects/adjustments to remove → Use effectNames with those effect names (removes ALL instances regardless of when applied) 3. Undo all: When user wants to remove all edits and return to original → Use isClearAll: true

IMPORTANT:

  • Check modelContent.currentEditorScene.layers[0].filters in widgetState to verify edits exist (filter.name) and see their order (filter.stackIndex)
  • Track which effects/adjustments have been applied in chronological order throughout the conversation, can rely on the monotonic stackIndex counter as backup
  • If filters array is empty or currentEditorScene is missing, inform user there are no edits to undo
  • For undo by steps, list effect names from filters in reverse order (most recent first)
  • Map user's natural language to correct effect IDs from effects/adjustments schema

Parameters

Required
undoobject

Determines the undo operation type. You MUST provide ONLY ONE of these options: (1) `effectNames` for undoing specific effects by name OR undoing last N steps by listing effect names in reverse chronological order, or (2) `isClearAll: true` for clearing all edits. Infer from user intent which to use.

Optional
externalImageURIstring

Provide exactly ONE of nativeImage or externalImageURI. External public image URL starting with http or https. This field is optional and should only be used if images have not been uploaded to the chat but the user provided a public URL directly.

nativeImageobject

Provide exactly ONE of nativeImage or externalImageURI. This **MUST** be a valid file path of the user uploaded image, starting with "/mnt/". This should be the primary source of the image to be edited if the user has uploaded an image directly to ChatGPT. If this field is provided, do not use externalImageURI.