مستندات API

مستندات وب‌سرویس لمورا

API کاملاً سازگار با OpenAI SDK. نسخه ۵٫۱ — Base URL: https://lemura.ir/wp-json/lemuraai/v1

احراز هویت (برای هر دو وب‌سرویس) Authorization: Bearer lsk-…
وب‌سرویس هوش مصنوعی (سازگار با OpenAI) https://lemura.ir/wp-json/lemuraai/v1
وب‌سرویس ابزارها https://lemura.ir/public/v1
موجودی کیف پول

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

معرفی وب‌سرویس لمورا

وب‌سرویس لمورا یک درگاه یکپارچه و سازگار با OpenAI است که با یک کلید، به صدها مدل هوش مصنوعی از OpenAI، Anthropic، Google، DeepSeek، xAI، Meta، Qwen و ... دسترسی می‌دهد. هزینه هر درخواست به تومان محاسبه و از کیف پول شما کسر می‌شود.

ویژگی‌ها

  • سازگار با کتابخانه‌های رسمی OpenAI (Python، Node.js و ...) — فقط base_url را عوض کنید.
  • چت با پشتیبانی کامل از Streaming (SSE)، تصویر ورودی (Vision) و Function Calling.
  • تولید و ویرایش تصویر، تبدیل متن به گفتار، گفتار به متن، تولید ویدیو و انیمیشن (موتور Remotion لمورا)، Embedding و Moderation — و همهٔ ابزارهای پلتفرم در وب‌سرویس ابزارها.
  • ورودی تصویر و PDF در چت (بینایی)، Files API، OCR اسناد و استخراج فیلدهای ساختاریافته.
  • جستجوی وب، استخراج محتوای صفحات و تحقیق خودکار.
  • پرداخت ریالی از کیف پول، بدون نیاز به کارت ارزی.

Base URL

texthttps://lemura.ir/wp-json/lemuraai/v1

آدرس جایگزین (معادل): https://lemura.ir/api/lemuraai/v1

شروع در سه قدم

  1. کیف پول خود را شارژ کنید.
  2. از صفحه توسعه‌دهندگان یک کلید API (با پیشوند lsk-) بسازید.
  3. اولین درخواست را بفرستید:
bashcurl https://lemura.ir/wp-json/lemuraai/v1/chat/completions \
  -H "Authorization: Bearer lsk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o-mini", "messages": [{"role": "user", "content": "سلام!"}]}'

احراز هویت

همه درخواست‌ها (به‌جز /ping) باید کلید API را در هدر Authorization ارسال کنند:

httpAuthorization: Bearer lsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
کلید API را هرگز در کد سمت کاربر (مرورگر یا اپ موبایل منتشرشده) قرار ندهید. درخواست‌ها را از سرور خود ارسال کنید.

بررسی کلید

/meGET
bashcurl https://lemura.ir/wp-json/lemuraai/v1/me -H "Authorization: Bearer lsk-YOUR_KEY"
json{
  "object": "me",
  "user_id": 123,
  "username": "09123456789",
  "token": {"id": 7, "name": "my-app", "is_active": true, "created_at": "...", "last_used": "..."}
}

محدودیت نرخ

هر کلید حداکثر ۳۰ درخواست در دقیقه و ۳,۰۰۰ درخواست در روز. در صورت عبور، کد 429 برگردانده می‌شود.

فهرست Endpointها

عمومی و حساب

/pingGET
/meGET
/balanceGET
/usage?days=30GET

مدل‌ها

/modelsGET
/models/{model_id}GET

متن

/chat/completionsPOST
/completionsPOST
/responsesPOST

فایل، بینایی و سند

/filesPOST
/filesGET
/files/{file_id}GET
/files/{file_id}/contentGET
/files/{file_id}DELETE
/ocrPOST
/extractionPOST

تصویر، صوت و ویدیو

/images/generationsPOST
/images/editsPOST
/audio/speechPOST
/audio/transcriptionsPOST
/audio/translationsPOST
/videosPOST
/videosGET
/videos/{video_id}GET
/videos/{video_id}DELETE
/videos/{video_id}/remixPOST
/videos/{video_id}/contentGET

وب

/web-searchPOST
/web-scrapePOST
/researchPOST

بردار و ایمنی

/embeddingsPOST
/moderationsPOST

پایگاه دانش و RAG

/rag/collectionsGET
/rag/collectionsPOST
/rag/collections/{name}DELETE
/rag/collections/{name}/documentsPOST
/rag/collections/{name}/documentsGET
/rag/collections/{name}/documents/{doc_id}DELETE
/rag/collections/{name}/searchPOST
/rag/collections/{name}/queryPOST
/rag/searchPOST
/rag/queryPOST

چت (Chat Completions)

/chat/completionsPOST

دقیقاً مطابق OpenAI. پارامترهای اصلی:

  • model (الزامی) — شناسه مدل، مثل gpt-4o، claude-sonnet-4-5، gemini-2.5-flash، deepseek-chat.
  • messages (الزامی) — آرایه پیام‌ها با نقش‌های system، user، assistant، tool.
  • stream — با true پاسخ به‌صورت SSE ارسال می‌شود.
  • temperature، max_tokens، max_completion_tokens، top_p، stop، tools، tool_choice، response_format، seed، reasoning_effort و n.
  • پیشرفته: parallel_tool_calls، prediction (خروجی پیش‌بینی‌شده برای بازنویسی سریع فایل)، service_tier (default یا flex برای کارهای غیرفوری، در مدل‌های پشتیبان)، prompt_cache_key، safety_identifier، verbosity، logprobs/top_logprobs، store و metadata.
سقف توکن و مدل‌های استدلالی: در مدل‌های reasoning، max_tokens/max_completion_tokens کل تولید (استدلال پنهان + متن) را محدود می‌کند و سهمی برای متن قابل‌مشاهده رزرو نمی‌کند. اگر بودجه پیش از تولید متن تمام شود، پاسخ هدر X-Lemura-Finish: length_empty دارد (در Responses: max_output_tokens_empty)؛ این پاسخ را قابل استفاده فرض نکنید و با سقف بزرگ‌تر یا reasoning_effort: "low" دوباره بفرستید. هدر X-Lemura-Upstream-Request-Id شناسهٔ درخواست بالادستی برای پیگیری است.

