# دوبله (Dubbing)

`POST https://api.bananaai.ir/api/v1/audio/dubbing`


> ناهمگام است: مثل ویدیو، `id` را بگیرید و `GET /api/v1/tasks/:id` را هر ۵ تا ۱۰ ثانیه poll کنید. شناسه ممکن است `::` داشته باشد؛ آن را با encodeURIComponent در نشانی بگذارید. ورودی ویدیو → خروجی در `videos`؛ ورودی صوتی → خروجی در `audios`.

## درخواست

- `source_url` (required, string): نشانی عمومی https فایل صوتی یا ویدیویی؛ حداکثر 5 دقیقه و 100 مگابایت. نوع فایل خودکار تشخیص داده می‌شود.
- `target_language` (required, string): زبان مقصد.
  - examples: `fa`, `en`, `ar`, `tr`, `de`, `fr`, `es`, `it`, `pt`, `ru`, `ja`, `ko`, `zh`, `hi`, `nl`, `pl`, `sv`, `id`, `uk`, `ro`, `el`, `cs`, `da`, `fi`, `bg`, `hr`, `sk`, `ms`, `fil`, `ta`
- `source_language` (optional, string): زبان فایل ورودی یا auto (پیش‌فرض). نباید با زبان مقصد یکی باشد.
- `metadata` (optional, object): جفت‌های کلید/مقدار دلخواه که در تسک و وب‌هوک برمی‌گردد.

هزینه: به ازای هر دقیقهٔ فایل ورودی (رو به بالا، حداقل ۱ دقیقه). هنگام ثبت رزرو و فقط پس از دوبلهٔ موفق کسر می‌شود.

### نمونه curl

```bash
curl -X POST "https://api.bananaai.ir/api/v1/audio/dubbing" \
  -H "Authorization: Bearer ba_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"source_url":"https://example.com/intro-en.mp4","target_language":"fa","source_language":"en"}'
```

## پاسخ

```json
{
  "id": "dub_8f2a1c::lang_3b9e7d",
  "status": "pending",
  "type": "video",
  "model": "elevenlabs-dubbing:fa",
  "target_language": "fa",
  "source_language": "en",
  "duration_seconds": 47.3,
  "credits_reserved": 90,
  "metadata": {},
  "created_at": "2026-09-29T12:00:00.000Z"
}
```
