Felo API PlatformFelo API Platform

Felo APIs

LLM API

Felo ماڈل endpoints کو OpenAI کے ساتھ ہم آہنگ اور Anthropic کے ساتھ ہم آہنگ پروٹوکولز کے ذریعے کال کریں۔

GET/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 کے ساتھ compatible
  • POST /api/v1/chat/completions: OpenAI Chat Completions کے ساتھ compatible
  • POST /api/v1/messages: Anthropic Messages کے ساتھ compatible

Decisions API

POST https://openapi.felo.ai/api/v1/decisions

jev-1.13 کو حالت اور محدود قسم کے سوالات بھیجیں (یہ بھی قبول: typesafe/jev-1.13)۔ /api/v1/decisions استعمال کریں، Chat Completions، Messages یا Responses endpoints نہیں۔ اسٹریمنگ معاون نہیں۔

درخواست کے فیلڈز

  • model: jev-1.13
  • state: جانچنے کے لیے سیاق و سباق؛ ایک سٹرنگ یا 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_KEY
X-API-Key: YOUR_API_KEY

API کلیدیں بنانے اور منظم کرنے کی تفصیلات کے لیے تصدیق کی گائیڈ دیکھیں۔

Base URL

عوامی Felo API Platform ہوسٹ استعمال کریں:

https://openapi.felo.ai

SDK کلائنٹس کے لیے 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/modelsDecisions، بشمول 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-5200K64K$1.00$5.00$0.10$1.25
claude-sonnet-4-61M128K$3.00$15.00$0.30$3.75
claude-opus-4-81M128K$5.00$25.00$0.50$6.25
claude-sonnet-51M128K$2.00$10.00$0.20$2.50
claude-haiku-5-51M128K$0.10$0.50$0.01$0.0125
gpt-5.51.05M128K$5.00$30.00$0.50-
gpt-5.5-pro1.05M128K$30.00$180.00--
gpt-5.6-luna1.05M128K$1.00$6.00$0.10$1.25
gpt-5.6-terra1.05M128K$2.50$15.00$0.25$3.125
gpt-5.6-sol1.05M128K$5.00$30.00$0.50$6.25
grok-4.5500K-$2.00$6.00$0.50-
deepseek-v4-flash1M384K$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 openai

Anthropic 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)

سرکاری دستاویزات

ایجنٹ کلائنٹ سیٹ اپ کے لیے Claude Code اور Codex کی کنفیگریشن دیکھیں۔

Protocol Reference

Responses

یہ endpoint OpenAI Responses API کے ساتھ compatible کلائنٹس اور انٹیگریشنز کے لیے استعمال کریں۔

endpoint

POST https://openapi.felo.ai/api/v1/responses

درخواست باڈی

پیرامیٹرقسملازمیتفصیل
modelstringہاںعوامی Felo ماڈل ID
inputstring یا arrayہاںصارف کا اِن پٹ، کثیر الجہت اِن پٹ یا ملٹی موڈل اِن پٹ
instructionsstringنہیںسسٹم یا ڈویلپر ہدایات
streambooleanنہیںServer-Sent Events اسٹریمنگ استعمال کرنا ہے یا نہیں
temperaturenumberنہیںسیمپلنگ درجہ حرارت
max_output_tokensintegerنہیںزیادہ سے زیادہ آؤٹ پٹ ٹوکنز

SDK درخواست

const response = await client.responses.create({
  model: "gpt-5.6-sol",
  input: "Reply with exactly: responses ok",
});

console.log(response.output_text);

جواب کا متن کا راستہ

output_text

Chat Completions

یہ endpoint OpenAI Chat Completions کے ساتھ compatible کلائنٹس اور SDKs کے لیے استعمال کریں۔

endpoint

POST https://openapi.felo.ai/api/v1/chat/completions

درخواست باڈی

پیرامیٹرقسملازمیتفصیل
modelstringہاںعوامی Felo ماڈل ID
messagesarrayہاںمکالمے کے پیغامات
messages[].rolestringہاںsystem، user یا assistant
messages[].contentstringہاںپیغام کا مواد
streambooleanنہیںServer-Sent Events اسٹریمنگ استعمال کرنا ہے یا نہیں
temperaturenumberنہیںسیمپلنگ درجہ حرارت
max_tokensintegerنہیںزیادہ سے زیادہ آؤٹ پٹ ٹوکنز

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.content

Messages

یہ endpoint Anthropic Messages کے ساتھ compatible کلائنٹس اور SDKs کے لیے استعمال کریں۔

endpoint

POST https://openapi.felo.ai/api/v1/messages

درخواست باڈی

پیرامیٹرقسملازمیتفصیل
modelstringہاںعوامی Felo ماڈل ID
max_tokensintegerہاںزیادہ سے زیادہ آؤٹ پٹ ٹوکنز
messagesarrayہاںمکالمے کے پیغامات
messages[].rolestringہاںuser یا assistant
messages[].contentstring یا arrayہاںسادہ متن یا Anthropic content blocks
systemstringنہیںسسٹم پرامپٹ
streambooleanنہیںServer-Sent Events اسٹریمنگ استعمال کرنا ہے یا نہیں
temperaturenumberنہیںسیمپلنگ درجہ حرارت

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 فیلڈز چیک کریں
401API کلید غائب یا غلطAuthorization: Bearer ... یا X-API-Key کی تصدیق کریں
402اکاؤنٹ میں ناکافی کریڈٹاپنا Felo اکاؤنٹ بیلنس چیک کریں
429ریٹ کی حد سے تجاوزدرخواستیں کم کریں اور بعد میں دوبارہ کوشش کریں
502ماڈل سروس کی درخواست ناکامدوبارہ کوشش کریں اور معاونت سے رابطے کے وقت X-Request-Id فراہم کریں
503ماڈل سروس عارضی طور پر دستیاب نہیںبیک آف کے ساتھ دوبارہ کوشش کریں یا کوئی دوسرا شائع شدہ ماڈل منتخب کریں