درخواست ساده

bashcurl https://lemura.ir/wp-json/lemuraai/v1/chat/completions \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "تو یک دستیار مفید فارسی‌زبان هستی."},
      {"role": "user", "content": "سه نکته برای تمرکز بیشتر بگو"}
    ],
    "temperature": 0.7
  }'

پاسخ

json{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-4o-mini",
  "choices": [{"index": 0, "message": {"role": "assistant", "content": "..."}, "finish_reason": "stop"}],
  "usage": {"prompt_tokens": 32, "completion_tokens": 120, "total_tokens": 152}
}

هزینه بر اساس usage محاسبه و از کیف پول کسر می‌شود. موجودی و هزینه‌ها را با /balance و /usage ببینید. هدرهای X-RateLimit-Limit، X-RateLimit-Remaining و X-RateLimit-Reset وضعیت محدودیت نرخ را نشان می‌دهند.

Streaming

pythonstream = client.chat.completions.create(
    model="gpt-4o-mini", stream=True,
    messages=[{"role": "user", "content": "یک داستان کوتاه بنویس"}])
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

تصویر ورودی (Vision)

json{
  "model": "gpt-4o",
  "messages": [{"role": "user", "content": [
    {"type": "text", "text": "در این تصویر چه می‌بینی؟"},
    {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
  ]}]
}

Function Calling

json{
  "model": "gpt-4o-mini",
  "messages": [{"role": "user", "content": "هوای تهران چطوره؟"}],
  "tools": [{"type": "function", "function": {
    "name": "get_weather",
    "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]}
  }}]
}

Responses API

/responsesPOST

رابط جدید OpenAI برای مدل‌های استدلالی و ابزارها. ورودی می‌تواند متن ساده یا آرایه‌ای از پیام‌ها باشد.

bashcurl https://lemura.ir/wp-json/lemuraai/v1/responses \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-5-mini", "input": "تفاوت هوش مصنوعی و یادگیری ماشین چیست؟"}'
pythonr = client.responses.create(model="gpt-5-mini", input="یک شعر کوتاه درباره پاییز")
print(r.output_text)

Completions (قدیمی)

/completionsPOST

برای سازگاری با کدهای قدیمی؛ پارامتر prompt به‌جای messages.

قواعد مشترک هر دو وب‌سرویس

احراز هویت

هر دو وب‌سرویس با یک کلید کار می‌کنند. کلید را در صفحهٔ «کلیدها و آمار» بسازید و در هدر هر درخواست بفرستید:

Authorization: Bearer lsk-YOUR_KEY

نحوهٔ درخواست

  • بدنهٔ درخواست‌ها JSON است با هدر Content-Type: application/json.
  • ارسال فایل با multipart/form-data (فیلد فایل؛ در ابزارها هم‌نام پارامتر و آرگومان‌های دیگر در فیلد args به‌صورت JSON).
  • پاسخ‌ها همیشه JSON با کدگذاری UTF-8 است؛ مبالغ به تومان است.
  • کارهای طولانی (ویدیو، OCR، تبدیل صوت و...) ناهمگام هستند: شناسهٔ کار برمی‌گردد و وضعیت را بعداً می‌پرسید.

متدها

متدکاربرد
GETخواندن: فهرست مدل‌ها/ابزارها، موجودی، وضعیت کار، دریافت فایل
POSTاجرا: چت، تولید تصویر/ویدیو، فراخوانی ابزار، آپلود فایل، ساخت وظیفه
DELETEحذف: فایل، ویدیو، وظیفه

موجودی کیف پول و اطلاعات حساب

موجودی و اطلاعات حساب از هر دو وب‌سرویس با پاسخ یکسان در دسترس است:

GET https://lemura.ir/wp-json/lemuraai/v1/balance
GET https://lemura.ir/public/v1/balance

GET https://lemura.ir/wp-json/lemuraai/v1/me
GET https://lemura.ir/public/v1/me
curl https://lemura.ir/public/v1/balance -H "Authorization: Bearer lsk-YOUR_KEY"

{"object": "balance", "user_id": 42, "balance": 125000, "currency": "toman", ...}

کدهای خطا

HTTPمعنی
400ورودی نامعتبر
401کلید ارسال نشده یا نامعتبر است
402موجودی کیف پول کافی نیست
403دسترسی به این مدل/ابزار مجاز نیست
404مدل، ابزار یا کار پیدا نشد
409 / 428کار هنوز آماده نیست / عملیات تغییردهنده نیاز به هدر X-Lemura-Confirm: true دارد
429عبور از سقف تعداد درخواست یا سهمیهٔ روزانه (هدرهای X-RateLimit-*)
5xxخطای موقت سرور یا سرویس بالادستی — چند ثانیه بعد دوباره تلاش کنید

تولید تصویر

/images/generationsPOST
  • model (الزامی) — مثل gpt-image-1، imagen-4.0-generate-001، flux-1.1-pro. فهرست کامل در /models.
  • prompt (الزامی، حداکثر ۱۰۰۰ کاراکتر) — توصیف تصویر. برای کیفیت بهتر انگلیسی بنویسید.
  • size — مثل 1024x1024، 1024x1792، 1792x1024.
  • n — تعداد تصاویر (هزینه × n).
  • اختیاری: quality، style، background، output_format، response_format (url یا b64_json).
bashcurl https://lemura.ir/wp-json/lemuraai/v1/images/generations \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-image-1", "prompt": "a cozy reading nook with warm light, watercolor", "size": "1024x1024"}'
pythonimg = client.images.generate(model="gpt-image-1", prompt="a futuristic Tehran skyline at night", size="1792x1024")
print(img.data[0].url or "base64 length: %d" % len(img.data[0].b64_json))
هزینه قبل از ارسال برآورد و بررسی می‌شود؛ اگر موجودی کافی نباشد خطای 402 برمی‌گردد.

صوت

متن به گفتار (TTS)

/audio/speechPOST

پارامترها: model (مثل gpt-4o-mini-tts، tts-1، tts-1-hd)، input (متن)، voice (مثل alloy، nova، shimmer، echo). خروجی فایل صوتی است. هزینه هر درخواست: حدود ۵۰۰ تومان (پیش از سود).

bashcurl https://lemura.ir/wp-json/lemuraai/v1/audio/speech \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o-mini-tts", "input": "سلام، به لمورا خوش آمدید", "voice": "nova"}' \
  --output speech.mp3

گفتار به متن

/audio/transcriptionsPOST

ارسال به‌صورت multipart/form-data با فیلدهای file و model (مثل gpt-4o-transcribe، gpt-4o-mini-transcribe، whisper-1؛ فهرست به‌روز در /models). اختیاری: language، prompt، response_format، temperature.

bashcurl https://lemura.ir/wp-json/lemuraai/v1/audio/transcriptions \
  -H "Authorization: Bearer lsk-YOUR_KEY" \
  -F file=@voice.mp3 -F model=whisper-1 -F language=fa

ترجمه گفتار به انگلیسی

/audio/translationsPOST

مانند transcriptions، با مدل whisper-1؛ خروجی متن انگلیسی است.

تولید ویدیو و انیمیشن (موتور Remotion لمورا)

همهٔ ویدیوهای لمورا با موتور انیمیشن Remotion روی سرورهای خود لمورا ساخته می‌شوند (همان ابزار animation_render در وب‌سرویس ابزارها و چت). پرامپت شما با هوش مصنوعی به صحنه‌ها (عنوان، متن، فهرست، تصویر، آمار متحرک، نمودار، ترنزیشن، تم، متن فارسی راست‌به‌چپ) تبدیل و در صف رندر ساخته می‌شود. تولید ناهمگام است: کار را بسازید، وضعیت را بپرسید و فایل را دریافت کنید.

/videosPOST
پارامترتوضیح
promptتوضیح ویدیو (فارسی یا انگلیسی) — الزامی
secondsمدت تقریبی؛ حداکثر ۳۰ ثانیه در 1080p، ۶۰ ثانیه در 720p و ۱۲۰ ثانیه در 480p
size1280x720 · 1920x1080 · 854x480 · 720x1280 · 1080x1920 · 720x720 · 1080x1080 · 1080x1350 (یا aspect: 16:9 · 9:16 · 1:1 · 4:5 و quality: 480p · 720p · 1080p)
filesاختیاری: شناسهٔ تصاویر آپلودشده (f_… از POST /public/v1/files) برای استفاده در صحنه‌ها
modelاختیاری؛ همیشه lemura-motion

هزینه: طراحی صحنه‌ها با هوش مصنوعی (مثل یک پیام چت) + رندر: پایه 800 + وزن پردازش 4.0 × واحد پردازش واقعی — حدود 2,400 تومان برای یک ویدیوی معمولی ۷۲۰p. مبلغ دقیق هر ویدیو در فیلد cost و در گزارش مصرف ثبت می‌شود.

bashcurl https://lemura.ir/wp-json/lemuraai/v1/videos   -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json"   -d '{"prompt": "ویدیوی معرفی فروشگاه قهوه: عنوان، سه مزیت، تخفیف ۲۰٪ و دعوت به خرید", "seconds": 15, "size": "720x1280"}'
json{"id": "job_8b1f…", "object": "video", "model": "lemura-motion", "status": "queued",
 "aspect": "9:16", "quality": "720p", "seconds": 15.0, "progress": 0}
/videos/{video_id}GET

وضعیت: queued، in_progress، completed (با download_url و cost) یا failed (با error).

/videos/{video_id}/contentGET

دریافت فایل MP4 پس از تکمیل (?variant=thumbnail = تصویر پوستر). از Range برای پخش پشتیبانی می‌کند.

bashcurl https://lemura.ir/wp-json/lemuraai/v1/videos/VIDEO_ID/content -H "Authorization: Bearer lsk-YOUR_KEY" --output video.mp4
/videos/{video_id}/remixPOST

ساخت نسخهٔ تازه از روی همان طرح با یک دستور تغییر: {"prompt": "رنگ‌ها را تیره‌تر کن و یک صحنهٔ آمار اضافه کن"}.

/videosGET
/videos/{video_id}DELETE

برای کنترل کامل صحنه‌ها (بدون طراحی خودکار) از ابزار POST /public/v1/tools/animation_render و برای کد React دلخواه از animation_code استفاده کنید — همان موتور و همان تعرفه.

جستجو و تحقیق وب

جستجوی وب با پاسخ هوشمند

/web-searchPOST

ارسال query (یا messages) و مدل جستجو (پیش‌فرض gpt-4o-search-preview). پارامتر search_context_size: low، medium یا high (هزینه بیشتر، منابع بیشتر).

bashcurl https://lemura.ir/wp-json/lemuraai/v1/web-search \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"query": "آخرین اخبار هوش مصنوعی این هفته", "search_context_size": "medium"}'

استخراج محتوای صفحه

/web-scrapePOST

url یا آرایه urls؛ اختیاری max_chars_per_url (۵۰۰ تا ۵۰٬۰۰۰). خروجی متن تمیزشده هر صفحه است.

json{"urls": ["https://example.com/article"], "max_chars_per_url": 8000}

تحقیق خودکار

/researchPOST

query (یا topic)؛ اختیاری model و max_results. گزارشی جمع‌بندی‌شده با منابع برمی‌گرداند.

Embedding و Moderation

/embeddingsPOST

تبدیل متن به بردار برای جستجوی معنایی و RAG. مدل‌ها: text-embedding-3-small، text-embedding-3-large، text-embedding-ada-002. هزینه: حدود ۲۰ تومان به ازای هر ۱۰۰۰ توکن.

pythone = client.embeddings.create(model="text-embedding-3-small", input=["سلام دنیا", "hello world"])
print(len(e.data[0].embedding))
/moderationsPOST

بررسی محتوای نامناسب. مدل پیش‌فرض omni-moderation-latest؛ فیلد input الزامی است.

json{"model": "omni-moderation-latest", "input": "متنی برای بررسی"}

موجودی

/balanceGET
bashcurl https://lemura.ir/wp-json/lemuraai/v1/balance -H "Authorization: Bearer lsk-YOUR_KEY"
json{
  "object": "balance",
  "user_id": 123,
  "balance": 152000,
  "currency": "toman",
  "token_info": {"id": 7, "name": "my-app", "total_requests": 420, "total_tokens_used": 381200, "total_cost": 21500},
  "rate_limits": {"per_minute": 30, "per_day": 3000},
  "stats": {"total_spent": 48000, "total_requests": 1300, "total_tokens_used": 920000,
            "today": {"spent": 1200, "requests": 18}, "this_month": {"spent": 22000, "requests": 610}}
}

برای افزایش موجودی به کیف پول بروید. موجودی بین چت سایت، تولید تصویر و API مشترک است.

مدل‌ها

/modelsGET

فهرست همه مدل‌های فعال همراه با نوع و قیمت تومانی:

json{
  "object": "list",
  "data": [
    {"id": "gpt-4o-mini", "object": "model", "type": "chat", "owned_by": "openai",
     "input_toman_per_1m": 46800, "output_toman_per_1m": 187200, "cached_toman_per_1m": 23400},
    {"id": "gpt-image-1", "object": "model", "type": "image", "price": 12000},
    {"id": "lemura-motion", "object": "model", "type": "video", "engine": "remotion", "price_estimate": 3200, "max_seconds": 60}
  ]
}

انواع: chat، image، web_search، audio_tts، audio_transcription، audio_translation، video، embedding، moderation.

اعداد بالا نمونه هستند؛ قیمت‌های واقعی و به‌روز را همیشه از خود /models بخوانید.
/models/{model_id}GET

جزئیات یک مدل؛ اگر وجود نداشته باشد کد 404 با نوع model_not_found.

کلیدها و قیمت‌گذاری

مدیریت کلید

  • کلیدها از صفحه توسعه‌دهندگان ساخته، غیرفعال یا حذف می‌شوند.
  • برای هر برنامه یک کلید جدا بسازید تا مصرف را جدا ببینید و در صورت لو رفتن فقط همان را حذف کنید.
  • حداکثر تعداد کلید برای هر کاربر: ۱۰.

نحوه محاسبه هزینه

  • مدل‌های متنی: بر اساس توکن ورودی، خروجی و ورودی کش‌شده، با قیمت تومانی هر مدل (در /models).
  • تصویر: قیمت ثابت به ازای هر تصویر.
  • ویدیو: طراحی صحنه‌ها (مثل یک پیام چت) + رندر Remotion بر اساس پردازش واقعی (همان تعرفهٔ ابزار animation_render).
  • صوت: قیمت ثابت به ازای هر درخواست.
  • جستجوی وب: بر اساس search_context_size.

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

گزارش مصرف

/usage?days=30GET

مصرف روزانه (حداکثر ۹۰ روز) برای کاربرِ صاحب کلید:

json{
  "object": "usage", "user_id": 123, "days": 30,
  "data": [{"day": "2026-10-20", "requests": 42, "tokens": 51200, "cost": 2900}]
}

وضعیت سرویس

/pingGET

بدون نیاز به کلید؛ برای مانیتورینگ.

نمونه کدها

Python (کتابخانه openai)

python# pip install openai
from openai import OpenAI

client = OpenAI(api_key="lsk-YOUR_KEY", base_url="https://lemura.ir/wp-json/lemuraai/v1")
resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "یک تابع مرتب‌سازی سریع بنویس"}],
)
print(resp.choices[0].message.content)

