Enhance a single image.
Enhancement parameters are inferred automatically. Optionally provide a text prompt to guide the enhancement. Returns images or signed download URLs.
Documentation Index
Fetch the complete documentation index at: https://docs.photalabs.com/llms.txt
Use this file to discover all available pages before exploring further.
Request body for the enhance endpoint.
Enhances the provided input image without requiring a text prompt, aspect ratio, or resolution -- those parameters are inferred automatically.
The image can be provided as a raw base64-encoded string or a publicly accessible URL. Both formats are accepted and detected automatically.
Input image as a raw base64 string or publicly accessible URL. Supported formats: JPEG, PNG, WebP, and HEIC/HEIF. Images larger than 4K (4096px) are automatically resized; for best results, provide images at 4K or below.
Subset of your account's profiles relevant to this request. Your account holds all profiles, but only pass the ones belonging to the end-user whose photo is being edited. These profiles serve as candidates for identity preservation. The fewer profiles you pass, the easier it is for our system to determine which profiles are relevant.
Number of output images to generate (1-4).
1 <= x <= 4Output image format (png, jpg). Default: png (will change to jpg on 2026-05-08).
png, jpg Response delivery mode. 'bytes': return base64-encoded image data (default). 'urls': return signed download URLs (24-hour expiry) instead of image bytes.
bytes, urls Optional text instructions to guide the enhancement.
Successful Response
Response returned by the edit, generate, and enhance endpoints.
Dictionary mapping a known subject's profile_id to the number of times they were generated. If multiple variations are generated, this will be the aggregated count across all variations.
Output image(s) as raw base64-encoded strings. Format matches the requested output_format. Populated when response_mode='bytes', empty otherwise.
Signed download URLs for each output image (24-hour expiry). Populated when response_mode='urls', empty otherwise.