There are two routes and they do different jobs. Face Swap attaches your photograph to a normal generation, so the model draws a new scene with you in it — from 25 credits on Thumblify Face, or the price of Balanced, Sharp or Ultra if you pick one of those. Add your face starts from a thumbnail already in the public library and replaces the person in it, keeping the pose, background and text — 100 credits. Both require a paid plan. Both send the photograph once, inside the generation request, and store it nowhere.
Which one you want
Swipe sideways to see every column
| Face Swap | Add your face | |
|---|---|---|
| Starts from | A title and a niche, like any generation | A thumbnail in the public library |
| Produces | A new scene with you in it | The same picture with a different person |
| Cost | 25 credits on Thumblify Face; 90, 125 or 200 on Balanced, Sharp or Ultra | 100 credits |
| Images returned | 1 | 1 |
| Plans | Basic, Pro, Elite | Basic, Pro, Elite |
| Where you start | The generator | /library, then the Add your face button |
How to use Add your face
- Open
/libraryand click a thumbnail. - Press Add your face.
- Add a photo. Nothing is sent at this point — the file is held in your own browser.
- Press Generate. This is the moment the photograph leaves the browser. It takes about 40 seconds.
- Download the result. It is saved to My Thumbnails, private.
How to use Face Swap
- In the generator, attach a photo to the Face control.
- Pick a model that accepts one: Thumblify Face, Balanced, Sharp or Ultra.
- Generate as normal. The variant count drops to 1 for this request.
Where the photograph goes
The file is kept in your browser's own storage until you press Generate. It then travels inside one request to one endpoint, is passed to the image model, and the response returns. It is not written to storage, not written to the database, and not logged. The row saved for the generation records the fixed instruction text, not the picture or anything describing it.
What it does not do
Neither route is on the Free plan. Both refuse a free account at the server, before any credits are reserved, so an attempt costs nothing.
Neither returns variants. Attaching a photograph caps the request at one image, on both routes.
Add your face does not preserve the picture pixel for pixel. The frame is drawn again. The composition, the background, the objects and the rendered text come back in place; fine texture is reproduced rather than copied.
Neither result is published. A generation with a face is written private unconditionally, whatever your Private Mode setting is.
Add your face cannot start from your own image. The source must be a thumbnail in the public library. Changing something about a library thumbnail without involving a photograph is a separate page at 50 credits.
A photograph over about 6 MB is refused rather than resized on the server, and only JPEG, PNG and WebP are accepted.
Questions people actually ask
Which is cheaper? Face Swap on Thumblify Face, at 25 credits. Add your face is 100.
Can I do this on the Free plan? No. Both are paid-plan features and the refusal happens on the server.
Is my photo stored? No. It is held in your browser until you press Generate, sent inside that one request, and not written to storage or to the database at any point.
Does it work on a thumbnail with nobody in it? Yes. Add your face handles both cases: if the source has a person, the face is replaced; if it does not, you are placed into the scene.
Why can I only get one image? A face request is capped at one image per call, so a face generation costs one model price rather than four.
What happens if the model refuses? No credits are charged. They are reserved before the call and released on every failure.
Will the result appear in the public library? No. A face generation is private unconditionally.
---
Verified against the product on 2026-08-29. The source for an article about this product is its own code:
- Add your face cost —
src/pricing.js:594(ADD_YOUR_FACE_CREDIT_COST) - Face Swap model prices —
src/pricing.js:231(MODEL_CREDIT_COST), models that accept a photo atsrc/pricing.js:377(FACE_EDIT_MODELS) - One image per face request —
src/pricing.js:408(FACE_EDIT_MAX_VARIANTS) - Paid-plan requirement —
src/planFeatures.js(faceIntegration), enforced atfunctions/api/add-your-face.js:42 - Photo size and format limits —
functions/api/add-your-face.js,src/faceUpload.js - The photo held in the browser until Generate —
src/rememberedFace.js - Face generations written private —
functions/api/generate.js:724andfunctions/lib/runTwoImageEdit.js:183 - Credits reserved before the call, released on failure —
functions/lib/runTwoImageEdit.js