Node.js

javascript// npm i openai
import OpenAI from "openai";

const client = new OpenAI({ apiKey: process.env.LEMURA_KEY, baseURL: "https://lemura.ir/wp-json/lemuraai/v1" });
const stream = await client.chat.completions.create({
  model: "gpt-4o-mini", stream: true,
  messages: [{ role: "user", content: "سلام!" }],
});
for await (const part of stream) process.stdout.write(part.choices[0]?.delta?.content || "");

PHP

php$ch = curl_init("https://lemura.ir/wp-json/lemuraai/v1/chat/completions");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ["Authorization: Bearer lsk-YOUR_KEY", "Content-Type: application/json"],
  CURLOPT_POSTFIELDS => json_encode(["model" => "gpt-4o-mini",
    "messages" => [["role" => "user", "content" => "سلام"]]]),
]);
$res = json_decode(curl_exec($ch), true);
echo $res["choices"][0]["message"]["content"];

LangChain

pythonfrom langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini", api_key="lsk-YOUR_KEY", base_url="https://lemura.ir/wp-json/lemuraai/v1")
print(llm.invoke("سلام").content)

خطاها و رفع اشکال

خطاها در قالب استاندارد OpenAI برمی‌گردند:

json{"error": {"message": "Insufficient balance. Available: 120 toman", "type": "insufficient_balance", "code": 402}}
کدنوععلت و راه‌حل
400invalid_request_errorبدنه نامعتبر یا فیلد الزامی (مثل model، messages) ارسال نشده.
401authentication_errorکلید ارسال نشده، اشتباه است یا غیرفعال شده. هدر Authorization: Bearer lsk-... را بررسی کنید.
402insufficient_balanceموجودی کافی نیست؛ کیف پول را شارژ کنید.
404model_not_foundشناسه مدل اشتباه یا غیرفعال است؛ از /models استفاده کنید.
429rate_limit_errorعبور از محدودیت نرخ؛ به مقدار هدر Retry-After صبر کنید.
5xxserver_error / upstreamخطای موقت ارائه‌دهنده مدل؛ با تأخیر دوباره تلاش کنید. هزینه‌ای کسر نمی‌شود.

