Image2Image / Inpainting

Edit Image with a Prompt

Edit any image with a prompt. Apply any transformation, any type of detail you can imaging and the AI will apply it to the image. Choose from the big range of models if you have preferences or to take control of the output quality.

post/painting/edit

Request

  • Base URL
    https://genai-api.picsart.io/v1
  • URL
    https://genai-api.picsart.io/v1/painting/edit
  • Auth
    API key in header X-Picsart-API-Key

Request body multipart/form-data

imagestring binary

Source image file (binary). (If this parameter is present, the other image source parameters must be empty.)

image_urlstring uri

Source image URL. (If this parameter is present, the other image source parameters must be empty.)

image_idstring

Deprecated. Source image ID of an image previously uploaded to Picsart or result image ID from a different API. (If this parameter is present, the other image source parameters must be empty.)

promptstring required

The prompt.

widthinteger nullable

Desired output width. When unset, derived from the input image dimensions.

heightinteger nullable

Desired output height. When unset, derived from the input image dimensions.

countinteger

The number of images to generate.

format'JPG' | 'PNG' | 'WEBP'

Optionally select one of the image formats (JPG is default). Options are as follows:

  • JPG
  • PNG
  • WEBP
mode'sync' | 'async'

Deprecated. The mode parameter is now deprecated. To control synchronous vs asynchronous execution, use the standard HTTP Prefer header (RFC 7240). If both mode and Prefer are provided, Prefer takes precedence. For migration guidance and examples, see the Sync and Async Execution guide. Use this query parameter to establish the processing mode. Acceptable values are sync, async and auto (sync is default):

  • sync: issues a synchronous request, response is given when the result is ready.
  • async: forces an asynchronous request, the response, which is instantaneous, contains a "transaction_id" which is used to poll for the result.
  • REMOVED - auto: the processing mode decision is made by the service, which depends upon the expected processing time.
watermark_enabledboolean nullable

Enables the watermark. This is primarily used to show that the image is AI-generated, but this can be used for other use cases as well. When enabled, the default watermark will be added. When customization is needed, follow other "watermark**" parameters. For more advanced watermarking, you can also check out the Add Watermark service.

watermark_urlstring uri nullable

URL of the watermark image. If omitted or empty and watermark_enabled is true, a default watermark is applied.

watermark_anchor_point'left-top' | 'left-middle' | 'left-bottom' | 'center-top' | 'center-middle' | 'center-bottom' | 'right-top' | 'right-middle' | 'right-bottom' | 'pattern'
watermark_opacityinteger nullable

Define the opacity of the watermark. Takes values from 0 to 100. Default is 100 (opaque). Set to 0 to make it transparent.

watermark_angleinteger nullable

Define the angle of the watermark. Takes values from 0 to 360. Default 45 for pattern case, otherwise 0.

model'urn:air:sdxl:model:fluxai:flux_kontext_max@1' | 'urn:air:sdxl:model:fluxai:flux_kontext_pro@1' | 'urn:air:fluxai:model:fluxai:flux-2-flex@1' | 'urn:air:fluxai:model:fluxai:flux-2-pro@1' | 'urn:air:fluxai:model:fluxai:flux-2-max@1' | 'urn:air:fluxai:model:fluxai:flux-2-pro-preview@1' | 'urn:air:seedream:model:seedream:seedream@4.0' | 'urn:air:seedream:model:seedream:seedream@4.5' | 'urn:air:seedream:model:seedream:seedream@4.7' | 'urn:air:seedream:model:seedream:seedream@5.0-lite' | 'urn:air:seedream:model:seedream:seedream@5.0-pro' | 'urn:air:seedream:model:seedream:seedream@5.0-flash' | 'urn:air:google:model:google:gemini-3-pro-image-preview@1' | 'urn:air:google:model:google:gemini-3.1-flash-image-preview@1' | 'urn:air:google:model:google:gemini-3-pro-image@1' | 'urn:air:google:model:google:gemini-3.1-flash-image@1' | 'urn:air:google:model:google:gemini-3.1-flash-lite-image@1' | 'urn:air:google:model:google:gemini-nano-banana-2.1@1' | 'urn:air:openai:model:openai:gpt-image-1@1' | 'urn:air:reve:model:reve:reve-edit@1' | 'urn:air:runway:model:runway:gen4-image-ref@1' | 'urn:air:qwen:model:qwen:qwen-image@1' | 'urn:air:qwen:model:qwen:qwen-image-2.0-pro@1' | 'urn:air:qwen:model:qwen:qwen-image-3.0@1' | 'urn:air:qwen:model:qwen:qwen-image-3.0-pro@1' | 'urn:air:picsart:model:picsart:qwen-image-edit@1' | 'urn:air:xai:model:xai:grok-imagine-image-edit@1' | 'urn:air:xai:model:xai:grok-imagine-image-2.0-edit@1' | 'urn:air:kling:model:kling:kling-v3@1' | 'urn:air:kling:model:kling:kling-image-o1@1' | 'urn:air:kling:model:kling:kling-v3-omni@1' | 'urn:air:meta:model:meta:muse-image-1.0@1' | 'urn:air:fluxai:model:fluxai:flux-3-image@1' | 'urn:air:fluxai:model:fluxai:flux-3-image-klein@1' | 'urn:air:ideogram:model:ideogram:ideogram@4.5' | 'urn:air:luma:model:luma:uni-1@1' | 'urn:air:luma:model:luma:uni-1-max@1' | 'urn:air:wan:model:wan:wan-2.6-image@1' nullable

Optionally choose a specific AI model to use for this request. If not specified, a default model will be applied. Please note that the default model may change over time as Picsart continues to improve performance and accuracy. Any change to the default will be made only after thorough testing and validation to ensure it delivers better results. If you require consistent behavior or wish to evaluate different models on your own, we recommend explicitly setting this parameter.

Example request

{
  "count": 2
}

Response

Success.

statusstring

Changes

No recorded changes to this operation across all 1 revision of this API.