رابط برنامه‌نویسی هوش مصنوعی برای توسعه‌دهندگان

API هوش مصنوعی دیپ‌فا،
سازگار با OpenAI

مدل‌های GPT، Claude، Gemini، Grok و DeepSeek پشت یک آدرس و یک کلید. چون API دقیقاً همان استاندارد OpenAI است، کتابخانه‌ها و ابزارهایی که همین حالا دارید — از کتابخانهٔ رسمی پایتون و جاوااسکریپت تا افزونه‌های VS Code و Cursor — فقط با عوض کردن آدرس پایه به دیپ‌فا وصل می‌شوند و با اعتبار ریالی کار می‌کنند.

۵ فروشنده
پشت یک آدرس
OpenAI
سازگار با استاندارد
ریالی
بدون کارت ارزی
⚡ سازگار با OpenAI

یک آدرس عوض کنید، همه‌جا کار می‌کند

منظور از «سازگار با OpenAI» این است که شکل درخواست و پاسخ API ما دقیقاً همان استاندارد OpenAI است — نه اینکه فقط مدل‌های OpenAI را می‌دهیم. به همین دلیل هر برنامه، کتابخانه یا سرویسی که با OpenAI کار می‌کند — کد خودتان، سرور، اپ موبایل، اتوماسیون، افزونه‌های VS Code و Cursor — فقط با عوض کردن آدرس پایه به دیپ‌فا وصل می‌شود و مدل‌های GPT، Claude، Gemini، Grok و DeepSeek را با اعتبار ریالی اجرا می‌کند.

آدرس پایه
https://deepfa.ir/api/v1
cURL
curl https://deepfa.ir/api/v1/chat/completions \
  -H "Authorization: Bearer $DEEPFA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "messages": [{"role": "user", "content": "سلام"}]
  }'
Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_DEEPFA_KEY",
    base_url="https://deepfa.ir/api/v1",
)

answer = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "سلام"}],
)

print(answer.choices[0].message.content)
Node.js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "YOUR_DEEPFA_KEY",
  baseURL: "https://deepfa.ir/api/v1",
});

const answer = await client.chat.completions.create({
  model: "gemini-3.8-flash",
  messages: [{ role: "user", content: "سلام" }],
});

مسیرهای در دسترس

همه زیر آدرس پایه
POST /chat/completions گفت‌وگو، با استریم و فراخوانی ابزار
POST /responses API ریسپانسز، برای Codex و مدل‌های OpenAI
POST /messages API مسیجز، برای Claude Code و مدل‌های Claude
POST /messages/count_tokens شمارش توکن‌های یک درخواست Claude، رایگان
GET /models مدل‌هایی که کلید شما اجازه دارد
GET /balance موجودی و سقف‌های همین کلید
POST /embeddings تبدیل متن به بردار، برای جست‌وجو
POST /images/generations ساخت تصویر
POST /images/edits تصویر به تصویر
POST /audio/transcriptions تبدیل گفتار به متن
POST /audio/speech تبدیل متن به گفتار
POST /videos ساخت ویدیو از متن، تصویر یا ویدیو
GET /videos/{id} وضعیت ساخت ویدیو
GET /videos/{id}/content دریافت ویدیوی آماده
POST /music ساخت آهنگ با شعر و خواننده یا بی‌کلام
GET /music/{id} وضعیت ساخت و شعر آهنگ
GET /music/{id}/content دریافت آهنگ آماده
POST /3d ساخت مدل سه‌بعدی از عکس یا توضیح
GET /3d/{id} وضعیت ساخت مدل سه‌بعدی
GET /3d/{id}/content دریافت مدل سه‌بعدی آماده
POST /podcasts ساخت پادکست دو نفره یا تک‌نفره از یک سناریو
GET /podcasts/{id} وضعیت ساخت و متن پادکست
GET /podcasts/{id}/content دریافت پادکست آماده
POST /agents/runs اجرای ایجنت: پژوهش، تحلیل داده یا ساخت سایت
GET /agents/runs/{id} وضعیت اجرا و فایل‌های آن

همهٔ مسیرها از یک اعتبار API خرج می‌کنند: گفت‌وگو و تبدیل متن به بردار به‌اندازهٔ توکن، تصویر به‌ازای هر تصویر، ویدیو بر اساس مدت و کیفیت، آهنگ به‌ازای هر درخواست، مدل سه‌بعدی به‌ازای هر مدل، رونوشت به‌ازای هر دقیقه و تبدیل متن به گفتار به‌ازای هر کاراکتر. هزینهٔ هر تماس در هدر پاسخ و در صفحهٔ مصرف شما نوشته می‌شود.

ایجنت‌ها، از کد خودتان

ایجنت یک کار را خودش تا آخر می‌برد: وب را جست‌وجو می‌کند، در یک محیط ایزوله کد می‌نویسد و اجرا می‌کند، و در پایان پاسخ به‌همراه فایل‌هایی که ساخته تحویل می‌دهد — گزارش، نمودار، اکسل یا یک صفحهٔ وب کامل. هر سه ایجنت پنل با همان کلید از کد شما هم اجرا می‌شوند.

1 شروع

یک POST به /agents/runs با نام ایجنت و ورودی‌اش؛ شناسهٔ اجرا برمی‌گردد.

2 پیگیری

هر چند ثانیه GET /agents/runs/{id}؛ وضعیت از «در حال اجرا» به «تکمیل‌شده» می‌رسد.

3 تحویل

پاسخ و فهرست فایل‌ها؛ هر فایل یک آدرس دارد که با همان کلید دانلود می‌شود.

POST /api/v1/agents/runs
curl https://deepfa.ir/api/v1/agents/runs \
  -H "Authorization: Bearer $DEEPFA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agent":"research","input":{"topic":"...","depth":"standard","language":"fa"}}'

هزینهٔ اجرا در پایان از اعتبار API کم می‌شود: مصرف مدل، هر جست‌وجوی وب و نشست محیط ایزوله. اجرایی که ناموفق بماند، لغو شود یا خروجی ندهد هزینه‌ای ندارد.

قیمت هر مدل

قیمت‌ها به‌ازای یک میلیون توکن است. همان کار روی مدل‌های مختلف تا بیست برابر تفاوت دارد، پس پیش از انتخاب مدل این جدول را ببینید.

%
ارزان‌تر از قیمت رسمی سازنده‌ها
اکثر مدل‌های این جدول ارزان‌تر از قیمت رسمی سازنده‌شان عرضه می‌شوند. ستون «در برابر قیمت رسمی» صرفه‌جویی هر مدل را نشان می‌دهد.
مدل قیمت رسمی سازنده در برابر قیمت رسمی ورودی ورودی کش‌شده خروجی یک میلیون ورودی + خروجی معادل دلاری
OpenAI
text-embedding-3-small openai 0.02 دلار — 50 — 0 8,000 تومان 0.0286 دلار
text-embedding-3-large openai 0.13 دلار — 325 — 0 52,000 تومان 0.19 دلار
gpt-6-luna openai 0.60 دلار تا ۵۷٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۱۷٪ 75 7.5 375 72,000 تومان 0.26 دلار
gpt-6.1-terra openai 6.00 دلار تا ۵۷٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۱۷٪ 750 37.5 3,750 720,000 تومان 2.57 دلار
gpt-6.1-sol openai 12.00 دلار تا ۵۷٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۱۷٪ 1,500 75 7,500 1,440,000 تومان 5.14 دلار
gpt-5.3-codex openai 15.75 دلار تا ۴۳٪ ارزان‌تر 1,750 175 14,000 2,520,000 تومان 9.00 دلار
gpt-6-astra openai 60.00 دلار تا ۶۰٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۲۳٪ 7,000 700 35,000 6,720,000 تومان 24.00 دلار
Anthropic (Claude)
claude-haiku-5-5 anthropic 0.60 دلار تا ۱۴٪ ارزان‌تر 150 15 750 144,000 تومان 0.51 دلار
claude-sonnet-5-5 anthropic 12.00 دلار تا ۴۳٪ ارزان‌تر 2,000 200 10,000 1,920,000 تومان 6.86 دلار
claude-sonnet-5 anthropic 12.00 دلار تا ۳۹٪ ارزان‌تر 2,125 212.5 10,687.5 2,050,000 تومان 7.32 دلار
claude-opus-5-5 anthropic 24.00 دلار تا ۴۳٪ ارزان‌تر 4,000 200 20,000 3,840,000 تومان 13.72 دلار
claude-opus-5 anthropic 30.00 دلار تا ۴۳٪ ارزان‌تر 5,000 500 25,000 4,800,000 تومان 17.15 دلار
claude-fable-5 anthropic 60.00 دلار تا ۴۳٪ ارزان‌تر 10,000 1,000 50,000 9,600,000 تومان 34.29 دلار
claude-fable-5-1 anthropic 60.00 دلار — 25,000 625 125,000 24,000,000 تومان 85.73 دلار
Google (Gemini)
gemini-3.7-flash google 4.50 دلار تا ۵۷٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۱۷٪ 562.5 56.25 2,812.5 540,000 تومان 1.93 دلار
gemini-3.8-flash google 9.00 دلار تا ۷۹٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۵۹٪ 562.5 56.25 2,812.5 540,000 تومان 1.93 دلار
gemini-3.1-pro-preview google 14.00 دلار تا ۵۹٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۲۱٪ 1,250 125 8,750 1,600,000 تومان 5.72 دلار
gemini-4-argon google 12.00 دلار تا ۴۳٪ ارزان‌تر 2,000 200 10,000 1,920,000 تومان 6.86 دلار
xAI (Grok)
grok-4.3 xai 3.75 دلار تا ۴۳٪ ارزان‌تر 1,250 200 2,500 600,000 تومان 2.14 دلار
grok-4.6 xai 8.00 دلار تا ۴۳٪ ارزان‌تر 2,000 500 6,000 1,280,000 تومان 4.57 دلار
grok-4.7 xai 8.00 دلار تا ۴۳٪ ارزان‌تر 2,000 500 6,000 1,280,000 تومان 4.57 دلار
DeepSeek
deepseek-flash deepseek 1.50 دلار تا ۴۳٪ ارزان‌تر 300 6 1,187.5 238,000 تومان 0.85 دلار
deepseek-v4-pro deepseek 5.28 دلار — 3,250 108.25 9,875 2,100,000 تومان 7.50 دلار
Perplexity
sonar perplexity 2.00 دلار — 2,500 — 2,500 800,000 تومان 2.86 دلار
sonar-reasoning-pro perplexity 10.00 دلار — 5,000 — 20,000 4,000,000 تومان 14.29 دلار