نکات

  • اگر کتابخانه OpenAI خطای اتصال می‌دهد، مطمئن شوید base_url دقیقاً https://lemura.ir/wp-json/lemuraai/v1 است (بدون /chat/completions).
  • برای درخواست‌های طولانی (تصویر و ویدیو) timeout کلاینت را حداقل ۱۸۰ ثانیه بگذارید.
  • در صورت تکرار خطای 5xx، مدل جایگزین را امتحان کنید.

سوالات متداول

آیا با کدهای فعلی OpenAI سازگار است؟

بله. فقط api_key را با کلید لمورا و base_url را با آدرس لمورا جایگزین کنید.

هزینه درخواست‌های ناموفق کسر می‌شود؟

خیر. فقط درخواست‌های موفق هزینه دارند.

موجودی API و چت سایت جداست؟

خیر، یک کیف پول مشترک برای همه سرویس‌هاست.

چطور بفهمم هر درخواست چقدر هزینه داشته؟

از /usage و /balance یا تاریخچه کیف پول استفاده کنید.

کلیدم لو رفته، چه کنم؟

فوراً از صفحه توسعه‌دهندگان آن را حذف و کلید جدید بسازید.

پشتیبانی

برای سوالات فنی از چت سایت یا راه‌های ارتباطی لمورا با ما در تماس باشید.

