# Head swap API: developer pilot

> Explore the SwapShoot developer API pilot for single and batch head swaps, scoped API keys, credits, private temporary results, and self-serve key setup.

- **URL**: https://swapshoot.com/head-swap-api
- **Last Updated**: 2026-11-02

---

SwapShoot offers a self-serve developer API. Verify your account, confirm photo permissions and create a key without approval or a credit balance. Add credits to submit two photos or queue up to 20 images with a shared head. Generation is subject to operational availability and account limits.

[Try it free](https://swapshoot.com/app)

[Read the API reference](https://swapshoot.com/developers), open the [developer console](https://swapshoot.com/app/developers), or ask for integration help through the [contact enquiry form](https://swapshoot.com/contact?type=enquiry).

## Read the published API contract

The [developer reference](https://swapshoot.com/developers) describes authentication, uploads, job status, results, limits and errors, with curl, Python and JavaScript examples. A downloadable OpenAPI specification gives developers a contract to inspect alongside the examples. Documentation is available before an individual account receives generation access; reading a reference or creating an account does not enable the runtime.

The API edits still photographs. An application supplies the scene photo and a reference containing the new head, then receives an edited result. It is the same creative task described in [the browser head-swap guide](https://swapshoot.com/head-swap), rather than a video or identity-verification service. Review the output carefully: hair, face obstructions, extreme angles and difficult lighting can still affect an edit.

## Create a key and protect your server

Sign in, verify your email, confirm adult use and photo permissions, then open the [developer console](https://swapshoot.com/app/developers). Create a server key yourself without an admin application or a credit balance. Add credits when you want to upload images or submit new jobs. Generation can be temporarily paused for operational checks; that rollout control does not turn key creation into an approval process.

Keep API keys on a server you control. The complete secret appears once when a key is created; the console later lists safe metadata and supports revocation. Choose Never expires, 30 days or 90 days; Never expires is preselected. You can edit an active key's expiry without replacing the secret. A dated choice starts from when you save; existing keys keep their expiry until edited. Expired or revoked keys cannot be restored. Do not place the secret in a public webpage, mobile application, screenshot or shared repository. Use the documented scopes, replace exposed keys, and let your backend make the authorised API calls for your users.

## Submit one image or a bounded batch

For a single swap, submit the two files and the required permissions confirmation, then poll the returned job ID. An accepted request is queued work rather than a finished image. Follow the polling interval and retry instructions in the reference. Reusing the same idempotency key and identical request returns the existing receipt; changing its content under that key produces a conflict.

For volume work, upload images individually and submit a batch manifest with one shared head and up to 20 targets. This avoids packing many images into a single request. Each photo is limited to 2 MiB, and image requests must remain below the documented combined body limit. Batch admission holds credits for every item, while later outcomes and downloads remain separate for each image.

## Budget with credits

The API uses your existing credit balance. One credit is held for each admitted image and consumed when its result has been stored for retrieval. Failed items release or restore the credit during reconciliation, so a batch may contain successful and refunded items. Free swaps, referral rewards and subscription allowances do not cover developer API jobs. See [current credit pricing](https://swapshoot.com/pricing); browser plans remain a separate offering.

All keys share your account balance and limits. Zero available credits does not revoke a key or stop existing held work, owned status/results or matching accepted replays. Check your balance and assigned limits before starting new work. A batch needs enough available credits and queue capacity for all its images before admission. Honor Retry-After when capacity or request limits are reached. A pending job has a delivery deadline, but refunds are processed through subsequent reconciliation rather than a guaranteed timer at that exact minute. Outages can delay progress and reconciliation.

## Plan for private, temporary images

Unclaimed API uploads expire after 30 minutes. Accepted inputs remain private while needed for queued processing and bounded read/send operations; cleanup is then queued. Successful API results have an 18-hour authenticated access window. Download each image before its returned expiry. Access expiry and physical deletion are different events, and failed deletion is retried. The [Privacy Policy](https://swapshoot.com/privacy) explains providers, retention and account closure.

Everyone shown must be an adult, and you need informed permission and appropriate image rights for both photos and the proposed use. An integration accepting end-user photographs must provide the relevant notices and permissions step. API access does not bypass the existing photo checks or [responsible-use rules](https://swapshoot.com/responsible-use). Website Library results keep their separate 24-hour policy; do not apply that window to API downloads.

## Evaluate throughput without assuming a discount

Queued work can help reuse a loaded GPU worker, but a customer batch is not proof that the model processes several images in one inference call. Actual GPU batching, worker lifetime and concurrency need measurements of the deployed engine. The pilot does not promise a GPU saving, a discounted batch credit price, a fixed completion time or an availability SLA.

Begin with representative photographs and inspect individual results, errors and credit outcomes before increasing volume. Share expected image sizes, traffic patterns and waiting-time requirements when asking for integration help. The published reference is the implementation guide; the browser tool remains useful for evaluating the edit itself. Choose a workflow based on observed quality and delivered results rather than an assumed best-case benchmark.

## Questions

### Is the SwapShoot API available now?

The API reference and keys are self-serve for verified, photo-confirmed accounts. New uploads and generation require credits and an operational runtime; no admin approval is required.

### Where are the API documentation and keys?

Read the developer reference at /developers, then sign in, verify your email and confirm photo permissions to create a key at /app/developers. Keys do not require credits or admin approval. The full secret is shown only when created.

### Can I submit a batch of head swaps?

The batch contract supports one shared uploaded head and up to 20 target images. Each item has its own job, result and credit outcome. This does not establish true GPU inference batching.

### How are API jobs charged?

One existing credit is held per admitted image and consumed after its result is stored for retrieval. Failed items release or restore that credit through reconciliation. Free, referral and subscription allowances are excluded.

[Try it free](https://swapshoot.com/app)

Read the [Terms](https://swapshoot.com/terms), [Privacy Policy](https://swapshoot.com/privacy) and [Responsible use policy](https://swapshoot.com/responsible-use) before uploading photos.