عددهای ستون‌های ورودی و خروجی، اعتبار به‌ازای یک میلیون توکن هستند. ستون‌های تومان و دلار همان مقدار با کمترین قیمت هر اعتبار (بزرگ‌ترین بستهٔ API) است. «تا» صرفه‌جویی با ارزان‌ترین اعتبار است (بزرگ‌ترین بستهٔ API، همان ستون تومان و دلار)؛ «در همهٔ پلن‌ها دست‌کم» صرفه‌جویی با گران‌ترین اعتباری است که هر پلن یا بسته‌ای می‌فروشد. قیمت رسمی، قیمت یک میلیون توکن ورودی و یک میلیون توکن خروجی در سایت خود سازنده است.

مدل قیمت رسمی سازنده در برابر قیمت رسمی واحد اعتبار تومان دلار
تصویر
gpt-image-2.5-sunburst تصویر 0.22 دلار تا ۸۰٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۶۲٪ هر تصویر 75 12,000 0.0429
gpt-image-2.5-flare تصویر 0.22 دلار تا ۸۰٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۶۲٪ هر تصویر 75 12,000 0.0429
gpt-image-1 تصویر 0.17 دلار — هر تصویر 625 100,000 0.36
flux-3 تصویر 0.048 دلار — هر تصویر 125 20,000 0.0714
flux-3-klein تصویر 0.009 دلار — هر تصویر 25 4,000 0.0143
flux-schnell تصویر 0.003 دلار — هر تصویر 25 4,000 0.0143
nano-banana-2.1 تصویر 0.0336 دلار تا ۱۵٪ ارزان‌تر هر تصویر 50 8,000 0.0286
nano-banana-2-lite تصویر 0.0336 دلار تا ۱۵٪ ارزان‌تر هر تصویر 50 8,000 0.0286
تبدیل متن به گفتار
tts-1 تبدیل متن به گفتار — — هر ۱۰۰۰ کاراکتر 37.5 6,000 0.0214
tts-1-hd تبدیل متن به گفتار — — هر ۱۰۰۰ کاراکتر 75 12,000 0.0429
gpt-4o-mini-tts تبدیل متن به گفتار — — هر ۱۰۰۰ کاراکتر 37.5 6,000 0.0214
eleven-v4 تبدیل متن به گفتار — — هر ۱۰۰۰ کاراکتر 200 32,000 0.11
eleven-v4-turbo تبدیل متن به گفتار — — هر ۱۰۰۰ کاراکتر 100.1 16,016 0.0572
gemini-3.8-flash-lite-tts تبدیل متن به گفتار 0.0153 دلار تا ۲٪ ارزان‌تر هر ۱۰۰۰ کاراکتر 26.3 4,208 0.015
رونوشت گفتار
gpt-transcribe رونوشت گفتار — — هر دقیقه 11.25 1,800 0.0064
whisper-1 رونوشت گفتار — — هر دقیقه 15 2,400 0.0086
gpt-4o-transcribe رونوشت گفتار — — هر دقیقه 15 2,400 0.0086
gpt-4o-mini-transcribe رونوشت گفتار — — هر دقیقه 7.5 1,200 0.0043
ویدیو
kling-3-turbo-pro ویدیو 0.70 دلار — هر کلیپ ۵ ثانیه‌ای 1,425 228,000 0.81
luma-ray-32 ویدیو 0.50 دلار — هر کلیپ ۵ ثانیه‌ای، 540p 1,250 200,000 0.71
grok-imagine-15 ویدیو 0.24 دلار تا ۷۶٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۵۴٪ هر کلیپ ۳ ثانیه‌ای، 480p 100 16,000 0.0571
minimax-h3-max ویدیو 0.40 دلار تا ۲۹٪ ارزان‌تر هر کلیپ ۵ ثانیه‌ای، 768p 500 80,000 0.29
wan-30 ویدیو 0.25 دلار — هر کلیپ ۵ ثانیه‌ای، 480p 500 80,000 0.29
kling-3-pro ویدیو 0.84 دلار — هر کلیپ ۵ ثانیه‌ای 1,700 272,000 0.97
kling-o3 ویدیو 0.70 دلار — هر کلیپ ۵ ثانیه‌ای 1,750 280,000 1.00
google-veo-31 ویدیو 3.20 دلار تا ۴۴٪ ارزان‌تر هر کلیپ ۸ ثانیه‌ای، 720p 3,125 500,000 1.79
google-veo-31-fast ویدیو 1.20 دلار تا ۶۴٪ ارزان‌تر در همهٔ پلن‌ها دست‌کم ۳۱٪ هر کلیپ ۸ ثانیه‌ای، 720p 750 120,000 0.43
google-veo-31-lite ویدیو 0.40 دلار تا ۴۶٪ ارزان‌تر هر کلیپ ۸ ثانیه‌ای، 720p 375 60,000 0.21
seedance-25 ویدیو 1.10 دلار تا ۸٪ ارزان‌تر هر کلیپ ۵ ثانیه‌ای، 480p 1,775 284,000 1.01
kling-4 ویدیو 0.47 دلار — هر کلیپ ۳ ثانیه‌ای، 720p 1,075 172,000 0.61
kling-video-pro ویدیو 0.84 دلار — هر کلیپ ۵ ثانیه‌ای 1,700 272,000 0.97
kling-video-o3 ویدیو 0.70 دلار — هر کلیپ ۵ ثانیه‌ای 1,750 280,000 1.00
luma-dream-machine ویدیو 0.15 دلار — هر کلیپ ۵ ثانیه‌ای، 540p 375 60,000 0.21
wan-video-25 ویدیو 0.25 دلار — هر کلیپ ۵ ثانیه‌ای، 480p 625 100,000 0.36
bytedance-upscaler ویدیو 0.0072 دلار — هر ثانیه ویدیو، 1080p 20 3,200 0.0114
happy-horse-edit ویدیو 0.28 دلار تا ۲۹٪ ارزان‌تر هر ثانیه ویدیو، 720p 350 56,000 0.20
kling-o3-pro-edit ویدیو 0.17 دلار — هر ثانیه ویدیو 420 67,200 0.24
grok-imagine-edit ویدیو 0.06 دلار — هر ثانیه ویدیو، 480p 150 24,000 0.0857
موسیقی
suno-v6 موسیقی — — هر درخواست، ۲ آهنگ 150 24,000 0.0857
lyria-3.5 موسیقی — — هر آهنگ 250 40,000 0.14
minimax-music-2.5 موسیقی — — هر آهنگ 375 60,000 0.21
مدل سه‌بعدی
tripo-h3.1 مدل سه‌بعدی — — هر مدل، از 500 80,000 0.29
hunyuan-3d-3.1-pro مدل سه‌بعدی — — هر مدل، از 1,312.5 210,000 0.75
rodin-gen-2.5 مدل سه‌بعدی — — هر مدل، از 1,000 160,000 0.57
meshy-7.1 مدل سه‌بعدی — — هر مدل، از 3,000 480,000 1.71
trellis-2 مدل سه‌بعدی — — هر مدل، از 750 120,000 0.43

تصویر، ویدیو، گفتار و رونوشت هم از همان اعتبار API خرج می‌کنند و ستون‌های تومان و دلار با کمترین قیمت هر اعتبار (بزرگ‌ترین بستهٔ API) حساب شده‌اند.

در ویرایشگر خودتان

VS Code — Continue
{
  "models": [{
    "title": "DeepFA",
    "provider": "openai",
    "model": "claude-sonnet-5",
    "apiKey": "YOUR_DEEPFA_KEY",
    "apiBase": "https://deepfa.ir/api/v1"
  }]
}
VS Code — GitHub Copilot
"github.copilot.chat.customOAIModels": [{
  "modelId": "claude-sonnet-5",
  "displayName": "DeepFA Claude Sonnet 5",
  "endpoint": "https://deepfa.ir/api/v1",
  "apiKey": "YOUR_DEEPFA_KEY"
}]
Cursor
# Settings → Models → OpenAI API