بینایی و فایل در چت

مدل‌های دارای قابلیت بینایی (مثل gpt-5.4، gpt-4o، claude-sonnet-4-6، gemini-2.5-flash) می‌توانند تصویر و PDF را مستقیماً در پیام بخوانند. هزینه تصویر و صفحات PDF به‌صورت توکن ورودی حساب می‌شود.

تصویر با URL یا Base64 (Chat Completions)

json{
  "model": "gpt-4o",
  "messages": [{"role": "user", "content": [
    {"type": "text", "text": "متن و اعداد این رسید را استخراج کن"},
    {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ...", "detail": "high"}}
  ]}]
}

پارامتر detail: low (سریع و ارزان)، high (متن ریز، نمودار و اسکرین‌شات)، auto. برای چند تصویر، چند بخش image_url بفرستید و در متن برچسب بزنید («تصویر A»، «تصویر B»). مدل‌های Gemini فقط ورودی Base64 را می‌پذیرند.

PDF با Responses API

json{
  "model": "gpt-5.4",
  "input": [{"role": "user", "content": [
    {"type": "input_text", "text": "تعهدات اصلی این قرارداد را با شماره صفحه خلاصه کن"},
    {"type": "input_file", "file_url": "https://example.com/contract.pdf"}
  ]}]
}

به‌جای file_url می‌توانید "filename" + "file_data": "data:application/pdf;base64,..." یا "file_id" فایلی که با Files API آپلود کرده‌اید را بفرستید. حجم هر فایل کمتر از ۵۰ مگابایت باشد.

فایل آپلودشده در Chat Completions

json{
  "model": "gemini-2.5-flash",
  "messages": [{"role": "user", "content": [
    {"type": "text", "text": "این سند را خلاصه کن"},
    {"type": "file", "file": {"file_id": "file-EyVi0MrxuKTgBrvkVas5ZTGz"}}
  ]}]
}
فقط به file_idهایی که با کلید حساب خودتان آپلود کرده‌اید می‌توانید ارجاع دهید؛ شناسه فایل دیگران خطای 404 می‌دهد.

فایل‌ها (Files API)

یک بار آپلود کنید و بارها با file_id در چت، Responses، OCR و ویرایش تصویر استفاده کنید. ذخیره‌سازی فایل هزینه‌ای ندارد؛ فقط پردازش آن در مدل حساب می‌شود.

/filesPOST

multipart/form-data با فیلدهای file (حداکثر ۱۲۸ مگابایت) و purpose: user_data (پیشنهادی برای ورودی مدل)، vision، assistants، batch، fine-tune، evals، others. اختیاری: expires_after[anchor]=created_at و expires_after[seconds].

bashcurl https://lemura.ir/wp-json/lemuraai/v1/files \
  -H "Authorization: Bearer lsk-YOUR_KEY" \
  -F purpose="user_data" -F file="@contract.pdf"
json{"id": "file-EyVi0MrxuKTgBrvkVas5ZTGz", "object": "file", "bytes": 13264, "created_at": 1767210968,
 "filename": "contract.pdf", "purpose": "user_data"}
/files?purpose=user_data&limit=100&order=descGET

فهرست فایل‌های حساب شما.

/files/{file_id}GET
/files/{file_id}/contentGET
/files/{file_id}DELETE
pythonf = client.files.create(file=open("contract.pdf", "rb"), purpose="user_data")
r = client.responses.create(model="gpt-5.4", input=[{"role": "user", "content": [
    {"type": "input_file", "file_id": f.id},
    {"type": "input_text", "text": "مهم‌ترین بندها را فهرست کن"}]}])
print(r.output_text)
client.files.delete(f.id)

تشخیص متن (OCR)

/ocrPOST

استخراج ساختاریافته متن، جدول و تصاویر از PDF و تصویر با mistral-ocr-4-0 (۱۷۰ زبان، خروجی Markdown). هزینه بر اساس تعداد صفحه: حدود ۱,۷۰۰ تومان برای هر صفحه (با حاشیه‌نویسی ساختاریافته ۲٫۲۵ برابر).

  • document (الزامی): {"type": "document_url", "document_url": "https://... یا data:application/pdf;base64,..."} یا {"type": "image_url", "image_url": "..."}
  • اختیاری: pages (آرایه شماره صفحه از ۰)، include_image_base64، image_limit، image_min_size، table_format (markdown/html)، extract_header، extract_footer، document_annotation_format و bbox_annotation_format (خروجی JSON Schema).
bashcurl https://lemura.ir/wp-json/lemuraai/v1/ocr \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"model": "mistral-ocr-4-0",
       "document": {"type": "document_url", "document_url": "https://arxiv.org/pdf/2201.04234"},
       "pages": [0, 1], "table_format": "html"}'
json{
  "pages": [{"index": 0, "markdown": "# عنوان سند\n\nمتن استخراج‌شده...", "dimensions": {"dpi": 200, "height": 2200, "width": 1700}, "images": []}],
  "model": "mistral-ocr-4-0",
  "usage_info": {"pages_processed": 2, "doc_size_bytes": 3002783},
  "object": "ocr"
}

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

json{
  "model": "mistral-ocr-4-0",
  "document": {"type": "document_url", "document_url": "https://example.com/invoice.pdf"},
  "document_annotation_format": {"type": "json_schema", "json_schema": {"name": "invoice", "schema": {
    "type": "object", "required": ["invoice_number", "total_amount"],
    "properties": {"invoice_number": {"type": "string"}, "date": {"type": "string"}, "total_amount": {"type": "number"}}}}}
}

نتیجه ساختاریافته در فیلد document_annotation به‌صورت رشته JSON برمی‌گردد. پیش از ثبت مالی، مبلغ‌ها و تاریخ‌ها را با سند اصلی تطبیق دهید.

ویرایش تصویر

/images/editsPOST

ویرایش تصویر موجود با توضیح متنی (حذف پس‌زمینه، افزودن شیء، تغییر سبک...). مدل‌ها و قیمت همانند تولید تصویر است (مدل‌های فعال در /models با نوع image).

