Body Swap
body_swap_create_imageUse only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
MCP guidance:
Starts an async image job; returns
idandcredits_charged. For finished results, callwait_for_image_projectwith that id or pollGET /v1/image-projects/{id}untilcomplete,error, orcanceled. Results includedownloads; wait helpers addexact_download_urls. Preserve signed URLs and query parameters; never append expiration metadata.For
*_file_path, use an existing Magic Hour path or the upload-URL endpoint'sfile_pathafter uploading raw bytes to its presigned URL. Direct public media URLs may work if stable and fetchable as raw bytes; hotlinked URLs can fail. Prefer the upload-URL endpoint when unsure.
Swap a person into a scene image using Nano Banana 2 Lite (640px/1k) or Nano Banana 2 (2k/4k). Credits depend on resolution (from 50 credits at 640px upward).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Give your image a custom name for easy identification. | Body Swap - dateTime |
| assets | Yes | Person image and scene image for body swap | |
| resolution | Yes | Output resolution. Determines credits charged for the run. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique ID of the image. Use it with the [Get image Project API](https://docs.magichour.ai/api-reference/image-projects/get-image-details) to fetch status and downloads. | |
| credits_charged | Yes | The amount of credits deducted from your account to generate the image. We charge credits right when the request is made. If an error occurred while generating the image(s), credits will be refunded and this field will be updated to include the refund. |