Base URL:  https://deepfa.ir/api/v1
API Key:   YOUR_DEEPFA_KEY
Model:     gpt-6.1-sol  /  claude-sonnet-5-5
Cline / Roo Code / Kilo Code
Provider:  OpenAI Compatible

Base URL:  https://deepfa.ir/api/v1
API Key:   YOUR_DEEPFA_KEY
Model ID:  claude-sonnet-5
Claude Code
// ~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://deepfa.ir/api",
    "ANTHROPIC_AUTH_TOKEN": "YOUR_DEEPFA_KEY",
    "ANTHROPIC_MODEL": "claude-sonnet-5-5"
  }
}
Codex
# ~/.codex/config.toml
model = "gpt-6.1-sol"
model_provider = "deepfa"

[model_providers.deepfa]
name = "DeepFA"
base_url = "https://deepfa.ir/api/v1"
env_key = "DEEPFA_API_KEY"
wire_api = "responses"
کلید API بگیرید

کلیدها را از پیشخوان خودتان می‌سازید و هر زمان باطل می‌کنید. هر کلید را می‌توانید به سقف مصرف روزانه و ماهانه، نشانی‌های IP، مسیرها و مدل‌های مشخص و یک تاریخ پایان محدود کنید یا موقتاً خاموشش کنید.

یک دروازهٔ سازگار با OpenAI، برای توسعه‌دهندگان و کسب‌وکارها

API هوش مصنوعی دیپ‌فا یک دروازهٔ سازگار با استاندارد OpenAI است: همان مسیر /v1/chat/completions، همان بدنهٔ درخواست، همان شکل پاسخ و همان قالب خطا. یعنی هر کتابخانه، افزونه یا سرویسی که امروز با OpenAI کار می‌کند، تنها با عوض کردن آدرس پایه و کلید به دیپ‌فا وصل می‌شود — بدون بازنویسی کد، بدون SDK اختصاصی و بدون یاد گرفتن یک قرارداد جدید. پشت این یک آدرس، مدل‌های GPT، Claude، Gemini، Grok و DeepSeek قرار دارند و عوض کردن مدل فقط عوض کردن یک رشته در فیلد model است. Claude Code و Codex هم که شکل‌های دیگری حرف می‌زنند، از مسیرهای /v1/messages و /v1/responses با همین کلید وصل می‌شوند.

علاوه بر گفت‌وگو، تبدیل متن به بردار برای جست‌وجوی معنایی و RAG، ساخت تصویر با GPT Image، FLUX و Nano Banana، ساخت ویدیو، تبدیل گفتار به متن و تبدیل متن به گفتار هم از همین آدرس در دسترس‌اند. استریم به‌صورت SSE، فراخوانی ابزار، خروجی ساختاریافته و ارسال تصویر همگی پشتیبانی می‌شوند و دقیقاً همان‌طور رفتار می‌کنند که در سرویس اصلی انتظار دارید. هزینهٔ هر تماس در هدر پاسخ برمی‌گردد و در صفحهٔ API پنل کاربری، به تفکیک کلید و مدل ثبت می‌شود؛ درخواست‌های ناموفق هم ثبت می‌شوند تا هیچ‌وقت ندانید اعتبارتان کجا رفته است.

برای توسعه‌دهندهٔ ایرانی مهم‌ترین تفاوت، پرداخت است: اعتبار را با درگاه داخلی و به ریال می‌خرید، کارت بین‌المللی لازم نیست و اعتبار خریداری‌شده تاریخ انقضا ندارد. روی هر کلید می‌توانید سقف اعتبار روزانه و ماهانه، سقف تعداد درخواست در دقیقه، فهرست مدل‌ها و مسیرهای مجاز، نشانی‌های IP مجاز و تاریخ پایان بگذارید یا آن را موقتاً خاموش کنید، پس کلیدی که به یک اسکریپت یا همکارتان می‌دهید نمی‌تواند کل حساب را خالی کند و در صورت لو رفتن با یک کلیک باطل می‌شود. پیش از تمام شدن اعتبار API هم ایمیل هشدار می‌گیرید.

ویژگی‌های کلیدی

چرا API هوش مصنوعی دیپ‌فا؟

طراحی‌شده با تمرکز بر نیاز توسعه‌دهندگان — ساده برای شروع، امن در استفاده و مقیاس‌پذیر برای رشد.

⚡

سازگار با OpenAI

همان مسیرها، همان بدنهٔ درخواست، همان شکل پاسخ. کتابخانهٔ رسمی OpenAI و هر ابزاری که با آن کار می‌کند، فقط با عوض کردن آدرس پایه به دیپ‌فا وصل می‌شود؛ Claude Code و Codex هم از مسیرهای مخصوص خودشان.

🔀

یک کلید برای همهٔ فروشنده‌ها

GPT، Claude، Gemini، Grok و DeepSeek پشت یک کلید و یک آدرس. عوض کردن مدل یعنی عوض کردن یک رشته در درخواست، نه عوض کردن کتابخانه و حساب و صورت‌حساب.

🌊

استریم، ابزار و ورودی تصویری

پاسخ کلمه‌به‌کلمه با SSE، فراخوانی ابزار (function calling)، خروجی ساختاریافته و ارسال تصویر — همه بدون تغییر در کدی که از قبل نوشته‌اید.

🛡️

سقف خرج روی هر کلید

برای هر کلید سقف روزانه و ماهانه، محدودیت درخواست در دقیقه، مدل‌ها و مسیرهای مجاز، نشانی‌های IP و تاریخ پایان تعیین کنید. کلیدی که به یک اسکریپت می‌دهید نمی‌تواند کل حساب را خالی کند.

📊

هزینهٔ هر تماس، جداگانه

هزینهٔ هر درخواست در هدر پاسخ برمی‌گردد و در صفحهٔ مصرف شما به تفکیک کلید و مدل ثبت می‌شود — خطاها هم. اعتبار برای شما یک چاه سیاه نیست.

💳

پرداخت ریالی، بدون کارت ارزی

اعتبار را با درگاه داخلی می‌خرید و اعتبار خریداری‌شده تاریخ انقضا ندارد. نه کارت بین‌المللی لازم است، نه تحریم دور زدن.

📦

هزاران درخواست در یک فایل

با Batch API هزاران تیتر، خلاصه یا ترجمه را در یک فایل JSONL بفرستید؛ در پس‌زمینه و ظرف یک روز اجرا می‌شوند و پاسخ‌ها را در یک فایل تحویل می‌گیرید. نه محدودیت سرعتی را باید مدیریت کنید، نه تلاش دوباره را؛ همان شکل Batch API در OpenAI.

🔔

خبر پایان کار با Webhook

به‌جای اینکه مدام بپرسید ویدیو، آهنگ، مدل سه‌بعدی، پادکست، اجرای ایجنت یا batch آماده شده یا نه، یک آدرس https بدهید تا با پایان هر کار یک رویداد امضاشده به آن ارسال شود (استاندارد Standard Webhooks، همانی که OpenAI استفاده می‌کند).

🏷️

برچسب مصرف و حساب تیمی

با هدر X-DeepFA-Tag هر درخواست را به یک پروژه، بخش یا مشتری نسبت دهید تا مصرف به همان تفکیک دیده شود. صاحب تیم هم می‌تواند API را برای اعضا باز کند تا کلیدهایشان از اعتبار تیم و در سقف ماهانهٔ هر عضو خرج کنند.

فهرست مسیرهای API

مسیرهایی که می‌توانید صدا بزنید

همه زیر یک آدرس پایه، همه با همان کلید، همه با همان شکل درخواست و پاسخی که از OpenAI می‌شناسید؛ فقط مسیر messages شکل Anthropic را دارد.

🔒 هر مسیر کلید API شما را در هدر Authorization می‌خواهد — دقیقاً همان طور که برای OpenAI می‌فرستید
مرجع API

هر مسیر چه می‌گیرد و چه برمی‌گرداند

آنچه فراتر از شکل استاندارد OpenAI است: قابلیت‌های چت، پارامترهای تصویر و صدا، کارهای ویدیو، فهرست مدل‌ها، موجودی، و همهٔ خطاها و محدودیت‌ها.

فراخوانی تابع (tools)

ابزارها را به شکل OpenAI بفرستید. اگر مدل بخواهد ابزاری را صدا بزند، پاسخ به‌جای متن tool_calls دارد؛ تابع را خودتان اجرا کنید و نتیجه را با نقش tool و همان tool_call_id برگردانید تا مدل پاسخ نهایی را بنویسد. در همهٔ مدل‌های متنی کار می‌کند به‌جز Sonar که خودش در وب جست‌وجو می‌کند و ابزار نمی‌گیرد.

{
  "model": "gpt-6-luna",
  "messages": [{"role": "user", "content": "What is the weather in Tehran?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Current weather for a city",
      "parameters": {
        "type": "object",
        "properties": {"city": {"type": "string"}},
        "required": ["city"]
      }
    }
  }],
  "tool_choice": "auto"
}
{"role": "tool", "tool_call_id": "call_8f2...", "content": "{\"temp_c\": 21}"}

