Felo APIs
LLM API
Felo ماڈل endpoints کو OpenAI کے ساتھ ہم آہنگ اور Anthropic کے ساتھ ہم آہنگ پروٹوکولز کے ذریعے کال کریں۔
/api/v1/modelsتصدیق
Bearer API key or X-API-Key
مواد کی قسم
application/json
ریٹ نوٹس
Model service limits may apply. Retry with backoff on 429 or 503.
LLM API Felo API Platform کے ذریعے ماڈل کو براہ راست کال کرنے والے endpoints فراہم کرتا ہے۔ اِسے اُس وقت استعمال کریں جب آپ عمومی مقصد کے زبان کے ماڈلز کال کرنا چاہیں، OpenAI-compatible یا Anthropic-compatible کلائنٹس دوبارہ استعمال کرنا چاہیں، یا ایجنٹ فریم ورکس کو Felo API Platform سے جوڑنا چاہیں۔
LLM API میں فی الحال تین چیٹ کے ساتھ compatible ماڈل کال کرنے کی سطحیں شامل ہیں:
POST /api/v1/responses: OpenAI Responses کے ساتھ compatiblePOST /api/v1/chat/completions: OpenAI Chat Completions کے ساتھ compatiblePOST /api/v1/messages: Anthropic Messages کے ساتھ compatible
Decisions API
POST https://openapi.felo.ai/api/v1/decisionsjev-1.13 کو حالت اور محدود قسم کے سوالات بھیجیں (یہ بھی قبول: typesafe/jev-1.13)۔ /api/v1/decisions استعمال کریں، Chat Completions، Messages یا Responses endpoints نہیں۔ اسٹریمنگ معاون نہیں۔
درخواست کے فیلڈز
model:jev-1.13state: جانچنے کے لیے سیاق و سباق؛ ایک سٹرنگ یا JSON ویلیو۔questions:type،instructionsاورcriteriaاستعمال کرنے والے نامزد سوالات۔
import os
import requests
response = requests.post(
"https://openapi.felo.ai/api/v1/decisions",
headers={"Authorization": f"Bearer {os.environ['FELO_API_KEY']}"},
json={
"model": "jev-1.13",
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this message convey urgency?",
"criteria": {"true": "Time-sensitive", "false": "No urgency"},
},
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts",
},
},
"frustration": {
"type": "score",
"instructions": "How frustrated is the customer?",
"criteria": ["Calm", "Frustrated", "Very angry"],
},
},
},
timeout=60,
)
response.raise_for_status()
answers = response.json()["answers"]
print(answers["is_urgent"]["noul"])
print(answers["department"]["choice"], answers["department"]["probabilities"])
print(answers["frustration"]["score"])جواب کی اقسام
noul: 0 سے 1 تک امکان۔ choice: منتخب آپشن اور اُس کی احتمال کی تقسیم۔ score: ترتیب شدہ معیار کے لیے عددی اسکور، اُس کی تقسیم کے ساتھ۔
ایررز error.code (عددی HTTP اسٹیٹس) اور error.message استعمال کرتے ہیں۔ answers پڑھنے سے پہلے غیر 2xx جوابات سنبھالیں۔
استعمال اور قیمت
جواب میں usage.input_tokens، usage.output_tokens شامل ہوتے ہیں اور usage.cost بھی شامل ہو سکتا ہے۔ 2026-10-12 کو جانچے گئے حوالہ جاتی ریٹس: اِن پٹ USD 0.042 فی ملین ٹوکن؛ آؤٹ پٹ USD 0۔ آؤٹ پٹ ریٹ صفر ہونا اِن پٹ کے استعمال کو مفت نہیں بناتا۔ ریٹس بدل سکتے ہیں؛ تخمینے کے لیے شائع شدہ ماڈل قیمت اور قابل اطلاق اکاؤنٹ ڈسکاؤنٹس استعمال کریں۔
تصدیق
LLM API درخواستوں کے لیے Felo API Platform کلید درکار ہے۔ Authorization: Bearer ... یا X-API-Key میں سے کوئی ایک استعمال کریں۔
Authorization: Bearer YOUR_API_KEYX-API-Key: YOUR_API_KEYAPI کلیدیں بنانے اور منظم کرنے کی تفصیلات کے لیے تصدیق کی گائیڈ دیکھیں۔
Base URL
عوامی Felo API Platform ہوسٹ استعمال کریں:
https://openapi.felo.aiSDK کلائنٹس کے لیے Basic Usage میں دکھایا گیا پروٹوکول کے مطابق base URL کنفیگر کریں۔
عام ہیڈرز
| ہیڈر | لازمی | تفصیل |
|---|---|---|
Authorization | ہاں، الا یہ کہ X-API-Key استعمال ہو | API کلید Bearer YOUR_API_KEY کی شکل میں |
X-API-Key | ہاں، الا یہ کہ Authorization استعمال ہو | Bearer ہیڈر کا متبادل API کلید |
Content-Type | ہاں | application/json ہونا چاہیے |
X-Request-Id | نہیں | خرابی کی تشخیص کے لیے اختیاری request ID |
Model Discovery
عمومی کیٹلاگ میں تمام ماڈل کیٹیگریز شامل ہیں۔ ویڈیو یا ڈیسیژن ماڈلز دریافت کرنے کے لیے مخصوص فہرستیں استعمال کریں:
| endpoint | ماڈل کیٹیگریز |
|---|---|
GET /api/v1/models | تمام کیٹیگریز (بغیر تبدیلی) |
GET /api/v1/videos/models | ویڈیو جنریشن (video_generation) |
GET /api/v1/decisions/models | Decisions، بشمول Jev (decisions) |
تینوں endpoints اختیاری provider query parameter قبول کرتے ہیں (مثلاً openrouter) اور {"object":"list","data":[...]} واپس کرتے ہیں۔ ہر آئٹم میں id، object، created، owned_by اور model_kind شامل ہوتے ہیں۔ مخصوص فہرستیں فعال فراہم کنندہ میپنگ اوور رائیڈز کے بعد موثر کیٹیگری استعمال کرتی ہیں۔
صرف فعال، فہرست شدہ، غیر حذف شدہ ماڈلز واپس آتے ہیں جن کی موجودہ قیمت فراہم کنندہ کی شرائط سے میل کھاتی ہو؛ صفر قیمت درست ہے۔ نئے سنک شدہ ماڈلز اُس وقت تک چھپے رہتے ہیں جب تک کوئی منتظم اُنہیں فہرست نہ کرے۔ تمام فہرستیں ایک ہی کنفیگر شدہ ترتیب استعمال کرتی ہیں، جس میں ماڈل کا نام اور ID ٹائی بریکر ہیں۔ کوئی میل نہ ہونے پر HTTP 200 کے ساتھ خالی data ایرے ملتا ہے۔ دریافت مقامی کیٹلاگ پڑھتی ہے اور ماڈل کال نہیں کرتی نہ اُس کا چارج لیتی ہے۔
صرف GET /api/v1/models exclude_video_and_decisions (boolean، ڈیفالٹ false) قبول کرتا ہے۔ موثر اقسام video_generation اور decisions خارج کرنے کے لیے اِسے true پر سیٹ کریں؛ تصویری ماڈلز پھر بھی شامل رہتے ہیں۔ اِسے provider کے ساتھ ملایا جا سکتا ہے۔ چھوڑ دینے یا false پر سیٹ کرنے سے مکمل کیٹلاگ برقرار رہتا ہے۔ غلط boolean ویلیوز HTTP 422 واپس کرتی ہیں۔
curl "https://openapi.felo.ai/api/v1/models?exclude_video_and_decisions=true&provider=openrouter" \
-H "Authorization: Bearer ${FELO_API_KEY}"
curl "https://openapi.felo.ai/api/v1/videos/models?provider=openrouter" \
-H "Authorization: Bearer ${FELO_API_KEY}"
curl "https://openapi.felo.ai/api/v1/decisions/models?provider=openrouter" \
-H "Authorization: Bearer ${FELO_API_KEY}"model_kind کے مطابق کال کرنے والا endpoint منتخب کریں: Responses، Chat Completions یا Messages کے لیے chat، جیسا کہ ماڈل معاونت کرتا ہو؛ POST /api/v1/videos/generations کے لیے video_generation؛ POST /api/v1/decisions کے لیے decisions؛ POST /api/v1/images/generations کے لیے image_generation۔ تفصیلات GET /api/v1/models/{model_id} پر رہتی ہیں۔ فہرست شدہ ماڈل کا ہر کال کرنے والے endpoint کے ساتھ compatible ہونا لازمی نہیں۔
تصویری ماڈلز کے لیے کوئی مخصوص فہرست endpoint نہیں۔ GET /api/v1/models کو model_kind: "image_generation" سے فلٹر کریں۔ تصویر کی درخواست کے فیلڈز کے لیے تصویر جنریشن دیکھیں۔
Models and Pricing (ماڈلز اور قیمتیں)
درخواستیں ماڈل کے ڈیفالٹ چینل کو استعمال کرتی ہیں، الا یہ کہ آپ X-Felo-Channel سے کوئی چینل پن کریں۔ ماڈل کیٹلاگ سے عوامی چینل کوڈز کی ترتیب وار، کوما سے الگ کی گئی فہرست بھیجیں؛ ڈیفالٹ استعمال کرنے کے لیے ہیڈر چھوڑ دیں۔ default صرف اکیلا استعمال کریں۔ صرف پہلے چینل کا فراہم کنندہ گروپ جمع کرایا جاتا ہے؛ کوئی خودکار فال بیک نہیں۔ چینلز اور فراہم کنندہ روٹنگ دیکھیں۔
قیمتیں USD میں درج ہیں۔ ٹوکن ریٹس پڑھنے میں آسانی کے لیے فی 1 ملین ٹوکن دکھائے جاتے ہیں؛ بلنگ موجودہ قیمت اسنیپ شاٹ کی فی ٹوکن درستگی استعمال کرتی ہے۔ کیش ریٹس صرف اُس وقت لاگو ہوتے ہیں جب پروٹوکول جواب میں کیش کا استعمال شامل ہو۔ ڈیش کا مطلب ہے کوئی الگ شائع شدہ ریٹ یا شائع شدہ حد نہیں۔ ویب سرچ کا استعمال، جب ماڈل سروس رپورٹ کرے، فی تلاش $0.01 پر چارج ہوتا ہے۔
| ماڈل ID | سیاق و سباق | زیادہ سے زیادہ آؤٹ پٹ | اِن پٹ / 1M ٹوکن | آؤٹ پٹ / 1M ٹوکن | کیش ریڈ / 1M ٹوکن | کیش رائٹ / 1M ٹوکن |
|---|---|---|---|---|---|---|
claude-haiku-4-5 | 200K | 64K | $1.00 | $5.00 | $0.10 | $1.25 |
claude-sonnet-4-6 | 1M | 128K | $3.00 | $15.00 | $0.30 | $3.75 |
claude-opus-4-8 | 1M | 128K | $5.00 | $25.00 | $0.50 | $6.25 |
claude-sonnet-5 | 1M | 128K | $2.00 | $10.00 | $0.20 | $2.50 |
claude-haiku-5-5 | 1M | 128K | $0.10 | $0.50 | $0.01 | $0.0125 |
gpt-5.5 | 1.05M | 128K | $5.00 | $30.00 | $0.50 | - |
gpt-5.5-pro | 1.05M | 128K | $30.00 | $180.00 | - | - |
gpt-5.6-luna | 1.05M | 128K | $1.00 | $6.00 | $0.10 | $1.25 |
gpt-5.6-terra | 1.05M | 128K | $2.50 | $15.00 | $0.25 | $3.125 |
gpt-5.6-sol | 1.05M | 128K | $5.00 | $30.00 | $0.50 | $6.25 |
grok-4.5 | 500K | - | $2.00 | $6.00 | $0.50 | - |
deepseek-v4-flash | 1M | 384K | $0.09 | $0.18 | $0.018 | - |
Claude Haiku 5.5 ٹیئرڈ قیمت استعمال کرتا ہے: 100K ٹوکن تک کے پرامپٹس اوپر دیے گئے معیاری ریٹس پر بل کیے جاتے ہیں، اور وہ درخواستیں جن کا پرامپٹ 100K ٹوکن سے تجاوز کرے، پوری درخواست کے لیے $0.50 اِن پٹ، $2.50 آؤٹ پٹ، $0.05 کیش ریڈ اور $0.0625 کیش رائٹ فی 1M ٹوکن پر بل کی جاتی ہیں۔
GPT-5.6 تین ٹیئرز میں دستیاب ہے: تیز، کم خرچ ورک لوڈز کے لیے Luna؛ متوازن کوڈنگ، ریزرننگ اور ایجنٹک ٹاسکس کے لیے Terra؛ اور فلیگ شپ پیچیدہ ریزرننگ اور کوڈنگ کے لیے Sol۔ ہر ٹیئر ایک -pro ماڈل ID بھی ظاہر کرتا ہے (gpt-5.6-luna-pro، gpt-5.6-terra-pro اور gpt-5.6-sol-pro) جو pro ریزرننگ موڈ کے ساتھ وہی بنیادی ماڈل استعمال کرتا ہے۔ -pro IDs کے لیے قیمت، سیاق و سباق کی لمبائی اور زیادہ سے زیادہ آؤٹ پٹ میں کوئی تبدیلی نہیں۔
DeepSeek V4 Flash ریزرننگ اور غیر ریزرننگ موڈز، JSON آؤٹ پٹ، ٹول کالز، Responses API اور Anthropic API مطابقت کی معاونت کرتا ہے۔ یہ Felo کی Responses، Chat Completions اور Messages سطحوں کے ذریعے دستیاب ہے۔ کیش رائٹ کی قیمت ابھی شائع نہیں ہوئی۔
Basic Usage (بنیادی استعمال)
یہ مثالیں سرکاری OpenAI اور Anthropic SDKs استعمال کرتی ہیں۔ مثالیں چلانے سے پہلے FELO_API_KEY کو اپنی Felo API Platform کلید پر سیٹ کریں۔
export FELO_API_KEY="YOUR_API_KEY"SDKs انسٹال کریں
OpenAI SDK
Responses API اور Chat Completions API کے لیے OpenAI SDK استعمال کریں۔
##### JavaScript
npm install openai##### Python
pip install openaiAnthropic SDK
Messages API کے لیے Anthropic SDK استعمال کریں۔
##### JavaScript
npm install @anthropic-ai/sdk##### Python
pip install anthropicکلائنٹس کی کنفیگریشن
OpenAI-compatible endpoints /api/v1 کے ساتھ OpenAI SDK base URL استعمال کرتے ہیں، کیونکہ SDK /responses اور /chat/completions جیسے ریسورس راستے جوڑتا ہے۔
JavaScript
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api/v1",
});Python
import os
from openai import OpenAI
openai = OpenAI(
api_key=os.environ.get("FELO_API_KEY"),
base_url="https://openapi.felo.ai/api/v1",
)Anthropic-compatible endpoints /v1 کے بغیر Anthropic SDK base URL استعمال کرتے ہیں، کیونکہ SDK /v1/messages جوڑتا ہے۔
JavaScript
import Anthropic from "@anthropic-ai/sdk";
const anthropic = new Anthropic({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api",
});Python
import os
from anthropic import Anthropic
anthropic = Anthropic(
api_key=os.environ.get("FELO_API_KEY"),
base_url="https://openapi.felo.ai/api",
)Responses API کا استعمال
نئے OpenAI-compatible انٹیگریشنز اور ایجنٹ طرز کے response آبجیکٹس کے لیے Responses API استعمال کریں۔
JavaScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api/v1",
});
const response = await client.responses.create({
model: "gpt-5.6-sol",
input: "Write a one-sentence bedtime story about a unicorn.",
});
console.log(response.output_text);Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("FELO_API_KEY"),
base_url="https://openapi.felo.ai/api/v1",
)
response = client.responses.create(
model="gpt-5.6-sol",
input="Write a one-sentence bedtime story about a unicorn.",
)
print(response.output_text)Chat Completions کا استعمال
جب آپ کی ایپلیکیشن پہلے ہی OpenAI طرز کے messages بھیجتی ہو تو Chat Completions استعمال کریں۔
JavaScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api/v1",
});
const completion = await client.chat.completions.create({
model: "gpt-5.6-sol",
messages: [
{
role: "user",
content: "Give me one sentence about why API compatibility matters.",
},
],
});
console.log(completion.choices[0].message.content);Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("FELO_API_KEY"),
base_url="https://openapi.felo.ai/api/v1",
)
completion = client.chat.completions.create(
model="gpt-5.6-sol",
messages=[
{
"role": "user",
"content": "Give me one sentence about why API compatibility matters.",
}
],
)
print(completion.choices[0].message.content)Messages کا استعمال
جب آپ کا کلائنٹ یا ایجنٹ فریم ورک Anthropic-compatible درخواست اور جواب کی ساختیں توقع کرے تو Messages استعمال کریں۔
JavaScript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api",
});
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 128,
messages: [
{
role: "user",
content: "Summarize the value of direct model APIs in one sentence.",
},
],
});
const text = message.content
.filter((block) => block.type === "text")
.map((block) => block.text)
.join("");
console.log(text);Python
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ.get("FELO_API_KEY"),
base_url="https://openapi.felo.ai/api",
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=128,
messages=[
{
"role": "user",
"content": "Summarize the value of direct model APIs in one sentence.",
}
],
)
text = "".join(block.text for block in message.content if block.type == "text")
print(text)سرکاری دستاویزات
- OpenAI API Quickstart
- OpenAI Create response
- OpenAI Create chat completion
- Claude Messages API
- Anthropic TypeScript SDK
- Anthropic Python SDK
ایجنٹ کلائنٹ سیٹ اپ کے لیے Claude Code اور Codex کی کنفیگریشن دیکھیں۔
Protocol Reference
Responses
یہ endpoint OpenAI Responses API کے ساتھ compatible کلائنٹس اور انٹیگریشنز کے لیے استعمال کریں۔
endpoint
POST https://openapi.felo.ai/api/v1/responsesدرخواست باڈی
| پیرامیٹر | قسم | لازمی | تفصیل |
|---|---|---|---|
model | string | ہاں | عوامی Felo ماڈل ID |
input | string یا array | ہاں | صارف کا اِن پٹ، کثیر الجہت اِن پٹ یا ملٹی موڈل اِن پٹ |
instructions | string | نہیں | سسٹم یا ڈویلپر ہدایات |
stream | boolean | نہیں | Server-Sent Events اسٹریمنگ استعمال کرنا ہے یا نہیں |
temperature | number | نہیں | سیمپلنگ درجہ حرارت |
max_output_tokens | integer | نہیں | زیادہ سے زیادہ آؤٹ پٹ ٹوکنز |
SDK درخواست
const response = await client.responses.create({
model: "gpt-5.6-sol",
input: "Reply with exactly: responses ok",
});
console.log(response.output_text);جواب کا متن کا راستہ
output_textChat Completions
یہ endpoint OpenAI Chat Completions کے ساتھ compatible کلائنٹس اور SDKs کے لیے استعمال کریں۔
endpoint
POST https://openapi.felo.ai/api/v1/chat/completionsدرخواست باڈی
| پیرامیٹر | قسم | لازمی | تفصیل |
|---|---|---|---|
model | string | ہاں | عوامی Felo ماڈل ID |
messages | array | ہاں | مکالمے کے پیغامات |
messages[].role | string | ہاں | system، user یا assistant |
messages[].content | string | ہاں | پیغام کا مواد |
stream | boolean | نہیں | Server-Sent Events اسٹریمنگ استعمال کرنا ہے یا نہیں |
temperature | number | نہیں | سیمپلنگ درجہ حرارت |
max_tokens | integer | نہیں | زیادہ سے زیادہ آؤٹ پٹ ٹوکنز |
SDK درخواست
const completion = await client.chat.completions.create({
model: "gpt-5.6-sol",
messages: [
{
role: "user",
content: "Reply with exactly: chat completions ok",
},
],
});
console.log(completion.choices[0].message.content);جواب کا متن کا راستہ
choices[0].message.contentMessages
یہ endpoint Anthropic Messages کے ساتھ compatible کلائنٹس اور SDKs کے لیے استعمال کریں۔
endpoint
POST https://openapi.felo.ai/api/v1/messagesدرخواست باڈی
| پیرامیٹر | قسم | لازمی | تفصیل |
|---|---|---|---|
model | string | ہاں | عوامی Felo ماڈل ID |
max_tokens | integer | ہاں | زیادہ سے زیادہ آؤٹ پٹ ٹوکنز |
messages | array | ہاں | مکالمے کے پیغامات |
messages[].role | string | ہاں | user یا assistant |
messages[].content | string یا array | ہاں | سادہ متن یا Anthropic content blocks |
system | string | نہیں | سسٹم پرامپٹ |
stream | boolean | نہیں | Server-Sent Events اسٹریمنگ استعمال کرنا ہے یا نہیں |
temperature | number | نہیں | سیمپلنگ درجہ حرارت |
SDK درخواست
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 64,
messages: [
{
role: "user",
content: "Reply with exactly: messages ok",
},
],
});
const text = message.content
.filter((block) => block.type === "text")
.map((block) => block.text)
.join("");
console.log(text);Content Block درخواست
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 64,
messages: [
{
role: "user",
content: [
{
type: "text",
text: "Reply with exactly: messages ok",
},
],
},
],
});جواب کا متن کا راستہ
content[].textاسٹریمنگ
Server-Sent Events وصول کرنے کے لیے stream کو true پر سیٹ کریں۔ ایونٹ پے لوڈ کا فارمیٹ منتخب پروٹوکول کی پیروی کرتا ہے:
- Responses اسٹریمز Responses-compatible response ایونٹس واپس کرتے ہیں۔
- Chat Completions اسٹریمز OpenAI-compatible chat completion chunks واپس کرتے ہیں۔
- Messages اسٹریمز Anthropic-compatible message ایونٹس واپس کرتے ہیں۔
const stream = await client.responses.create({
model: "gpt-5.6-sol",
input: "Write one sentence.",
stream: true,
});کلائنٹس کو اسٹریم اُس پروٹوکول کے مطابق پارس کرنا چاہیے جو وہ استعمال کر رہے ہیں، نہ کہ تینوں endpoints میں ایک مشترکہ ایونٹ schema کی توقع کرنی چاہیے۔
ایررز
LLM API جہاں ممکن ہو منتخب پروٹوکول کی ایرر شکل واپس کرتا ہے۔ عام وجوہات میں شامل ہیں:
| HTTP اسٹیٹس | وجہ | تجویز کردہ اقدام |
|---|---|---|
400 | غلط JSON باڈی یا پروٹوکول کے لازمی فیلڈز غائب | model، messages، input، max_tokens اور content block فیلڈز چیک کریں |
401 | API کلید غائب یا غلط | Authorization: Bearer ... یا X-API-Key کی تصدیق کریں |
402 | اکاؤنٹ میں ناکافی کریڈٹ | اپنا Felo اکاؤنٹ بیلنس چیک کریں |
429 | ریٹ کی حد سے تجاوز | درخواستیں کم کریں اور بعد میں دوبارہ کوشش کریں |
502 | ماڈل سروس کی درخواست ناکام | دوبارہ کوشش کریں اور معاونت سے رابطے کے وقت X-Request-Id فراہم کریں |
503 | ماڈل سروس عارضی طور پر دستیاب نہیں | بیک آف کے ساتھ دوبارہ کوشش کریں یا کوئی دوسرا شائع شدہ ماڈل منتخب کریں |