> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modelslab.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Multi Reference

> Generate images from text with multiple reference images using nano banana model.

<Warning>
  Make sure you add your [s3 details](/enterprise-api/general/update-s3-details) for `nano_banana` server, so you can receive image generated in your bucket. Images generated without s3 details being added will be delete after **24hours**
</Warning>

## Request

Make a `POST` request to below endpoint and pass the required parameters in the request body.

```curl curl theme={null}
--request POST 'https://modelslab.com/api/v1/enterprise/nano_banana/multi_ref' \
```

## Body

```json json theme={null}
{
  "key": "enterprise_api_key",
  "prompt": "Replace the outfit of the girl in Image 1 with the dress shown in Image 2 while maintaining her pose, facial features, hairstyle, and the overall background naturally",
  "ref_image": [
    "https://assets.modelslab.ai/generations/5866dedb-2347-40e7-a6e0-6743271d6242.jpg",
    "https://assets.modelslab.ai/generations/02cfa5f9-58e0-4c2d-b50b-6944cf1f7e74.png"
  ],
  "samples": 1,
  "seed": 42,
  "width": 2048,
  "height": 2048,
  "negative_prompt": "blurry, low quality, distorted",
  "noise_scale_start": 7.5,
  "noise_scale_end": 7.5,
  "noise_clip_std": 2.5,
  "watermark": "no",
  "temp": "no",
  "base64": "no",
  "track_id": null,
  "webhook": null
}
```

## Body Attributes

<ParamField body="key" type="string" required placeholder="enterprise_api_key">
  Your API Key used for request authorization.
</ParamField>

<ParamField body="prompt" type="string" required>
  Text prompt describing the image you want to generate.
</ParamField>

<ParamField body="ref_image" type="array" required>
  Array of image URLs to use as reference images for multi-reference composition.
</ParamField>

<ParamField body="negative_prompt" type="string">
  Items you don't want in the image.
</ParamField>

<ParamField body="width" type="number" min="1024" max="2048" default="2048">
  Width of the generated image. Must be between 1024 and 2048 and divisible by 32.
</ParamField>

<ParamField body="height" type="number" min="1024" max="2048" default="2048">
  Height of the generated image. Must be between 1024 and 2048 and divisible by 32.
</ParamField>

<ParamField body="seed" type="number" min="0" max="4294967295">
  Seed for reproducible generation. 0 triggers a random seed.
</ParamField>

<ParamField body="samples" type="number" min="1" max="4" default="1">
  Number of images to return. Maximum: 4.
</ParamField>

<ParamField body="noise_scale_start" type="number" min="0" max="30" default="7.5">
  Starting noise scale for the generation process.
</ParamField>

<ParamField body="noise_scale_end" type="number" min="0" max="30" default="7.5">
  Ending noise scale for the generation process.
</ParamField>

<ParamField body="noise_clip_std" type="number" min="0" max="10" default="2.5">
  Noise clip standard deviation.
</ParamField>

<ParamField body="watermark" type="string" default="no">
  Whether to add a watermark to the generated image. Values: "yes" or "no".
</ParamField>

<ParamField body="temp" type="string" default="no">
  Store in temporary directory. Values: "yes" or "no".
</ParamField>

<ParamField body="base64" type="string" default="no">
  Return image as base64 encoded text. Values: "yes" or "no".
</ParamField>

<ParamField body="webhook" type="string" placeholder="https://your.webhook.url">
  A URL to receive a POST API call once the image generation is complete.
</ParamField>

<ParamField body="track_id" type="string" placeholder="Unique ID for webhook">
  A unique ID used in the webhook response to identify the request.
</ParamField>