خروجی JSON (response_format)

با {"type": "json_object"} پاسخ یک JSON معتبر است؛ با json_schema دقیقاً همان ساختاری که تعریف می‌کنید برمی‌گردد.

{
  "model": "gpt-6-luna",
  "messages": [{"role": "user", "content": "Three colours, as JSON."}],
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "colours",
      "schema": {
        "type": "object",
        "properties": {"colours": {"type": "array", "items": {"type": "string"}}},
        "required": ["colours"]
      }
    }
  }
}

ورودی تصویر و میزان استدلال

برای فرستادن تصویر، content را آرایه کنید و image_url بدهید: یک آدرس https عمومی، یا data URL به‌صورت base64 (data:image/png;base64,…). مدل‌های استدلالی (GPT-5، GPT-6، سری o و Gemini) reasoning_effort را با low، medium یا high می‌پذیرند؛ اگر نفرستید، پیش‌فرض خود مدل به کار می‌رود (در GPT-6: medium). مدل‌های GPT-6 و سری o پارامترهای temperature و top_p را نمی‌پذیرند.

{
  "model": "gpt-6-luna",
  "reasoning_effort": "low",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "What is in this picture?"},
      {"type": "image_url", "image_url": {"url": "https://example.com/cat.png"}}
    ]
  }]
}

کش پرامپت

بخشی از پرامپت که مدل قبلاً دیده (مثلاً پیام سیستمی ثابت) با نرخ «ورودی کش‌شده» جدول قیمت حساب می‌شود و تعدادش در usage.prompt_tokens_details.cached_tokens برمی‌گردد. در GPT، Gemini و DeepSeek خودکار است؛ در Claude مقدار cache_control با نوع ephemeral را روی پیام یا کل درخواست بگذارید (در /v1/messages همان نشانه‌های Claude Code بی‌تغییر می‌روند).

POST /v1/messages

شکل API مسیجز Anthropic، برای مدل‌های Claude؛ همان مسیری که Claude Code با ANTHROPIC_BASE_URL برابر https://deepfa.ir/api صدا می‌زند. بدنه بی‌تغییر فرستاده می‌شود: system به‌صورت بلوک، cache_control، thinking و ابزارها، و هدرهای anthropic-beta و anthropic-version هم منتقل می‌شوند. استریم رویداد به رویداد و به همان ترتیب برمی‌گردد و خطاها به شکل خطای Anthropic است. شناسه‌های تاریخ‌دار مثل claude-haiku-4-5-20251001 و پسوند [1m] هم پذیرفته می‌شوند.

چند چیز برداشته می‌شود، چون هر کدام بیرون از نرخ توکن جدول قیمت هزینه دارد: speed (حالت سریع)، inference_geo و service_tier، و ابزارهای سمت سرور جست‌وجوی وب و اجرای کد که Anthropic به‌ازای هر بار استفاده حساب می‌کند. POST /v1/messages/count_tokens توکن‌های یک درخواست را بدون هزینه می‌شمارد. مدل‌های غیر Claude از /v1/chat/completions در دسترس‌اند.

POST /v1/responses

شکل API ریسپانسز OpenAI، برای مدل‌های OpenAI؛ تنها شکلی که Codex با آن کار می‌کند (wire_api = "responses"). آیتم‌های input، آیتم‌های استدلال با محتوای رمزشده‌شان، و ابزارهای function، custom و shell بی‌تغییر منتقل می‌شوند. پاسخی که ذخیره می‌شود (پیش‌فرض، مگر "store": false) سی روز نگه داشته می‌شود و previous_response_id آن فقط برای همان حساب کار می‌کند. پارامتر conversation پشتیبانی نمی‌شود.

برداشته می‌شود: service_tier، background و ابزارهای میزبانی‌شده‌ای که به‌ازای هر استفاده هزینه دارند (جست‌وجوی وب و فایل، code interpreter، ساخت تصویر، computer use و MCP راه دور).

نام مدل‌های بازنشسته

درخواستی که نام مدلی جایگزین‌شده را دارد، مثل gpt-5.6-luna، با مدل جانشین (gpt-6-luna) و به قیمت آن پاسخ داده می‌شود و صاحب کلید یک بار با ایمیل و اعلان پنل خبردار می‌شود. فهرست این نام‌ها در زبانهٔ مدل‌های صفحهٔ API است.

POST /v1/images/generations — تصویرها به‌صورت b64_json (PNG با base64) برمی‌گردند و فقط برای تصویرهایی که واقعاً ساخته شده‌اند هزینه کم می‌شود.

فیلدتوضیح
modelپیش‌فرض gpt-image-2.5-sunburst. همچنین gpt-image-2.5-flare، gpt-image-1، flux-3، flux-3-klein، flux-schnell، nano-banana-2.1 و nano-banana-2-lite.
promptالزامی؛ توصیف تصویر.
nتعداد تصویر، ۱ تا ۱۰ (پیش‌فرض ۱).
sizeمثل 1024x1024، 1536x1024 یا 1024x1536. در FLUX، GPT Image 2.5 و Nano Banana به نزدیک‌ترین نسبت تصویری که مدل می‌سازد تبدیل می‌شود.
quality, background, output_formatبرای gpt-image-1 همان‌طور که OpenAI تعریف کرده.
{
  "model": "flux-schnell",
  "prompt": "A lighthouse at dawn, watercolour",
  "n": 2,
  "size": "1536x1024"
}

POST /v1/images/edits

تصویر به تصویر، به شکل multipart/form-data مثل OpenAI: یک تا چهار تصویر به‌همراه توضیح می‌فرستید و تصویر تازه به‌صورت b64_json برمی‌گردد. قیمت هر تصویر همان قیمت مدل است؛ در مدل‌هایی که سرویس‌دهنده برای هر تصویر ورودی هزینه می‌گیرد، هر تصویر ورودی مبلغ credits_per_input_image را در GET /v1/models اضافه می‌کند.

فیلدتوضیح
image / image[]الزامی؛ یک تا چهار تصویر PNG، JPEG یا WebP (در nano-banana-2-lite تا سه)، هر کدام تا ۱۰ مگابایت (به حدود یک مگاپیکسل کوچک می‌شوند).
modelپیش‌فرض gpt-image-2.5-sunburst. همچنین gpt-image-2.5-flare، nano-banana-2.1، nano-banana-2-lite، flux-3 و flux-3-klein.
promptالزامی؛ بگویید با تصاویر چه کند.
nتعداد تصویر، ۱ تا ۱۰ (پیش‌فرض ۱).
sizeاختیاری؛ مثل 1024x1024، یا auto برای هم‌شکل تصویر ورودی.
curl https://deepfa.ir/api/v1/images/edits \
  -H "Authorization: Bearer $DEEPFA_API_KEY" \
  -F model=flux-3 \
  -F "image[]=@product.png" \
  -F "prompt=Place this bottle on a marble counter in soft morning light"

POST /v1/audio/speech

فایل صوتی را مستقیم برمی‌گرداند و به‌ازای هر کاراکتر هزینه دارد.

فیلدتوضیح
modelپیش‌فرض tts-1. همچنین tts-1-hd، gpt-4o-mini-tts، و eleven-v4 و eleven-v4-turbo (سریع‌تر) که فارسی و بیش از نود زبان دیگر را می‌خوانند. و gemini-3.8-flash-lite-tts که فارسی و انگلیسی و زبان‌های دیگر را با هفتاد صدا می‌خواند.
inputالزامی؛ متن، حداکثر ۴۰۹۶ کاراکتر در هر درخواست.
voiceبرای مدل‌های OpenAI یکی از alloy، ash، ballad، coral، echo، fable، nova، onyx، sage، shimmer، verse (پیش‌فرض alloy). برای مدل‌های eleven نام یک صدای ElevenLabs، مثل Rachel.
response_formatmp3 (پیش‌فرض), opus, aac, flac, wav, pcm — مدل‌های eleven همیشه mp3 برمی‌گردانند.
voice (Gemini)برای gemini-3.8-flash-lite-tts یکی از هفتاد صدای Gemini مثل Fola (پیش‌فرض)، Zephyr، Kore، Puck یا Charon.
speedسرعت خواندن (اختیاری).
instructionsلحن و شیوهٔ خواندن، برای gpt-4o-mini-tts و gemini-3.8-flash-lite-tts.
languageزبان متن، برای مدل‌های eleven (اختیاری).

POST /v1/audio/transcriptions

به شکل multipart/form-data؛ به‌ازای هر دقیقهٔ شروع‌شده هزینه دارد.

