النماذج
قائمة نماذج GetVibe API وكيفية مخاطبة النماذج في حقل model. ومتغيرات المسار عبر اللواحق :network و:nexus و:sub5 — مسار وسعر وسلوك تخزين مؤقت مختلف.
يأخذ الحقل model اسم النموذج الدقيق. والقائمة الكاملة مع الأسعار ودعم الذاكرة المؤقتة موجودة في صفحة الكتالوج.
- تستخدم المعرّفات
vendor/model(بأسلوب OpenRouter)، مثلanthropic/claude-opus-5؛ ويُقبلclaude-opus-5كاسم بديل للمُدخل بفوترة مماثلة. - يثبّت
model:aliasقناة واحدة، مثلopenai/gpt-5.6-sol:yellow. ويسردGET /v1/modelsمعرّفًا واحدًا لكل نموذج؛ ويعيد?variants=1القائمة الكاملة.
كيف تُحتسب تكلفة الطلب
معظم القنوات هي سجلات أسعار سوقية: يقدّم العديد من البائعين النموذج نفسه بأسعار مختلفة. يُنفَّذ طلبك عند أرخص عرض يقبله، وتُحتسب عليك تكلفة ذلك التنفيذ مضافًا إليها عمولتنا. لذلك يكون السعر لكل رمز نطاقًا لا رقمًا واحدًا — فهو يعتمد على الرتبة التي نُفِّذ منها الطلب.
ينشر GET /api/catalog و GET /v1/pricing ذلك النطاق لكل نموذج (pricing) ولكل قناة (channels[])، مأخوذًا من السلم نفسه الذي يخدمه GET /api/model-ladder?model=<model> مع أعداد عروضه.
| المعلمة | النوع | الوصف |
|---|---|---|
basis | "fill" | "fixed" | "mixed" | "fill": تُحتسب بسعر الشريحة التي تملأ الرسالة، مضافًا إليها العمولة. "fixed": تُحتسب بالسعر المعلن (from = typical = to). "mixed" (على مستوى النموذج فقط): بعض القنوات من كل نوع. |
priceFrom | {input, output} | أرخص درجة — أدنى سعر يمكن أن يُحاسب عليه الطلب. |
priceTypical | {input, output} | الدرجة الوسيطة الموزونة بالعروض: نصف العروض في السجل عندها أو دونها. تصف أين يقف العرض، وليست تنبؤًا بصفقتك التالية. على مستوى الطُراز هي درجة القناة الافتراضية. |
priceTo | {input, output} | أغلى درجة في السجل — أقصى مبلغ يمكن أن يُحاسب عليه طلب بلا max_price. |
pool | string | null | للقناة فقط. الدفتر الذي تشتري منه القناة، كما يطبعه السلّم. يُنشر كل مجمّع كقناة واحدة بالضبط. |
maxPriceCeiling | {input, output} | null | للقناة فقط. عندما يحمل الطلب max_price، لن تملأ هذه القناة فوق الأقل بين max_price وهذا الحد الأقصى. وبدون max_price لا يُرسَل أي حد أقصى. |
minChargePerRequest | number | بالدولار الأمريكي لكل طلب، لا لكل 1M. يظهر فقط على قناة يتقاضى موردها حدًا أدنى لكل طلب (قاعدة المورد): يُحتسب أقل طلب ناجح، على سبيل المثال $0.0000143. وأي طلب تكون تكلفة رموزه أقل — طلب قصير، أو طلب معظمه قراءات مخزّنة مؤقتًا — يُحتسب بهذا المبلغ. وعلى مستوى الموديل (قابل لأن يكون فارغًا) هو قيمة القناة الافتراضية. |
fill | {"24h", "7d"} | null | للقناة فقط (وعلى كل مجمّع مخدوم من /api/model-ladder). حيث امتلأت طلباتنا المدفوعة فعليًا على هذه القناة: لكل درجة، حصة الطلبات وحصة الرموز؛ وavgPrice، المتوسط المرجّح بالرموز للسعر المدفوع — وهو السعر النموذجي الذي ستدفعه فعليًا؛ وحصص ما امتلأ دون سلّم اليوم أو فوقه (الأسعار تتغير) أو ما احتُسب بالحد الأدنى لكل طلب. القيمة null لأي نافذة تضم أقل من 20 طلبًا. |
ladder | string | النموذج فقط. عنوان URL /api/model-ladder مع القائمة الكاملة للرتب وأعداد العروض. |
inputUsd / outputUsd | number | محفوظ للتوافق. على قناة تعبئة يساوي priceFrom — وهو الحد الأدنى، لا سعر ثابت. |
"pricing": {
"basis": "fill",
"unit": "USD per 1M tokens",
"priceFrom": { "input": 0.465, "output": 2.325 },
"priceTypical": { "input": 0.5, "output": 2.5 },
"priceTo": { "input": 1.5, "output": 7.5 },
"minChargePerRequest": 0.0000125,
"ladder": "/api/model-ladder?model=claude-opus-5.5",
"ladderUpdatedAt": "2026-09-25T08:45:01.522Z",
"ladderStale": false
},
"channels": [
{ "address": "claude-opus-5.5:claude-code", "isDefault": true,
"inputUsd": 0.465, "outputUsd": 2.325,
"basis": "fill", "pool": "cc/claude-opus-5-5",
"priceFrom": { "input": 0.465, "output": 2.325 },
"priceTypical": { "input": 0.5, "output": 2.5 },
"priceTo": { "input": 1.5, "output": 7.5 },
"maxPriceCeiling": { "input": 0.6, "output": 3 },
"minChargePerRequest": 0.0000125 }
]claude-code: يُلبّى الطلب على أي درجة تقبله، بين priceFrom وpriceTo. ولتحديد سقف لما قد يكلّفه الطلب، أرسل max_price — فبدونه قد تُلبّى أي درجة على السلّم، ومعه لا يُلبّى الطلب أبدًا فوق سقفك. ولمعرفة العمق خلف سعر ما، اقرأ السلّم؛ ولمعرفة أين تنتهي الطلبات فعليًا، اقرأ fill الخاص به. ويحمل كل طلب في /v1/generations قيمة cost_detail.realisedRate، أي السعر لكل مليون رمز الذي احتُسب به، لتتمكن من وضعه على السلّم. وكل طلب ناجح يكلّف على الأقل minChargePerRequest الخاص بالقناة، لذا فإن طلبًا صغيرًا جدًا أو معظمه من الذاكرة المؤقتة يُحتسب بهذا الحد الأدنى بدلًا من مبلغه لكل رمز.متغيّرات طراز واحد
لمعظم النماذج عدة متغيّرات عامة. يُختار المتغيّر الافتراضي تلقائيًا (تتبع الأولوية إعدادات حسابك أو مفتاحك). لتثبيت متغيّر محدّد لطلب ما، أضِف اسمه المستعار بعد نقطتين إلى اسم النموذج:
"model": "gpt-6.1-sol" // default variant (auto)
"model": "gpt-6.1-sol:yellow" // explicit public variant
"model": "claude-opus-5.5" // use an id from the catalogطلب مثال بمتغيّر صريح:
curl https://getvibeapi.com/v1/chat/completions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4.8:yellow",
"messages": [{"role": "user", "content": "Hello!"}]
}'
# :yellow — pin a public variant for this requestالأسماء المستعارة للمتغيّرات (Variants)
استخدم الأسماء المستعارة من الكتالوج فقط. اللواحق المتاحة:
| المعلمة | النوع | الوصف |
|---|---|---|
:yellow | suffix | متغيّر عام؛ يعتمد التوفر والسعر على النموذج. |
:codex / :claude-code | suffix | مجموعات الاشتراك؛ النماذج التي تخدمها كل مجموعة مدرجة في الكتالوج. |
:pixel | suffix | متغيّر عام لنماذج الوسائط. |
عرض النماذج عبر API
يمكنك جلب القائمة الكاملة لمعرّفات النماذج المتاحة برمجيًا:
curl https://getvibeapi.com/v1/models \
-H "Authorization: Bearer $GETVIBE_API_KEY"إلى جانب id/object/created/owned_by، يحمل كل مدخل type (chat، embedding، rerank، image، video، audio، music، 3d)، وarchitecture.input_modalities / output_modalities وendpoints — أي إلى أين يُرسَل الطلب لذلك النموذج.
- تحتوي القائمة الافتراضية على طُرز المحادثة والتضمين وإعادة الترتيب فقط، بحيث لا يعرض مُنتقي الطُرز في بيئة التطوير طُرازًا لا يدعم المحادثة.
- تُعرض نماذج الوسائط (صورة، فيديو، صوت، موسيقى، 3D) عند الطلب:
?type=image(أو قائمة:?type=image,video)،?output_modalities=image؛ و?modality=و?category=مرادفان لـtype. - كل شيء دفعة واحدة:
?all=trueأو?type=allأوGET /v1/models/all. وتُدرج الوسائط مع متغيّراتها (model:alias) — وهو بالضبط المعرّف الذي يجب إرساله. - يعيد
GET /v1/models/{id}نموذجًا واحدًا؛ وأي معرّف غير معروف يُنتج 404 معcode: "model_not_found".
curl "https://getvibeapi.com/v1/models?type=image,video" \
-H "Authorization: Bearer $GETVIBE_API_KEY"الاشتراك في تحديثات الكتالوج (RSS وJSON Feed)
يُنشر كل نموذج يُضاف إلى الكتالوج، وكذلك منشوراتنا عن المستجدات، في موجز مفتوح — من دون الحاجة إلى مفتاح. اقرأه باستخدام قارئ RSS أو وكيل، ليتمكن الوكيل من تغيير نهجه مع تغيّر النماذج. يحتفظ الموجز بالسجل الكامل، صفحةً بصفحة، ويتضمن كل حدث ما يحتاج إليه الوكيل لاستدعاء النموذج فورًا.
/rss.xml(واسمه البديل/feed.xml) بتنسيق RSS 2.0؛ أما/feed.jsonفبتنسيق JSON Feed 1.1 مع كتلة_metaعلى مستوى الموجز وكتلة_catalogلكل حدث.- الصفحات: 50 حدثًا لكل صفحة، و
?limit=حتى 100، بدءًا بالأحدث. الصفحة التالية (الأقدم) هيnext_urlفي JSON Feed و<atom:link rel="next">في RSS (وفق RFC 5005، معrel="first"وrel="previous"أيضًا). تتضمن الروابط مؤشرًا، لذا فإن نشر نموذج أثناء تنقّلك بين الصفحات لا يغيّر موضع أي حدث سبق أن قرأته. استخدم الروابط كما تُعاد. - عوامل التصفية:
?kind=text|image|video|audio|music|3d|newsو?since=YYYY-MM-DD— تقتصر النتائج على الأحداث بدءًا من ذلك اليوم بتوقيت UTC، بما فيه ذلك اليوم. تعمل عوامل التصفية مع تقسيم النتائج إلى صفحات، وتُحتفظ بها في الروابط. - يتضمن حدث
model_addedالعنوان، وتاريخ ظهور النموذج في الكتالوج، ورابطًا إلى صفحة النموذج، ووصفًا، ويتضمن في_catalog: المعرّفات العامة التي تُرسل بوصفهاmodel(من دون صيغ مسارات:aliasومن دون أسماء المورّدين)، ونقاط النهاية، وأنماط الإدخال والإخراج، ونافذة السياق والحد الأقصى للإخراج، والقدرات (الأدوات، وJSON / الإخراج المنظّم، والرؤية، والاستدلال ومستوياته، والتخزين المؤقت)، والسعر المبدئي المعلن بعملة USD مع وحدته، وللوسائط كل معلمة طلب مع قيمها المسموح بها، وطلبًا جاهزًا (curlوJSON)، ورابطًا إلى الوثائق. أما حدثnewsفهو منشور عن المستجدات. - لا يتغير
guidالخاص بالحدث مطلقًا. لا يتضمن الموجز نتائج إنشاء مسجلة، بل يتضمن طلبًا نموذجيًا فقط. - استطلع التحديثات مرة كل بضع دقائق على الأكثر: لكل صفحة
ETagوLast-Modifiedخاصان بها؛ أرسلIf-None-Match/If-Modified-Since، وستستجيب الصفحة التي لم تتغير بالرمز304من دون جسم استجابة. لجلب المستجدات فقط، احتفظ بتاريخ آخر حدث عالجته واطلب?since=باستخدامه.
curl -sS "https://getvibeapi.com/feed.json?since=2026-10-01&limit=100"
curl -sS -i https://getvibeapi.com/feed.json -H 'If-None-Match: "<ETag from the previous response>"' # -> 304