Skip to main content

Celebrity Look-Alike takes one portrait and returns a generated image of the closest celebrity match, with no prompt and no parameters. The photo must show a single clear, roughly frontal face, and the result carries no name or score.

From $0.05/image

Workbench

Input

Image editing
1/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP · GIF

  • 1
1 / 1 files
One clear, roughly frontal portrait with a single visible face. Group shots, profiles, sunglasses and motion blur are where the match degrades or the call fails. Send only photos of people who consented to this use. at least 1 characters
Safety checkerOff

SpicyAPI does not run a safety checker on this model. Your prompt and media go to the model as written, and the model itself decides what comes back.

Checking your account before enabling submission and pricing.

Output

Ready for a new run
passport-frontal-maleExample result

Related models and next tasks

Missing the model you need?

Tell us what to add and where you would use it. Requests go to the people who decide what gets onboarded next.

One image field, no parameters, one generated frame back

The Celebrity Look-Alike edit API takes a single portrait in image_url and returns one generated image of the closest celebrity look-alike. That field is the entire request body: there is no prompt, no seed, no resolution and no output format, and additionalProperties is false, so any other key fails validation. The response carries the image and nothing else — no name, no candidate list, no similarity score.

Open the playground
Request body
image_url (string, required) is the whole body — one property, and no prompt, seed, resolution or output format to send
Input URL
Must resolve straight to the image file, open without a login, and stay live until the task finishes
Response
One generated image. No celebrity name, no candidate list, no similarity score
Call pattern
Asynchronous: submit, keep the task id, poll to a terminal state. Task ceiling 1,800 seconds
Retention
The photo you send is deleted after 1 day, the generated result after 14 days
Consent
Every input is a real person's face. Send only portraits the subject agreed to
Schema
One property, and every other key is a validation errorThe request schema defines image_url and sets additionalProperties to false. A leftover prompt string, or a strength value copied from another endpoint's payload, comes back as a validation error naming the field, and no task is created from it. Nothing is queued, and nothing is quietly dropped on the way through.
Response
The name and the score are absent on purposeThere is no classification step behind this endpoint whose label could be passed through: it generates a frame, it does not look anyone up in a list. So the response holds no celebrity name, no ranked shortlist and no confidence value. Whatever caption your interface shows is yours to write and yours to stand behind.
Consent
The input is a real person's face on every single callNothing else in this request is sensitive; the photograph is. In practice the only safe source is the user's own portrait, taken inside your product, for this feature, with consent captured before the file reaches your storage. When you decide whether you may run it at all, judge it as strictly as you would judge face recognition — even though this endpoint recognises nobody.

What the Celebrity Look-Alike API does well

  • The entire request body is one field

    image_url is required, nothing else is accepted, and that is the complete list. There is no template to render and no dynamic field table to maintain: one string variable dropped into a JSON object covers every call this endpoint will ever take, whether the photo is a phone selfie or a studio headshot.

  • Nothing to tune means nothing to mis-tune

    No prompt to write, no seed to pin, no resolution or output format to pick. The only lever you have is the photograph itself, so when a result disappoints, the fix is a different shot — tighter crop, more even light, face squarer to the camera — rather than a sweep through parameters that do not exist.

  • One face per request, by design

    The endpoint takes one portrait and has no way of being told which person in a frame you meant, so a group shot is the wrong input rather than a harder one. Cropping to a single face before you submit removes the most common cause of a match nobody in the room agrees with.

  • One task, one image

    A finished task exposes a single generated image from platform storage, and there is no count or batch field to ask for more. Ten portraits means ten tasks, each with its own id, its own poll state and its own charge, which keeps one unusable photo from stalling the other nine.

  • Asynchronous, with a 1,800-second ceiling

    Submitting answers with a task id rather than an image, and you read that task until it reports a terminal state. There is no synchronous mode to fall back on. A task that never becomes terminal is closed at the endpoint's 1,800-second ceiling instead of hanging open indefinitely.

  • Two retention clocks to plan around

    The photo you send is deleted after 1 day and the generated result after 14 days. Neither number is an obstacle to work around — they are the reason to pull a frame you intend to keep into your own storage on the way past, and the reason a share card cannot point at our URL forever.