فیلدتوضیح
fileالزامی؛ فایل صوتی یا ویدیویی، حداکثر ۲۵ مگابایت.
modelپیش‌فرض gpt-transcribe. همچنین gpt-4o-transcribe، gpt-4o-mini-transcribe و whisper-1 تا ۷ اسفند ۱۴۰۵ که OpenAI خاموششان می‌کند؛ از آن روز درخواست‌هایشان با gpt-transcribe انجام می‌شود.
languages[], keywords[], promptاختیاری در gpt-transcribe: زبان‌های احتمالی صدا (مثلاً fa)، واژه‌هایی که انتظار شنیدنشان را دارید، و توضیح موضوع. language تکی هم پذیرفته و به languages[] تبدیل می‌شود.
language, temperatureاختیاری در مدل‌های قدیمی، همان‌طور که OpenAI تعریف کرده.
response_formatjson (پیش‌فرض) یا text؛ در whisper-1 (تا ۷ اسفند ۱۴۰۵) همچنین srt، vtt و verbose_json.

ساخت ویدیو چند دقیقه طول می‌کشد، پس یک «کار» است: POST /v1/videos کار را شروع می‌کند و بی‌درنگ شناسه‌اش را با وضعیت queued برمی‌گرداند؛ GET /v1/videos/{id} را هر چند ثانیه بخوانید تا وضعیت از in_progress به completed (با url فایل) یا failed برسد؛ GET /v1/videos/{id}/content به فایل آماده هدایت می‌کند (کد ۳۰۲) و اگر آماده نباشد ۴۰۹ می‌دهد. هزینه هنگام پذیرش کار کم می‌شود و اگر کار ناموفق شود، کامل برمی‌گردد.

فیلدتوضیح
modelالزامی؛ از جدول پایین.
promptالزامی (به‌جز bytedance-upscaler).
image_urlآدرس عمومی https یک تصویر، برای متحرک کردن آن.
video_urlآدرس عمومی https یک ویدیو، برای ویرایش آن. image_url و video_url را با هم نفرستید.
secondsمدت کلیپ، یکی از مدت‌های مدل در جدول پایین (پیش‌فرض ۵). برای ویرایش لازم نیست: مدت از خود ویدیوی ورودی خوانده می‌شود و باید 1 تا 120 ثانیه باشد.
resolutionمثل 480p، 720p یا 1080p. اگر نفرستید یا مدل آن را نسازد، وضوح پیش‌فرض مدل به کار می‌رود. قیمت با وضوح و مدت تغییر می‌کند.
aspect_ratio16:9 (پیش‌فرض)، 9:16، یا 1:1 در مدل‌هایی که آن را می‌سازند.
audioساخت صدا در مدل‌هایی که صدا می‌سازند (پیش‌فرض true).
fps, keep_audio, audio_settingفقط برای ویرایش: فریم‌ریت bytedance-upscaler (پیش‌فرض 30)، نگه‌داشتن صدای ویدیوی ورودی (پیش‌فرض true)، و تنظیم صدا در happy-horse-edit.

مدل‌ها و مدت‌های مجاز

مدلنوع کارمدت (ثانیه)
kling-3-turbo-pro متن به ویدیو 5، 10
luma-ray-32 متن به ویدیو 5، 10
grok-imagine-15 متن به ویدیو، تصویر به ویدیو (image_url) 3، 5، 10، 15
minimax-h3-max متن به ویدیو 5، 10، 15
wan-30 متن به ویدیو 5، 10، 15
kling-3-pro متن به ویدیو 5، 10
kling-o3 متن به ویدیو 5، 10
google-veo-31 متن به ویدیو، تصویر به ویدیو (image_url) 4، 6، 8
google-veo-31-fast متن به ویدیو، تصویر به ویدیو (image_url) 4، 6، 8
google-veo-31-lite متن به ویدیو، تصویر به ویدیو (image_url) 4، 6، 8
seedance-25 متن به ویدیو، تصویر به ویدیو (image_url) 5، 10، 15، 20، 30
kling-4 متن به ویدیو، تصویر به ویدیو (image_url) 3، 5، 10، 15، 20، 30
kling-video-pro تصویر به ویدیو (image_url) 5، 10
kling-video-o3 تصویر به ویدیو (image_url) 5، 10
luma-dream-machine تصویر به ویدیو (image_url) 5
wan-video-25 تصویر به ویدیو (image_url) 5، 10
bytedance-upscaler ویرایش ویدیو (video_url) مدت ویدیوی ورودی
happy-horse-edit ویرایش ویدیو (video_url) مدت ویدیوی ورودی
kling-o3-pro-edit ویرایش ویدیو (video_url) مدت ویدیوی ورودی
grok-imagine-edit ویرایش ویدیو (video_url) مدت ویدیوی ورودی
curl https://deepfa.ir/api/v1/videos \
  -H "Authorization: Bearer $DEEPFA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "grok-imagine-15",
  "prompt": "A paper boat sailing down a rainy street",
  "seconds": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9"
}'
{
  "id": "t_48213",
  "object": "video",
  "model": "grok-imagine-15",
  "kind": "text_to_video",
  "status": "queued",
  "seconds": 5,
  "created_at": 1790443124
}

پادکست یک «کار» است، مثل ویدیو: POST /v1/podcasts سناریو را می‌گیرد و بی‌درنگ شناسه‌ای مثل p_123 برمی‌گرداند؛ با GET /v1/podcasts/{id} وضعیت را بپرسید تا completed شود و با GET /v1/podcasts/{id}/content فایل صوتی را بگیرید (?what=transcript متن و ?what=srt زیرنویس). صدا با مدل gemini-3.8-flash-lite-tts ساخته می‌شود؛ هزینه فقط یک‌بار و پس از ساخت کامل، به‌اندازهٔ کاراکترهای خوانده‌شده و با همان نرخ /v1/audio/speech برای این مدل است، و اگر ساخت ناموفق باشد چیزی کم نمی‌شود. نوشتن سناریو با خود شماست (برای نوشتن آن از /v1/chat/completions استفاده کنید).

فیلدتوضیح
turnsسناریو به‌صورت فهرستی از {speaker: ۱ تا ۴, text, style}. style اختیاری و انگلیسی است، مثل warmly یا quietly amazed. یا به‌جای آن script را بفرستید.
scriptسناریو به‌صورت متن با خطوطی مثل «سارا: سلام». نام‌ها همان names هستند، یا برچسب‌هایی مثل Speaker 1 و گوینده ۲.
voices, namesتا چهار صدا و نام میزبان‌ها (پیش‌فرض Laomedeia، Alnilam، Sulafat و Puck). صداها همان صداهای Gemini هستند. با بیش از دو میزبان، صداها دو به دو ضبط می‌شوند.
languageکد زبان، مثل fa، en، ar، tr … (پیش‌فرض en).
kind, natural, titlekind برابر solo یعنی یک گوینده؛ natural گفتگوی طبیعی با مِن‌مِن و مکث؛ title عنوان قسمت.
برچسب‌های صداداخل متن می‌توانید <laugh>، <sigh>، <gasp>، <short pause> و <long pause> بنویسید؛ معادل فارسی‌شان هم کار می‌کند: <خنده>، <آه>، <مکث کوتاه>، <مکث بلند>.

حداکثر ۱۲٬۰۰۰ کاراکتر در هر پادکست (حدود بیست دقیقه) و سه پادکستِ هم‌زمان برای هر حساب. پادکست‌هایی که با API ساخته شوند در فهرست ابزار «پادکست هوش مصنوعی» هم دیده می‌شوند.

curl https://deepfa.ir/api/v1/podcasts \
  -H "Authorization: Bearer $DEEPFA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"en","voices":["Kore","Puck"],"turns":[{"speaker":1,"text":"Hi everyone, welcome! "},{"speaker":2,"text":"Glad to be here.","style":"warmly"}]}'
{"id":"p_123","object":"podcast","model":"gemini-3.8-flash-lite-tts","status":"queued","progress":0}

مدل سه‌بعدی هم یک «کار» است: POST /v1/3d یک عکس (image_url)، چند عکس از یک چیز از زاویه‌های مختلف (image_urls) یا یک توضیح (prompt) می‌گیرد و شناسه‌ای مثل 3d_123 برمی‌گرداند؛ GET /v1/3d/{id} را بپرسید تا completed شود و فایل را از GET /v1/3d/{id}/content بگیرید (?format=glb پیش‌فرض؛ obj، fbx، usdz یا stl اگر موتور ساخته باشد، در فهرست files). ساخت معمولاً یک تا چند دقیقه طول می‌کشد. هزینه وقتی سرویس‌دهنده کار را بپذیرد کم می‌شود و اگر ساخت ناموفق باشد به اعتبار API برمی‌گردد. مدل‌هایی که با API ساخته شوند در «استودیو سه‌بعدی» حساب شما هم دیده می‌شوند.