آپلود فایل (multipart)

bashcurl https://lemura.ir/wp-json/lemuraai/v1/images/edits \
  -H "Authorization: Bearer lsk-YOUR_KEY" \
  -F model="gpt-image-2" -F image="@product.png" \
  -F prompt="فقط پس‌زمینه را سفید گرم کن؛ محصول، لوگو و زاویه دوربین تغییر نکند" \
  -F size="1024x1024"

درخواست JSON با Base64

json{
  "model": "gpt-image-2",
  "prompt": "یک رنگین‌کمان در آسمان بالای کوه‌ها اضافه کن",
  "images": [{"image_url": "data:image/png;base64,iVBORw0KGgo..."}],
  "size": "1024x1024"
}

اختیاری: mask (فایل یا {"image_url": ...} با کانال آلفا؛ ناحیه شفاف قابل ویرایش است)، n (حداکثر ۴)، quality، output_format. خروجی در data[0].b64_json یا data[0].url است. در پرامپت کل تصویر نهایی را توصیف کنید و بگویید چه چیزهایی باید بدون تغییر بمانند.

استخراج فیلد (Extraction)

/extractionPOST

متن یا تصویر را بخوانید و مقدارهای نام‌دار و نوع‌دار برگردانید (شناسه، تاریخ، مبلغ، فهرست، برآورد، پیش‌بینی) — همراه با نشانه‌های عدم قطعیت. مدل: cf.clairic. هزینه بر اساس توکن ورودی (بسیار کم). پاسخ جریانی پشتیبانی نمی‌شود.

  • state: متن شواهد (یا images: تا ۴ تصویر Base64 با content_type).
  • fields: شیء نام‌دار؛ نوع‌ها: text، number، date، time، datetime، duration، list (با items)، estimate و forecast (با min/max). تنظیمات: instructions، unit، decimals، null_threshold و ...
  • اختیاری: reference_date (برای تاریخ‌های بدون سال)، options.include_quantiles، options.return_state_text.
bashcurl https://lemura.ir/wp-json/lemuraai/v1/extraction \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"model": "cf.clairic",
       "state": "Invoice INV-2291 issued 2026-09-02, net 30. 4 pallets at $250.00, shipping $80.00. Contact: Dana Ruiz, Priya Shah.",
       "fields": {
         "invoice_number": {"type": "text"},
         "due_date": {"type": "date", "instructions": "Issue date plus net payment days"},
         "total": {"type": "number", "decimals": 2, "unit": "USD", "instructions": "Amount due including shipping"},
         "contacts": {"type": "list", "items": "text"},
         "po_number": {"type": "text", "instructions": "Purchase order number"}}}'
json{
  "model": "cf.clairic",
  "answers": {
    "invoice_number": {"type": "text", "value": "INV-2291", "confidence": 1, "p_null": 3.8e-10, "span": [8, 16]},
    "due_date": {"type": "date", "value": "2026-10-02"},
    "total": {"type": "number", "value": 1080},
    "contacts": {"type": "list", "value": ["Dana Ruiz", "Priya Shah"]},
    "po_number": {"type": "text", "value": null, "p_null": 1, "guess": "INV-2291"}
  },
  "truncated": false,
  "usage": {"input_tokens": 655, "output_tokens": 0, "passes": 3}
}
value: null یعنی مقدار پیدا نشد؛ guess را جایگزین آن نکنید (در مثال، شماره سفارش خرید وجود ندارد). پیش از ذخیره یا اقدام، مقدارها را اعتبارسنجی کنید.

گفتگوی صوتی زنده

برای ساخت دستیار صوتی، سه مرحله را زنجیره کنید: گفتار به متن چت متن به گفتار. این همان روشی است که «گفتگوی صوتی» سایت لمورا استفاده می‌کند.

pythonwith open("question.webm", "rb") as audio:
    text = client.audio.transcriptions.create(model="gpt-4o-transcribe", file=audio, language="fa").text

answer = client.chat.completions.create(model="gpt-5.4-mini", messages=[
    {"role": "system", "content": "کوتاه و محاوره‌ای پاسخ بده."},
    {"role": "user", "content": text}]).choices[0].message.content

with client.audio.speech.with_streaming_response.create(
        model="gpt-audio-1.5", voice="coral", input=answer, response_format="mp3") as speech:
    speech.stream_to_file("answer.mp3")
  • متن هر درخواست TTS را زیر ۴٬۰۰۰ کاراکتر نگه دارید؛ متن طولانی را پاراگراف به پاراگراف بفرستید.
  • صداهای پیشنهادی: coral، marin، cedar، alloy، nova.
  • برای کاهش تأخیر، پاسخ چت را کوتاه بخواهید و پخش را هم‌زمان با دریافت فایل شروع کنید.
  • به کاربر اطلاع دهید که صدای پاسخ با هوش مصنوعی تولید شده است.

پایگاه دانش و RAG (پاسخ مستند به اسناد شما)

اسناد خود (متن، صفحه وب یا فایل آپلودشده) را در یک «مجموعه» ذخیره کنید. لمورا آن‌ها را تکه‌بندی (با هم‌پوشانی)، به بردار تبدیل و ایندکس می‌کند. سپس با یک درخواست جستجو کنید یا پاسخ نهایی را همراه با ارجاع دقیق به منبع بگیرید. مجموعه‌ها خصوصی هستند و فقط با کلیدهای همان حساب در دسترس‌اند؛ پایگاه‌های دانشی که در چت سایت ساخته‌اید هم اینجا قابل استفاده‌اند.

Endpointها

/rag/collectionsGET
/rag/collectionsPOST
/rag/collections/{name}GET
/rag/collections/{name}DELETE
/rag/collections/{name}/documentsPOST
/rag/collections/{name}/documentsGET
/rag/collections/{name}/documents/{doc_id}DELETE
/rag/collections/{name}/searchPOST
/rag/collections/{name}/queryPOST
/rag/searchPOST
/rag/queryPOST

۱. ساخت مجموعه

bashcurl https://lemura.ir/wp-json/lemuraai/v1/rag/collections \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"name": "support-kb", "description": "سوالات پشتیبانی", "embedding_model": "text-embedding-3-small"}'

