Before you start
- A valid Bearer token. See Authentication.
- Enough credits. The request is rejected up front with
402 insufficient_creditsif your balance is too low. Failed generations are refunded automatically. - Two publicly reachable image URLs — one for the input photo and one for the reference. The API fetches them server-side, so neither can be behind a login, a signed-URL expiry, or a firewall.
Step 1 — Submit the recreation
Request fields
Step 2 — Read the response
Credits are reserved when the job is accepted and refunded automatically if the generation fails.
Step 3 — Lock to a trained profile (optional)
Pass one or more profile IDs inprofile_ids to preserve a person’s identity in the recreated image.
Use
GET /api/v2/photo/profiles to retrieve the IDs of your trained profiles. Profiles must have status: ready. Any invalid or inactive profiles are silently filtered — if all provided profiles are invalid, the request returns 404 trained_profile_not_found.Common issues
See Errors for the full code reference.