فیلدتوضیح
modeltripo-h3.1, hunyuan-3d-3.1-pro, rodin-gen-2.5, meshy-7.1, trellis-2
image_url, image_urlsآدرس عمومی http(s) عکس یا data: URI (PNG، JPEG یا WebP، تا ۱۵ مگابایت). چند عکس یعنی یک چیز از چند طرف: اول جلو، بعد پشت، چپ و راست (Hunyuan بالا، پایین و دو گوشهٔ جلو را هم می‌گیرد).
promptتوضیح آنچه ساخته شود، تا ۱۰۰۰ کاراکتر؛ برای ساخت از متن (trellis-2 فقط از عکس می‌سازد).
character, animationفقط meshy-7.1: کاراکتر اسکلت‌بندی‌شده از یک عکس یا توضیح؛ animation شمارهٔ حرکت است (مثل 405 رقص شاد، 30 راه رفتن، 28 دست تکان دادن، 16 دویدن) و فایل GLB متحرک برمی‌گردد.
texture, geometrytripo-h3.1: texture برابر none، standard یا hd و geometry برابر standard یا detailed. meshy-7.1: texture برابر true یا false (بدون رنگ برای چاپ سه‌بعدی).
pbr, tier, hd, lowpoly, resolutionpbr: مواد واقعی در hunyuan-3d-3.1-pro. tier و hd: کیفیت rodin-gen-2.5 (Gen-2.5-Medium، Gen-2.5-High، Gen-2.5-Extreme-High؛ hd افزونهٔ HighPack). lowpoly: مدل کم‌حجم برای بازی در meshy-7.1. resolution: 512، 1024 یا 1536 در trellis-2.
titleنام مدل در حساب شما (اختیاری).
مدلاز یک عکساز چند عکساز توضیح
tripo-h3.1 750 اعتبار 750 اعتبار (تا 4) 500 اعتبار
hunyuan-3d-3.1-pro 1,313 اعتبار 1,688 اعتبار (تا 8) 1,313 اعتبار
rodin-gen-2.5 1,000 اعتبار 1,000 اعتبار (تا 5) 1,000 اعتبار
meshy-7.1 3,000 اعتبار 3,000 اعتبار (تا 4) 3,000 اعتبار
trellis-2 750 اعتبار — —

قیمت‌ها با تنظیمات پیش‌فرض هر مدل است؛ گزینه‌هایی مثل texture: "hd"، hd: true یا کاراکتر متحرک به آن اضافه می‌کنند و هزینهٔ دقیق هر درخواست در هدر x-deepfa-credits برمی‌گردد.

curl https://deepfa.ir/api/v1/3d \
  -H "Authorization: Bearer $DEEPFA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"tripo-h3.1","image_url":"https://example.com/chair.jpg","texture":"hd"}'
{"id":"3d_123","object":"3d_model","model":"tripo-h3.1","status":"completed",
 "files":[{"format":"glb","label":"GLB: web, AR and most 3D apps","url":"https://deepfa.ir/api/v1/3d/3d_123/content?format=glb"}],
 "preview_image_url":"..."}

برای هزاران درخواست، به شکل Batch API در OpenAI و با همان کتابخانه‌ها: درخواست‌ها را در یک فایل JSONL بنویسید (هر خط یک درخواست)، با POST /v1/files و purpose=batch بالا بفرستید، با POST /v1/batches اجرا را شروع کنید، GET /v1/batches/{id} را بپرسید تا وضعیت completed شود و پاسخ‌ها را از GET /v1/files/{output_file_id}/content بگیرید. درخواست‌ها ظرف ۲۴ ساعت در پس‌زمینه اجرا می‌شوند، بدون محدودیت سرعت کلید، و هر کدام دقیقاً به قیمت همان درخواست زنده و با سقف‌های روزانه و ماهانهٔ کلید حساب می‌شود.

{"custom_id": "news-1", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-6-luna", "messages": [{"role": "user", "content": "..."}]}}
{"custom_id": "news-2", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-6-luna", "messages": [{"role": "user", "content": "..."}]}}
curl https://deepfa.ir/api/v1/files -H "Authorization: Bearer $DEEPFA_API_KEY" -F purpose=batch -F file=@requests.jsonl
curl https://deepfa.ir/api/v1/batches -H "Authorization: Bearer $DEEPFA_API_KEY" -H "Content-Type: application/json" \
  -d '{"input_file_id": "file-...", "endpoint": "/v1/chat/completions", "completion_window": "24h"}'
نکتهتوضیح
endpoint/v1/chat/completions یا /v1/embeddings؛ همهٔ خط‌های فایل باید همین url را داشته باشند.
custom_idالزامی و یکتا در هر فایل؛ پاسخ هر خط با همین شناسه برمی‌گردد، چون ترتیب تحویل تضمین نیست.
بررسی فایلاگر خطی نامعتبر باشد (JSON نادرست، مدل ناموجود، custom_id تکراری)، batch با وضعیت failed و فهرست خطاها در errors برمی‌گردد و هیچ درخواستی اجرا نمی‌شود.
نتیجهoutput_file_id پاسخ‌های موفق و error_file_id درخواست‌های ناموفق را دارد؛ هر خط شامل custom_id، response.status_code و response.body است. request_counts، usage و credits خلاصهٔ کار و هزینه‌اند.
لغو و انقضاPOST /v1/batches/{id}/cancel درخواست‌های اجرانشده را کنار می‌گذارد و آنچه انجام شده در فایل می‌ماند. آنچه ظرف ۲۴ ساعت اجرا نشود با کد batch_expired در فایل خطاها می‌آید و هزینه‌ای ندارد.
محدودیتحداکثر ۵۰٬۰۰۰ درخواست در هر batch؛ حجم فایل تا سقف آپلود سرور (متن خطا مقدارش را می‌گوید). فایل‌ها سی روز نگه داشته می‌شوند و فقط با کلید همان حساب خوانده می‌شوند.

به‌جای پرسیدن مداوم وضعیت، در زبانهٔ «اتصال» صفحهٔ API یک آدرس https بدهید. با پایان هر کار طولانی یک رویداد به آن ارسال می‌شود و اگر سرور شما با 2xx پاسخ ندهد، تا حدود یک روز دوباره تلاش می‌شود (پس از ۱، ۵ و ۳۰ دقیقه، ۲، ۶ و ۱۵ ساعت). بدنهٔ رویداد فقط شناسهٔ کار را دارد؛ نتیجه را با کلید خودتان بخوانید.

{"id": "evt_...", "object": "event", "type": "video.completed", "created_at": 1793000000,
 "data": {"id": "t_123", "object": "video", "status": "completed"}}
رویدادکی
video.completed, video.failedساخت ویدیو تمام شد یا ناموفق شد (اعتبار برمی‌گردد).
music.completed, music.failedآهنگ آماده شد یا ناموفق شد.
podcast.completed, podcast.failedپادکست آماده شد یا ناموفق شد.
3d_model.completed, 3d_model.failedمدل سه‌بعدی آماده شد یا ناموفق شد (اعتبار برمی‌گردد).
agent_run.completed, agent_run.failed, agent_run.cancelledاجرای ایجنت پایان یافت.
batch.completed, batch.failed, batch.expired, batch.cancelledیک batch پایان یافت.

بررسی امضا

هر ارسال سه هدر استاندارد Standard Webhooks دارد که Webhookهای خود OpenAI هم به کار می‌برند: webhook-id، webhook-timestamp و webhook-signature (به شکل v1, و سپس HMAC-SHA256 رشتهٔ «id.timestamp.body» با بایت‌های کلید امضا، به base64). کلید امضا (whsec_...) در همان زبانهٔ «اتصال» است؛ کتابخانه‌های Standard Webhooks و تابع webhooks.unwrap در SDK رسمی OpenAI آن را بررسی می‌کنند.

# pip install standardwebhooks
from standardwebhooks.webhooks import Webhook

event = Webhook("whsec_...").verify(request_body, request_headers)  # raises if forged

GET /v1/models

فقط مدل‌هایی را برمی‌گرداند که پلن و کلید شما اجازه می‌دهند، هر کدام با شیء pricing به اعتبار. در مدل‌های متنی: input_per_million_tokens، output_per_million_tokens، و در صورت وجود cached_input_per_million_tokens و cache_write_per_million_tokens. در مدل‌های دیگر: credits به‌ازای credits_per (image، character، minute، video، second یا model)؛ در مدل سه‌بعدی، کمترین قیمت با from و ورودی‌ها با inputs و max_images آمده‌اند؛ در ویدیو، seconds و resolution هم کلیپی را نشان می‌دهند که قیمتش آمده است. همیشه همان قیمتی است که واقعاً کسر می‌شود.

GET /v1/balance

موجودی‌ای که همین کلید می‌تواند خرج کند، بدون هزینه. available اعتبار حساب است که API به آن دسترسی دارد و pockets آن را به ترتیب خرج نشان می‌دهد: اعتبار API، اعتبار پلن، اعتبار پیش‌پرداخت. key سقف‌های روزانه و ماهانهٔ همین کلید را با مقدار خرج‌شده نشان می‌دهد و spendable چیزی است که کلید همین حالا می‌تواند خرج کند، یعنی موجودی محدود به نزدیک‌ترین سقف. در حساب نامحدود unlimited برابر true و available برابر null است. برای عضو تیمی که صاحب تیم API را برایش باز کرده، pockets.team سهم او از اعتبار تیم (در سقف ماهانه‌اش) است و در available حساب می‌شود.

curl https://deepfa.ir/api/v1/balance -H "Authorization: Bearer $DEEPFA_API_KEY"
{
  "object": "balance",
  "unit": "credits",
  "unlimited": false,
  "available": 6500,
  "pockets": {"api": 5000, "plan": 1200, "prepaid": 300},
  "key": {
    "name": "production",
    "rpm_limit": 60,
    "daily":   {"limit": 100,  "spent": 30, "remaining": 70},
    "monthly": {"limit": null, "spent": 30, "remaining": null}
  },
  "spendable": 70
}

هر خطا به شکل استاندارد OpenAI برمی‌گردد و code همان type است؛ param نام فیلدی است که مشکل دارد. در /v1/messages خطا به شکل Anthropic برمی‌گردد.

{
  "error": {
    "message": "The model \"gpt-9\" is not available.",
    "type": "model_not_found",
    "param": "model",
    "code": "model_not_found"
  }
}
HTTPtypeیعنی
400invalid_request_errorفیلدی جا افتاده یا نادرست است؛ param نام همان فیلد است.
401invalid_api_keyکلید نادرست است، باطل شده، یا اصلاً فرستاده نشده (invalid_request_error).
401key_expiredتاریخ پایانی که روی این کلید گذاشته‌اید گذشته است.
403account_inactiveحساب تأیید یا فعال نشده است.
403key_disabledاین کلید را در صفحهٔ API خاموش کرده‌اید.
403ip_not_allowedدرخواست از نشانی‌ای آمده که در فهرست نشانی‌های مجاز این کلید نیست.
403endpoint_not_allowedاین کلید اجازهٔ صدا زدن این مسیر را ندارد.
403permission_deniedپلن شما اجازهٔ این ایجنت را نمی‌دهد.
404model_not_foundمدل وجود ندارد، یا پلن یا کلید شما اجازه‌اش را نمی‌دهد.
404not_foundویدیو یا اجرایی با این شناسه پیدا نشد.
404invalid_request_errorآدرس مسیر نادرست است؛ متن خطا آدرس این مرجع را دارد.
409invalid_request_errorویدیو یا پادکست هنوز آماده نیست، یا ناموفق شده (از مسیر content).
409idempotency_key_in_useدرخواستی با همین Idempotency-Key هنوز در حال اجراست؛ چند ثانیه بعد دوباره بفرستید.
422idempotency_key_reusedاین Idempotency-Key قبلاً برای درخواست دیگری به کار رفته؛ برای درخواست تازه کلید تازه بفرستید.
413invalid_request_errorفایل رونوشت از ۲۵ مگابایت بزرگ‌تر است.
429insufficient_quotaاعتبار کافی نیست؛ متن خطا نشانی خرید اعتبار را دارد.
429key_daily_limit_reachedسقف روزانه‌ای که روی این کلید گذاشته‌اید پر شده.
429key_monthly_limit_reachedسقف ماهانهٔ این کلید پر شده.
429rate_limit_exceededدرخواست‌های این کلید در دقیقه از حدش گذشته (هدر Retry-After می‌گوید چند ثانیه صبر کنید)، یا سه اجرای ایجنت هم‌زمان دارید.
500internal_errorخطای داخلی؛ هزینه‌ای کم نشده است.
502upstream_errorسرویس‌دهندهٔ مدل خطا داد یا در دسترس نبود؛ دوباره تلاش کنید.
503model_unavailableاین مدل موقتاً در دسترس نیست.

محدودیت‌ها

  • تعداد درخواست در دقیقه برای هر کلید: پیش‌فرض ۶۰؛ هنگام ساخت یا ویرایش کلید در پنل می‌توانید آن را از ۱ تا ۶۰۰۰ بگذارید. بیش از آن، ۴۲۹ با هدر Retry-After.
  • سقف اعتبار روزانه و ماهانه برای هر کلید، اختیاری، در پنل؛ مقدار باقی‌مانده‌اش را GET /v1/balance نشان می‌دهد.
  • برای هر کلید، اختیاری: نشانی‌های IP مجاز (IPv4، IPv6 یا بازهٔ CIDR)، گروه مسیرهای مجاز، تاریخ پایان، و خاموش کردن موقت.
  • حداکثر سه اجرای ایجنت هم‌زمان برای هر حساب.
  • فایل رونوشت حداکثر ۲۵ مگابایت؛ متن گفتار حداکثر ۴۰۹۶ کاراکتر؛ تصویر حداکثر ۱۰ عدد در هر درخواست؛ ویرایش ویدیو 1 تا 120 ثانیه.
  • هزینهٔ هر درخواست در هدر x-deepfa-credits و شناسهٔ آن در x-deepfa-request-id برمی‌گردد؛ این شناسه را هنگام تماس با پشتیبانی بفرستید.

هدرهای اختیاری

  • X-DeepFA-Tag: برچسبی تا ۶۴ کاراکتر برای هر درخواست (پروژه، بخش، یکی از مشتریانتان)؛ صفحهٔ مصرف و فایل Excel مصرف را به تفکیک آن نشان می‌دهند. برچسب فارسی را درصد-کد (URL-encode) کنید، چون بیشتر کتابخانه‌ها حروف غیرلاتین را در هدر نمی‌پذیرند.
  • Idempotency-Key: اگر همان درخواست را با همان کلید تا یک روز دوباره بفرستید (مثلاً پس از قطع اتصال)، پاسخ اول با هدر Idempotent-Replayed: true برمی‌گردد و درخواست دوباره اجرا و حساب نمی‌شود. پاسخ‌های جریانی (stream) بازپخش نمی‌شوند؛ کلیدشان فقط جلوی اجرای دوباره را می‌گیرد.

برای ابزارها و پایش

  • توصیف کامل API به شکل OpenAPI 3.1، برای وارد کردن در Postman یا Insomnia یا ساخت کلاینت: /api/openapi.json
  • وضعیت لحظه‌ای و نود روز اخیر هر بخش API: صفحهٔ وضعیت و برای پایش خودکار /api/status.json
نمونه‌کدها

شروع سریع در ۶ زبان برنامه‌نویسی

همان درخواست در شش زبان. تنها چیزی که با OpenAI فرق دارد، آدرس پایه و کلید است.

curl https://deepfa.ir/api/v1/chat/completions \
  -H "Authorization: Bearer $DEEPFA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "Hello"}]
  }'
# pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_DEEPFA_KEY",
    base_url="https://deepfa.ir/api/v1",
)