name: حروف کوچک انگلیسی، عدد، - و _ (حداکثر ۴۰). embedding_model اختیاری است (پیش‌فرض text-embedding-3-small؛ برای دقت بیشتر text-embedding-3-large) و برای همه اسناد آن مجموعه ثابت می‌ماند. ارسال اولین سند به مجموعه‌ای که وجود ندارد، آن را خودکار می‌سازد.

۲. افزودن اسناد

bashcurl https://lemura.ir/wp-json/lemuraai/v1/rag/collections/support-kb/documents \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{
    "documents": [
      {"id": "refund-policy", "title": "سیاست بازپرداخت", "text": "...", "metadata": {"lang": "fa", "year": 2026}}
    ],
    "urls": ["https://example.com/faq"],
    "file_ids": ["file-EyVi0MrxuKTgBrvkVas5ZTGz"],
    "chunk_size": 700,
    "chunk_overlap": 100
  }'
  • documents: تا ۲۰۰ سند؛ هر سند text (الزامی)، id پایدار (برای جایگزینی/حذف بعدی)، title، url و metadata (مقادیر ساده برای فیلتر).
  • urls: تا ۱۰ صفحه وب عمومی (آدرس‌های داخلی و خصوصی پذیرفته نمی‌شوند).
  • file_ids: فایل‌هایی که با Files API آپلود کرده‌اید — txt، md، csv، json، html، docx، xlsx، pptx؛ PDF و تصویر با OCR خوانده می‌شوند.
  • chunk_size (۱۰۰ تا ۲۰۴۸ توکن، پیش‌فرض ۷۰۰) و chunk_overlap (پیش‌فرض ۱۵٪). سند با همان id دوباره ارسال شود، جایگزین می‌شود ("replace_documents": false برای افزودن).
json{"object": "rag.ingest", "collection": "support-kb", "chunks": 42, "total_chunks": 42,
 "documents": [{"id": "refund-policy", "title": "سیاست بازپرداخت", "chunks": 3}],
 "usage": {"embedding_tokens": 18210, "urls_fetched": 1, "ocr_pages": 0}, "cost": 410}

۳. جستجو

bashcurl https://lemura.ir/wp-json/lemuraai/v1/rag/collections/support-kb/search \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"query": "مهلت بازپرداخت چند روز است؟", "top_k": 5, "mode": "hybrid", "filter": {"lang": "fa"}, "rerank": true}'
  • mode: hybrid (پیش‌فرض: معنایی + کلیدواژه BM25)، dense (فقط معنایی) یا keyword. وزن معنایی با alpha (۰ تا ۱، پیش‌فرض ۰٫۷).
  • filter: فیلتر روی metadata؛ مقدار ساده یا عملگرهای $eq، $ne، $gt، $gte، $lt، $lte، $in، $nin.
  • rerank: رتبه‌بندی مجدد با مدل زبانی (rerank_model اختیاری) — دقیق‌تر، با هزینه توکن.
  • min_score: حذف نتایج کم‌ارتباط. برای چند مجموعه از POST /rag/search با "collections": ["a", "b"] استفاده کنید.
json{"object": "rag.search_results", "data": [
  {"id": "refund-policy_c1", "doc_id": "refund-policy", "title": "سیاست بازپرداخت", "text": "...",
   "score": 0.8731, "dense_score": 0.8123, "keyword_score": 1.0, "rerank_score": 0.9, "metadata": {"lang": "fa"}}
], "reranked": true, "cost": 12}

۴. پاسخ مستند با ارجاع (RAG کامل)

bashcurl https://lemura.ir/wp-json/lemuraai/v1/rag/collections/support-kb/query \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"query": "مهلت بازپرداخت چند روز است؟", "model": "gpt-4o-mini", "top_k": 6}'
json{
  "object": "rag.answer", "status": "completed", "model": "gpt-4o-mini",
  "answer": "مهلت درخواست بازپرداخت ۱۴ روز پس از خرید است [1].",
  "citations": [{"index": 1, "source_id": "refund-policy_c1", "doc_id": "refund-policy", "title": "سیاست بازپرداخت", "url": "", "text": "..."}],
  "invalid_citations": 0, "sources": [ ... ],
  "usage": {"prompt_tokens": 1820, "completion_tokens": 64, "embedding_tokens": 14}, "cost": 95
}
  • هر تکه با شناسه پایدار (مثل refund-policy_c1) به مدل داده می‌شود و ارجاع‌های مدل با همین شناسه‌ها اعتبارسنجی می‌شوند؛ ارجاع ساختگی حذف و در invalid_citations شمرده می‌شود.
  • citation_format: brackets (پیش‌فرض، [1] در متن)، markers (نشانه‌های خام citeid برای رندر سفارشی) یا none.
  • messages: تاریخچه گفتگو (نقش‌های user/assistant) برای سوالات پیگیری. instructions: دستور اضافه (لحن، قالب).
  • classify: true: اول تشخیص می‌دهد سوال به پایگاه دانش نیاز دارد یا نه (برای سوالات عمومی، بازیابی و هزینه embedding حذف می‌شود).
  • max_tokens (پیش‌فرض ۱۵۰۰)، temperature، filter، mode، rerank مثل جستجو.
  • status: completed، incomplete (پاسخ به سقف توکن رسید) یا incomplete_no_text (کل بودجه صرف استدلال شد — max_tokens را بیشتر کنید؛ این پاسخ را قابل استفاده فرض نکنید).
هزینه: توکن‌های embedding (حدود ۲۲ تومان برای هر ۱۰۰۰ توکن)، صفحات وب، صفحات OCR و توکن‌های مدل پاسخ‌دهنده با قیمت همان مدل. ذخیره‌سازی رایگان است. سقف هر حساب: ۵۰ مجموعه و ۵۰٬۰۰۰ تکه.

پاسخ جریانی (stream)

با "stream": true پاسخ به‌صورت SSE می‌آید: ابتدا منابع بازیابی‌شده، سپس متن پاسخ تکه‌تکه (ارجاع‌ها همان لحظه به [1] تبدیل شده‌اند) و در پایان نتیجهٔ کامل با ارجاع‌های اعتبارسنجی‌شده، مصرف و هزینه.

bashcurl -N https://lemura.ir/wp-json/lemuraai/v1/rag/collections/support-kb/query \
  -H "Authorization: Bearer lsk-YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"query": "مهلت بازپرداخت چند روز است؟", "stream": true}'

