جدیدسرور MCP بنانا: مستندات، قیمت‌ها و تولید مستقیم داخل Claude و Cursor ←
پلتفرم توسعه‌دهندگانبنانا AIAPI

شروع کار

احراز هویت

هر درخواست باید یک کلید API معتبر در هدر Authorization داشته باشد. در این صفحه ساختار کلید، هدر Idempotency-Key و نکات امنیتی را می‌بینید.

نسخهٔ .md

برای استفاده از API، هر درخواست باید همراه با یک کلید API معتبر ارسال شود.

هدر Authorization

bash
Authorization: Bearer ba_live_your_api_key

ساختار کلید

کلیدهای API با ba_live_ شروع می‌شوند. کلید کامل فقط همان لحظه ساخت نمایش داده می‌شود، پس آن را در جای امن نگه دارید.

احتیاط: کلید API را داخل کد frontend، مخزن عمومی یا لاگ‌های برنامه قرار ندهید. این کلید باید فقط در سرور یا محیط امن نگهداری شود.

Idempotency-Key (اختیاری)

برای endpointهای ساخت (عکس/ویدیو) می‌توانید هدر Idempotency-Key بفرستید تا اگر پاسخ را نگرفتید و دوباره همان درخواست را زدید، task دوم ساخته نشود و همان id قبلی برگردد.

bash
curl -X POST "https://api.bananaai.ir/api/v1/videos/image-to-video" \
  -H "Authorization: Bearer ba_live_your_api_key" \
  -H "Idempotency-Key: order-42-video-1" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-imagine-video","prompt":"...","image_urls":["https://example.com/a.jpg"]}'

قوانین:

  • هدر اختیاری است؛ بدون آن رفتار API مثل قبل است.
  • مقدار باید ۱ تا ۲۵۶ کاراکتر ASCII قابل چاپ باشد (بدون فاصله).
  • برای هر عملیات منطقی یکتا باشد (مثلاً UUID یا شناسه سفارش شما).
  • همان کلید + همان بدنه، در صورت موفقیت تا ۲۴ ساعت همان پاسخ را برمی‌گرداند (هدر Idempotent-Replayed: true).
  • همان کلید با بدنهٔ متفاوت: HTTP 422 با کد idempotency_key_reused.
  • اگر درخواست اول هنوز در حال اجراست: HTTP 409 با کد idempotency_key_in_progress و هدر Retry-After.

روی این مسیرها پشتیبانی می‌شود: /api/v1/images/generations، /api/v1/images/edits، /api/v1/videos/generations، /api/v1/videos/image-to-video، /api/v1/audio/speech، /api/v1/audio/transcriptions، /api/v1/audio/dubbing و /api/v1/chat/completions (فقط بدون stream).

نکات امنیتی

  • اگر کلیدی را لغو کنید، همان لحظه غیرفعال می‌شود.
  • هر کلید به حساب کاربری شما وصل است و از اعتبار همان حساب استفاده می‌کند.
  • بهتر است برای محیط توسعه و محیط اصلی، کلیدهای جداگانه بسازید.