Skip to main content
Profy experts have full image capability built in: generate images from natural language, edit existing ones, and have the expert analyze and describe image content. All three run through one tool (image); only the action differs:

Generating an image

Just describe what you want in the conversation:
The expert calls the image tool and the card shows live progress.

Adjustable parameters

Beyond these three, each image model can expose its own parameters (style, quality tier, aspect ratio, and so on). That parameter set is declared by operations per model and differs between models. Resolution order is your UI setting > admin default > system default.
Passing a parameter the current model doesn’t support returns a parameter error before the model is called, so it costs nothing. Parameters that worked before can stop working after you switch models — that’s expected: the parameter set belongs to the model, not to the platform.

Editing an image

Editing is also generate, just with a reference image attached:
1

Upload the image

Drag it into the composer or use the attachment button.
2

Describe the change

Say what you want in plain language — “swap the background for a beach”, “remove the watermark in the bottom right”.
3

Review the result

What comes back is a newly generated image, not an in-place edit. The original is always preserved.
Only the first reference image is used. Operations that need two inputs (“apply A’s style to B”) require a model that natively supports multi-image input, passed through that model’s own parameters — a second entry in image_urls is discarded.

Batch generation

For several images at once (site imagery, a set of avatars), the expert uses generate_batch:
Wall-clock time is governed by concurrency: 24 images at a concurrency of 20 takes roughly two rounds, not 24× the single-image time.
Each successful image in a batch bills once; failed ones don’t bill. Six images cost exactly the single-image price × 6 — no bulk discount, and no bulk penalty either.

Image understanding

Upload an image and ask about it:
Understanding runs on a dedicated vision model, which may not be the chat model you selected — it’s set by admin config (tool_model_override_image_read).
On desktop, local images above 8 MiB are refused with a pointer to the screenshot tool instead — a Retina full-screen PNG clears that line easily. Cloud-uploaded images go through object storage URLs and aren’t subject to this.

Duration, timeouts, and retries

These numbers tell you when to consider a generation stuck:

Running in the background

An in-progress card offers a “run in background” action. Once used:
  • The conversation continues immediately; you can raise the next request
  • The image keeps generating and is delivered automatically when done
  • Refreshing the page is safe — the card recovers to its latest state
Background mode is cloud-only. Desktop has no signalling channel for it, so generation has to finish within the current turn.

Billing

The unit is per_call, computed as fixed credits × image countindependent of image complexity, prompt length, and generation time. Some models use cost_matrix instead, where resolution and quality tier change the per-call price. Per-model rates are operations data; the model selector shows the current values. The algorithm is fixed — see billing formulas.
A failed generation doesn’t bill. The usage event only fires on success, and the three internal retries still count as one. What actually costs you is “succeeded but you don’t like it” — that one already deducted. Testing your prompt on a single image before running a batch is real money saved.

Failure modes and troubleshooting

Getting better results

A good prompt visibly improves output. Cover these dimensions:
  • Subject: what to draw (a cat, a building, a person)
  • Style: the artistic register (photoreal, cartoon, watercolor, pixel art)
  • Composition: framing (close-up, wide, top-down)
  • Palette: dominant colors and mood (bright, moody, warm)
  • Detail: light direction, material, expression
“Draw something nice” is far weaker than “an orange tabby sitting on a windowsill watching the rain, watercolor, warm palette, backlit from the side”.

Where this fits

Fast UI mockups, icons, illustrations, and banners for early visual exploration. With the Sites plugin, site imagery goes through batch generation and gives you a cost estimate first.
Background swaps, color grading, blemish removal, outpainting — without opening a professional editor. Remember the result is a new image, not an in-place edit.
Iterate across turns with “brighter”, “make it retro”. Each round is a fresh charge, so iteration count is a direct cost multiplier.
Grouped imagery for articles, social posts, and decks. Batch generation gets them out in one pass and keeps the style consistent.

Billing formulas

Full algorithms for per_call and cost_matrix

Video generation

Generation billed by output duration

Limits

Every hard limit on the platform

Sites

Batch site imagery with cost estimates