completion = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Hello"}],
)

print(completion.choices[0].message.content)
print(completion.usage.total_tokens, "tokens")
// Any fetch, no SDK needed.
const res = await fetch('https://deepfa.ir/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${DEEPFA_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'gpt-6.1-sol',
    messages: [{ role: 'user', content: 'Hello' }],
    stream: false
  })
});

const data = await res.json();
console.log(data.choices[0].message.content);

// What the call cost, straight off the response header.
console.log(res.headers.get('x-deepfa-credits'), 'credits');
// npm install openai
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.DEEPFA_API_KEY,
  baseURL: 'https://deepfa.ir/api/v1'
});

// Streaming works exactly as it does upstream.
const stream = await client.chat.completions.create({
  model: 'gemini-3.8-flash',
  messages: [{ role: 'user', content: 'Write a haiku' }],
  stream: true
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}
<?php

$ch = curl_init('https://deepfa.ir/api/v1/chat/completions');

curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . getenv('DEEPFA_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model'    => 'deepseek-flash',
        'messages' => [['role' => 'user', 'content' => 'Hello']],
    ]),
]);

$result = json_decode(curl_exec($ch), true);
curl_close($ch);

echo $result['choices'][0]['message']['content'];
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
    "os"
)

func main() {
    body, _ := json.Marshal(map[string]any{
        "model": "claude-haiku-5-5",
        "messages": []map[string]string{
            {"role": "user", "content": "Hello"},
        },
    })

    req, _ := http.NewRequest("POST",
        "https://deepfa.ir/api/v1/chat/completions",
        bytes.NewBuffer(body))

    req.Header.Set("Authorization", "Bearer "+os.Getenv("DEEPFA_API_KEY"))
    req.Header.Set("Content-Type", "application/json")

    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()

    var out map[string]any
    json.NewDecoder(res.Body).Decode(&out)
    fmt.Println(out["choices"])
}
نمونه پاسخ‌های JSON
پاسخ گفت‌وگو
{
  "id": "chatcmpl-9f2c1a",
  "object": "chat.completion",
  "model": "claude-sonnet-5",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "Hello!" },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 306,
    "total_tokens": 318
  }
}
یک تکه از پاسخ استریم
data: {"id":"chatcmpl-9f2c1a","object":"chat.completion.chunk",
"choices":[{"delta":{"content":"Hel"},"index":0}]}

data: [DONE]
پاسخ تبدیل متن به بردار
{
  "object": "list",
  "model": "text-embedding-3-small",
  "data": [{ "object": "embedding", "index": 0,
             "embedding": [0.0021, -0.0134, 0.0075] }],
  "usage": { "prompt_tokens": 8, "total_tokens": 8 }
}
پاسخ ساخت تصویر
{
  "created": 1788115200,
  "data": [{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }]
}
هدرهای هزینه روی هر پاسخ
x-deepfa-request-id: 3f9a1c2e-...
x-deepfa-credits: 0.0954
x-deepfa-credit-unit: credits
پاسخ خطا، به شکل استاندارد OpenAI
{
  "error": {
    "message": "You have run out of credit. Top up your balance to continue: https://deepfa.ir/app/user/pricing/plans#api_packs",
    "type": "insufficient_quota",
    "param": null,
    "code": "insufficient_quota"
  }
}
راهنمای شروع

