# تولید عکس (Text to Image)

`POST https://api.bananaai.ir/api/v1/images/generations`


## درخواست

- `prompt` (required, string): متن توصیف عکس.
  - examples: `شهری آینده‌نگر در غروب`
- `model` (optional, string): مدل مورد نظر برای تولید عکس.
  - examples: `nano-banana-2`, `nano-banana-2-1`, `nano-lite`, `nano-pro`, `grok-speed`, `grok-quality`, `gpt-image-2-5-flare`, `gpt-image-2-5-sunburst`, `seedream-5-pro`, `flux-3-image`
- `image_size` (optional, string): نسبت عکس خروجی.
  - examples: `16:9`, `1:1`, `9:16`
- `resolution` (optional, string): کیفیت خروجی. بسته به مدل، گزینه‌های مختلفی در دسترس است.
  - examples: `1K`, `2K`, `4K`
- `num_images` (optional, integer): تعداد عکس‌های خروجی. فقط برای مدل‌هایی که از چند خروجی پشتیبانی می‌کنند.
  - examples: `1`, `2`, `4`

### نمونه curl

```bash
curl -X POST "https://api.bananaai.ir/api/v1/images/generations" \
  -H "Authorization: Bearer ba_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"model":"nano-banana-2","prompt":"شهری آینده‌نگر در غروب","image_size":"9:16","resolution":"2K"}'
```

### نمونه JavaScript

```javascript
const response = await fetch("https://api.bananaai.ir/api/v1/images/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer ba_live_your_api_key",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "model": "nano-banana-2",
  "prompt": "شهری آینده‌نگر در غروب",
  "image_size": "9:16",
  "resolution": "2K"
}),
});
const task = await response.json();
```

## پاسخ

```json
{
  "id": "task_abc123",
  "status": "pending",
  "model": "nano-banana-2",
  "credits_reserved": 8,
  "created_at": "2026-01-01T12:00:00.000Z"
}
```

> شناسه task در فیلد `id` است (نه `taskId`). همان مقدار را در `GET /api/v1/tasks/:id` بگذارید و هر ۳ تا ۵ ثانیه وضعیت را پیگیری کنید.