data: {"type": "rag.sources", "retrieved": true, "sources": [ ... ]}
data: {"type": "rag.delta", "delta": "مهلت درخواست بازپرداخت "}
data: {"type": "rag.delta", "delta": "۱۴ روز پس از خرید است [1]."}
data: {"type": "rag.completed", "object": "rag.answer", "status": "completed", "answer": "...", "citations": [ ... ], "cost": 95}
data: [DONE]

نمونه Python

pythonimport requests
B = "https://lemura.ir/wp-json/lemuraai/v1"
H = {"Authorization": "Bearer lsk-YOUR_KEY"}
requests.post(B + "/rag/collections/docs/documents", headers=H, json={
    "documents": [{"id": "pricing", "title": "قیمت‌ها", "text": open("pricing.md", encoding="utf-8").read()}]})
r = requests.post(B + "/rag/collections/docs/query", headers=H,
                  json={"query": "پلن سازمانی چه امکاناتی دارد؟", "model": "gpt-4o-mini"}).json()
print(r["answer"])
for c in r["citations"]:
    print(c["index"], c["title"], c["source_id"])

ابزارهای پلتفرم (وب‌سرویس ابزارها)

همهٔ ابزارهای هوش مصنوعی لمورا با همین کلید و همین کیف پول به‌صورت API مستقیم در دسترس است: POST https://lemura.ir/public/v1/tools/<tool_id>. مستندات کامل هر ابزار (پارامترها، نمونه و تعرفه) در وب‌سرویس ابزارها است؛ این فهرست از همان منبع ساخته می‌شود.

صوت

حذف نویز صدا
audio_denoise
حذف نویز و صدای مزاحم از فایل صوتی~260 ت
تبدیل گفتار به متن
speech_to_text
تبدیل فایل صوتی و ویدیویی به متن و زیرنویس~800 ت
تبدیل متن به گفتار
text_to_speech
خواندن متن با صدای طبیعی فارسی و انگلیسی (MP3)~160 ت

کد

مفسر کد پایتون
code_interpreter
اجرای کد پایتون برای محاسبه، تحلیل داده و تبدیل فایل~115 ت

تولید اسناد

تولید سند Word
docx_generate
ساخت سند Word (نامه، گزارش، قرارداد، رزومه) یا پر کردن قالب Word~270 ت
تولید PDF
pdf_generate
تبدیل متن و HTML به PDF زیبا با فونت فارسی (فاکتور، گواهی، گزارش)~270 ت
ابزارهای PDF
pdf_tools
ادغام، جداسازی، چرخش، واترمارک و تبدیل صفحات PDF~165 ت
تولید پاورپوینت
pptx_generate
ساخت ارائهٔ پاورپوینت با اسلاید، تم، یادداشت و تصویر — فارسی و راست‌به‌چپ~320 ت
ساخت QR کد
qrcode_generate
ساخت کیو‌آر کد برای لینک، متن، وای‌فای یا کارت ویزیت~35 ت
تولید اکسل
xlsx_generate
ساخت فایل اکسل با چند شیت، فرمول و نمودار~220 ت

مالی

بازار رمزارز
crypto_market
قیمت لحظه‌ای و نمودار ارزهای دیجیتال از صرافی‌های معتبر~65 ت
بازار سهام و تحلیل تکنیکال
stock_market
قیمت سهام، طلا و ارز به‌همراه تحلیل تکنیکال و نمودار~65 ت

تصویر

ویرایش تصویر
image_edit
تغییر اندازه، برش، چرخش، فیلتر، واترمارک و تبدیل فرمت عکس~68 ت
حذف پس‌زمینه تصویر
remove_background
حذف پس‌زمینهٔ عکس و ساخت PNG شفاف~330 ت

پردازش زبان

تحلیل متن (spaCy + fastText)
nlp_analyze
تشخیص زبان و استخراج نام اشخاص، مکان‌ها و سازمان‌ها~45 ت
پردازش زبان فارسی (Hazm)
persian_nlp
نرمال‌سازی و تحلیل متن فارسی (نیم‌فاصله، ریشه‌یابی، جمله‌بندی)~45 ت
خلاصه‌سازی و تحلیل احساس
text_summarize
خلاصه‌سازی متن‌های طولانی و تحلیل احساس نظرات~76 ت

پردازش فایل

فشرده‌سازی و استخراج آرشیو
archive_tools
ساخت و باز کردن فایل‌های فشردهٔ zip و 7z~90 ت
استخراج محتوای اصلی صفحه وب
html_extract
خواندن متن اصلی یک صفحهٔ وب یا مقاله~65 ت
تشخیص متن از تصویر (OCR)
ocr_image
خواندن متن فارسی و انگلیسی از عکس و PDF اسکن‌شده~550 ت
استخراج متن و جدول PDF
pdf_extract
استخراج متن و جدول‌های فایل PDF~180 ت

پایگاه دانش (RAG)

ساخت پایگاه دانش (RAG)
knowledge_index
ساخت پایگاه دانش اختصاصی از فایل‌ها و صفحات شما~250 ت
جستجو در پایگاه دانش
knowledge_search
پرسش و جستجو در پایگاه دانش اختصاصی شما~35 ت

ویدیو و انیمیشن

انیمیشن سفارشی با کد React
animation_code
ساخت انیمیشن کاملاً سفارشی با کد React (Remotion)~3,000 ت
ساخت انیمیشن و موشن‌گرافیک
animation_render
ساخت ویدیو و موشن‌گرافیک با صحنه، متن فارسی، نمودار، موسیقی و ترنزیشن~2,400 ت

مصورسازی و داده

ساخت نمودار
chart_generate
ساخت نمودار میله‌ای، خطی، دایره‌ای و ... از داده‌ها~68 ت
تولید دادهٔ آزمایشی
fake_data
تولید دادهٔ آزمایشی واقعی‌نما (نام، شماره، آدرس، ...)~35 ت

وب

مرورگر هدلس
browser_render
باز کردن سایت در مرورگر واقعی و گرفتن اسکرین‌شات یا PDF~260 ت
استخراج داده از وب (Scraper)
web_scrape
استخراج متن، لینک، جدول و اطلاعات از صفحات وب~55 ت