در چهار گام ساده اولین درخواست را بفرستید

از ساخت کلید تا اولین پاسخ، کمتر از یک دقیقه. هیچ ثبت اپلیکیشن و گردش OAuth‌ای در کار نیست.

۱

ساخت کلید API

وارد حساب خود شوید، به صفحهٔ API بروید و یک کلید بسازید. کلید فقط یک بار نمایش داده می‌شود، پس همان‌جا کپی‌اش کنید.

۲

عوض کردن آدرس پایه

در ابزار یا کتابخانه‌ای که دارید، آدرس پایه را روی https://deepfa.ir/api/v1 بگذارید و کلید را به‌عنوان API key وارد کنید.

۳

انتخاب مدل

نام مدل را در همان فیلد model بنویسید — claude-sonnet-5-5، gpt-6.1-sol، gemini-3.8-flash یا هر مدل دیگری که کلیدتان اجازه دارد.

۴

دیدن هزینه

هزینهٔ هر تماس در هدر x-deepfa-credits برمی‌گردد و در صفحهٔ API به تفکیک کلید و مدل ثبت می‌شود.

شروع سریع
# 1 — the key you made on the API page export DEEPFA_API_KEY="sk-dfa-..." # 2 — the only two things that differ from OpenAI curl https://deepfa.ir/api/v1/chat/completions \ -H "Authorization: Bearer $DEEPFA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"claude-sonnet-5", "messages":[{"role":"user","content":"Hello"}]}' # 3 — the answer, in the shape you already parse { "choices": [{ "message": { "content": "Hello!" } }], "usage": { "total_tokens": 318 } } # 4 — what it cost, on the response itself x-deepfa-credits: 0.0954 x-deepfa-credit-unit: credits
اسکرین‌شات ابزار

نگاهی به محیط کاربری API

رابط کاربری ساده و کاربردی — روی هر تصویر کلیک کنید تا بزرگ‌تر ببینید.

پرسش‌های پرتکرار

پرسش‌های پرتکرار درباره API هوش مصنوعی دیپ‌فا

پاسخ سوالات رایج توسعه‌دهندگان درباره استفاده از API — اگر پاسخ سوال خود را پیدا نکردید، با پشتیبانی تماس بگیرید.

یک حساب کاربری و یک کلید API. کلید را از صفحهٔ API در پنل کاربری خودتان می‌سازید و بلافاصله در دسترس است؛ خبری از ثبت اپلیکیشن، گردش OAuth یا انتظار برای تأیید نیست. بعد کافی است آدرس پایه را روی https://deepfa.ir/api/v1 بگذارید و کلید را به‌عنوان API key به هر ابزاری که با OpenAI کار می‌کند بدهید. اولین درخواست معمولاً کمتر از یک دقیقه طول می‌کشد.
بله. مسیر /v1/chat/completions، بدنهٔ درخواست، شکل پاسخ، استریم SSE، فراخوانی ابزار و شکل خطاها همگی مطابق استاندارد OpenAI هستند. تنها دو چیز عوض می‌شود: آدرس پایه و کلید. همین باعث می‌شود کتابخانهٔ رسمی OpenAI در پایتون و جاوااسکریپت، افزونه‌های VS Code مانند Continue و Cline، Cursor و ابزارهای مشابه بدون یک خط تغییر به دیپ‌فا وصل شوند.
مدل‌های GPT، Claude، Gemini، Grok و DeepSeek از یک آدرس در دسترس‌اند؛ برای تصویر GPT Image، FLUX و Nano Banana، برای ویدیو مدل‌هایی مانند Veo، Kling، Seedance و Grok Imagine، و برای ساخت آهنگ Suno V6، Lyria 3.5، MiniMax Music 2.5. هزینهٔ متن بر اساس توکن ورودی و خروجی همان مدل حساب می‌شود و نرخ هر مدل روی همین صفحه در جدول قیمت‌ها آمده است. تصویر به‌ازای هر تصویر، ویدیو بر اساس مدت و کیفیت، رونوشت به‌ازای هر دقیقه و تبدیل متن به گفتار به‌ازای هر کاراکتر محاسبه می‌شوند. هزینهٔ دقیق هر تماس در هدر x-deepfa-credits پاسخ برمی‌گردد.
بله. وقتی ابتدای درخواست‌ها یکسان باشد، مثل system prompt ثابت یک چت‌بات، آن بخش از کش مدل خوانده می‌شود و با نرخ «ورودی کش‌شده» در جدول قیمت‌ها حساب می‌شود که یک‌دهم ورودی عادی یا کمتر است. برای GPT، Gemini و DeepSeek این کار خودکار است؛ برای Claude مقدار cache_control با نوع ephemeral را در درخواست بگذارید. تعداد توکن‌های کش‌شده در usage.prompt_tokens_details.cached_tokens پاسخ برمی‌گردد.
بله. روی هر کلید می‌توانید سقف اعتبار روزانه و ماهانه، سقف تعداد درخواست در دقیقه، فهرست مدل‌ها و مسیرهای مجاز، نشانی‌های IP مجاز (IPv4، IPv6 یا بازهٔ CIDR) و تاریخ پایان تعیین کنید، یا کلید را موقتاً خاموش کنید. کلیدی که به یک اسکریپت یا به همکارتان می‌دهید فقط تا همان سقف خرج می‌کند و در صورت لو رفتن با یک کلیک باطل می‌شود. مصرف هر کلید جداگانه در صفحهٔ API گزارش می‌شود و می‌توانید گزارش هر بازهٔ دلخواه را به‌صورت فایل اکسل بگیرید.
نه. بسته‌های اعتبار API با حاشیهٔ سود بسیار کمتری فروخته می‌شوند و به همین دلیل فقط از طریق کلید API خرج می‌شوند و در ابزارهای داخل پنل در دسترس نیستند. عکسش اما درست است: اگر اعتبار API تمام شود، درخواست‌ها از اعتبار طرح و پیش‌پرداخت شما ادامه پیدا می‌کنند. اعتبار خریداری‌شده هم تاریخ انقضا ندارد.
بله. Claude Code با API مسیجز Anthropic کار می‌کند و دیپ‌فا همین مسیر را در /v1/messages دارد: در فایل تنظیمات Claude Code، مقدار ANTHROPIC_BASE_URL را روی https://deepfa.ir/api و ANTHROPIC_AUTH_TOKEN را روی کلید دیپ‌فا بگذارید. Codex فقط با API ریسپانسز OpenAI کار می‌کند و دیپ‌فا آن را در /v1/responses دارد: در config.toml یک model_provider با base_url برابر https://deepfa.ir/api/v1 و wire_api برابر responses تعریف کنید. Claude Code برای مدل‌های Claude است و Codex برای مدل‌های OpenAI؛ بقیهٔ مدل‌ها از /v1/chat/completions در دسترس‌اند.
کد شما از کار نمی‌افتد. وقتی مدلی جایش را به نسخهٔ جدیدتر می‌دهد، درخواست‌هایی که نام قدیمی را دارند با مدل جانشین پاسخ داده می‌شوند و با قیمت همان حساب می‌شوند، و یک بار با ایمیل و اعلان پنل خبرتان می‌کنیم تا هر وقت فرصت داشتید نام را عوض کنید. فهرست نام‌های جایگزین‌شده در صفحهٔ API، زبانهٔ مدل‌ها آمده است. پیش از تمام شدن اعتبار API هم ایمیل هشدار می‌گیرید.
از Batch API استفاده کنید: درخواست‌ها را در یک فایل JSONL (هر خط یک درخواست با custom_id) با POST /v1/files بالا بفرستید، با POST /v1/batches اجرایش را شروع کنید و وقتی وضعیت completed شد، فایل پاسخ‌ها را از GET /v1/files/{id}/content بگیرید. درخواست‌ها ظرف ۲۴ ساعت در پس‌زمینه اجرا می‌شوند و هر کدام دقیقاً به قیمت همان درخواست زنده حساب می‌شود؛ کتابخانهٔ رسمی OpenAI بدون تغییر با آن کار می‌کند.
بله. در زبانهٔ «اتصال» صفحهٔ API یک آدرس https به‌عنوان Webhook بدهید. با پایان هر ویدیو، آهنگ، پادکست، اجرای ایجنت یا batch یک رویداد مثل video.completed با امضای HMAC به آن ارسال می‌شود و اگر سرور شما پاسخ 2xx ندهد، تا حدود یک روز دوباره تلاش می‌شود.
نه، اگر هدر Idempotency-Key را بفرستید. با همان کلید و همان درخواست تا یک روز، پاسخ اول دوباره برمی‌گردد (با هدر Idempotent-Replayed: true) و درخواست دوباره اجرا و حساب نمی‌شود. وضعیت لحظه‌ای و نود روز اخیر سرویس هم در صفحهٔ وضعیت API دیده می‌شود.

کلید API خود را دریافت کنید و امروز پروژه‌تان را بسازید

ثبت‌نام رایگان، ساخت کلید در چند ثانیه، و اعتباری که تاریخ انقضا ندارد

DeepFA AI screenshot preview