# Images API

**POST** `https://api.oneover.com/functions/v1/api-v1-images`

**Scope:** `images`

Generate images from text prompts. The call is synchronous: the image URLs are in the response. Images do not emit job webhooks.

## Request body

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| model | string | yes | Image model ID |
| prompt | string | yes | Generation prompt |
| negative_prompt | string | no | What to avoid |
| aspect_ratio | string | no | e.g. `1:1`, `16:9` |
| resolution_tier | string | no | `1k`, `2k`, or `4k` |
| n | integer | no | How many images to generate, 1–4. Default 1. Credits are charged per image |
| store | string | no | `library` (default), `url`, or `none`. `library` saves the result on the org owner's account |
| mask | string | no | Base64-encoded mask for inpainting |
| reference_image | string | no | One reference image, base64 or a URL the API can fetch |
| reference_images | string[] | no | Additional reference images. Combined with `reference_image` |

## Response

```json
{
  "request_id": "uuid",
  "model": "flux-2-pro",
  "image_url": "https://...",
  "image_urls": ["https://..."],
  "asset_ids": ["uuid"],
  "credits_charged": 6,
  "balance": { "subscription": 14994, "anytime": 5000 }
}
```

`image_url` is the first image. `image_urls` is the full set when `n` is greater than 1. `asset_ids` is empty when `store` is not `library`.