Who Celebrity Look-Alike is for

  • Consumer product teams

    A feature that asks the user for nothing but a photo

    There is no prompt box to design, no style picker to explain, and no failure mode where someone writes something unusable. The interaction is upload, wait, see a frame, which is why the whole feature fits behind one button and a placeholder — and why the hard design work is the consent screen in front of it.

  • Backend integration engineers

    A schema small enough to hardcode instead of templating

    With one string to populate, the request body needs no field registry, no schema-driven form generator and no validation layer of your own. What remains is plumbing: a URL that resolves to bytes, an idempotency key on the create, a poll loop, and a copy step before the retention window closes.

  • Privacy and legal review

    A decision that belongs before launch, not after

    Biometric data is separately and strictly regulated in the European Union and in several US states, and that obligation sits with you rather than with us. Settle three things in writing first: where consent is captured, how long the photo lives on your own side, and who is accountable for the words shown next to the result.

  • Teams retrofitting an existing upload flow

    Where the new obligations land in a pipeline you already run

    If portraits already move through your product, the endpoint itself is a small addition and the additions that matter are elsewhere. Consent has to be captured before the file reaches your storage, because it cannot be added afterwards, and our 1-day and 14-day clocks change nothing about your own retention policy.

How to call the Celebrity Look-Alike API

  1. Capture consent before the photo exists in your storage

    Consent sits one step earlier than the URL, and it cannot be backfilled. Decide what the subject is agreeing to, record that they agreed, and keep that record joined to the photo. This is the step that determines whether the rest of the integration is allowed to run at all.

  2. Stage a URL that returns the image file itself

    image_url is a string, so the link has to resolve straight to the image bytes and open without a login. A page the photo is embedded in is not a photo. If your storage hands out short-lived signed URLs, check the link is still valid at submit time and keep it live until the task finishes.

  3. Send the one-field body with an idempotency key

    Build the body from image_url alone, and strip anything left over from another endpoint's payload, because additionalProperties is false. Attach an Idempotency-Key: if the connection drops and your client retries, the key returns the original task instead of opening a second one with a second charge.

  4. Poll the task id until it is terminal

    The submit response carries the id and nothing else, so read the task until it reports a terminal state. Do not hold a user-facing request open waiting for it — hand the browser a placeholder and fill it in when the poll lands, and treat the 1,800-second ceiling as the outer bound of the loop.

  5. Copy the frame, then write the caption yourself

    The result URL points at platform storage and that file is deleted after 14 days, so pull anything destined for a gallery or a share card into your own bucket on the way past. The response carries nothing to label the image with, so every word next to it is a claim you are making.

Celebrity Look-Alike worked examples

  • A one-button feature inside a consumer app

    The user takes a portrait in the app, ticks a consent box that says exactly what the photo will be used for, and the client stores it in your own bucket. Your backend submits one field, shows a placeholder, and swaps in the frame when the poll returns. Parameter surface exposed to the user: none.

  • A queue of portraits that survives a dropped connection

    A batch runner sends one task per portrait, each with an Idempotency-Key derived from the stored photo's id. When a submit is interrupted and the runner retries, the key returns the original task rather than opening a second one, so a restarted batch does not pay twice for a portrait it already sent.

  • A gallery that outlives the 14-day window

    A product that lets users come back to earlier results cannot link our asset URLs, because those files are deleted after 14 days. The working shape is a copy step in the same worker that handles the terminal poll: fetch once, store in your own bucket, record your own URL, and never read ours again.

Celebrity Look-Alike API questions

There is no prompt to write and no parameter to tune, so the whole integration is inputs, plumbing and permission. Settle consent before the photo lands in your storage, because that is the one step which cannot be repaired later. Stage a URL that returns the image bytes and stays valid until the task finishes. Send the single field with an Idempotency-Key, poll the task id to a terminal state, and copy anything you intend to keep before the 14-day window closes. Then write the caption: the response hands you a picture and, deliberately, nothing to call it.