پشتیبانی مستقیم از Meta: مدلهای Muse Spark 1.3 و Muse Image 1.0
تاریخ: ۱۴۰۵-۰۷-۲۹ / (2026-10-21)
خلاصه
AvalAI اکنون از Meta بهطور مستقیم از طریق meta.ai پشتیبانی میکند: Muse Spark 1.3 برای استدلال و کدنویسی و Muse Image 1.0 برای تولید تصویر. هر دو از سطح ۱ در دسترساند. برای این دو مدل مستقیم Meta، در حال حاضر کارمزد ۱۵٪ پردازش صورتحساب علاوه بر قیمت رسمی دریافت میشود.
مدلها و نقاط پایانی در دسترس
این انتشار یکپارچهسازی مستقیم با ارائهدهنده Meta را اضافه میکند؛ این مسیر با مدلهای Llama که شرکا میزبانی میکنند و Muse Glimmer در Fireworks.ai متفاوت است. شناسههای دقیق زیر را با کلید API فعلی AvalAI خود به کار ببرید؛ برای درخواست از طریق AvalAI نیازی به کلید جداگانه Meta ندارید.
| مدل | شناسه دقیق در AvalAI | نقاط پایانی پشتیبانیشده در AvalAI | دسترسی |
|---|---|---|---|
| Muse Spark 1.3 | muse-spark-1.3 | /v1/chat/completions، /v1/messages، /v1/responses (جزئی) | سطح ۱ و بالاتر |
| Muse Image 1.0 | muse-image-1.0 | فقط /v1/images/generations | سطح ۱ و بالاتر |
Muse Spark 1.3
Muse Spark مدل استدلالی میزبانیشده Meta برای کدنویسی، حل مسائل پیچیده و گردشکارهای طولانیمدت عاملهاست. Meta در Model API خود فراخوانی موازی ابزارها، ارسال جریانی آرگومانهای ابزار و تداوم استدلال میان نوبتهای گفتگو را توضیح میدهد. این قابلیتهای API اصلی، به معنی برابری کامل امکانات در همه نقاط پایانی AvalAI نیستند.
فهرست فعلی AvalAI این مشخصات را ثبت کرده است:
- حداکثر ورودی: ۱٬۰۴۸٬۵۷۶ توکن.
- حداکثر خروجی: ۱۳۱٬۰۷۲ توکن. این دو سقف مستقلاند؛ مجموع آنها ظرفیت تضمینشده یک درخواست نیست.
- قابلیتها: استدلال، بینایی، ورودی PDF، فراخوانی تابع، فراخوانی موازی توابع، خروجی ساختاریافته و حافظه نهان پرامپت. دسترسی به کنترلهای هر قابلیت به نقطه پایانی انتخابی بستگی دارد.
- سازگاری نقاط پایانی: Chat Completions و Messages پشتیبانی میشوند؛ پشتیبانی Responses جزئی است.
با یک درخواست متنی ساده شروع کنید. پیش از انتقال گردشکار عامل، قالب ابزارها، رویدادهای جریانی، ورودیهای چندوجهی و کنترلهای استدلال را جداگانه بررسی کنید. فرض نکنید ابزارهای میزبانیشده OpenAI، ادامهدادن پاسخهای ذخیرهشده در Responses یا پارامترهای تفکر و تلاش ارائهدهندهای دیگر بدون تغییر کار میکنند. پاسخ نهایی یا دلیل کوتاه بخواهید، نه زنجیره فکر پنهان.
Muse Image 1.0
Muse Image از دستور متنی تصویر میسازد. Meta روند ترکیببندی مبتنی بر استدلال را برای چیدمانهای ساختاریافته، تصویرسازی، تصاویر محصول و طرحهای خلاقانه توضیح میدهد. سوژه، ترکیببندی، سبک، نورپردازی و متن کوتاه موردنیاز را صریح بنویسید؛ پیش از انتشار، نوشتهها و اعداد تصویر را بررسی کنید. درخواستهای تکراری ممکن است نتیجههای متفاوتی داشته باشند.
AvalAI در حال حاضر برای muse-image-1.0 فقط تولید تصویر را پشتیبانی میکند. این مدل را به /v1/images/edits، /v1/images/variations، Chat Completions، Messages یا Responses نفرستید. مستندات Meta ویرایش، ترکیب تصاویر مرجع و گردشکارهای چندمرحلهای تصویر در Responses را نیز توضیح میدهد؛ این امکانات جزو انتشار فعلی AvalAI نیستند.
Meta برای API اصلی خروجی تا ۱۶۰۰ پیکسل را توصیف میکند. این مشخصات، تضمین وضوح خروجی در AvalAI نیست و نباید بر اساس آن تنظیمات اختصاصی OpenAI مانند size، quality، style، پخش جریانی یا ابزار تصویر را کپی کنید. نمونههای زیر فقط از model، prompt و n: 1 استفاده میکنند.
قیمت رسمی و کارمزد پردازش صورتحساب
AvalAI همچنان به سیاست عمومی کارمزد ۰٪ و عدم افزایش قیمت رسمی ارائهدهندگان پایبند است. دسترسی مستقیم به muse-spark-1.3 و muse-image-1.0 یک استثنای شفاف است: کارمزد ۱۵٪ پردازش صورتحساب علاوه بر قیمت رسمی دریافت میشود تا هزینههای اضافی پرداخت و صورتحساب AvalAI برای ارائه مدلهای meta.ai را پوشش دهد.
این مبلغ، کارمزد پردازش AvalAI علاوه بر قیمت رسمی Meta است؛ افزایش قیمت از سوی Meta نیست. پس از برطرفشدن این هزینههای اضافی، کارمزد ممکن است تغییر کند؛ تاریخ مشخصی برای تغییر یا حذف آن وعده داده نشده است. این انتشار کارمزد تازهای برای همه مدلهای متعلق به Meta در سایر ارائهدهندگان تعیین نمیکند و قیمت مدلهای نامرتبط را تغییر نمیدهد.
همه مبلغهای زیر به دلار آمریکا هستند. نرخهای Spark برای هر یک میلیون توکن و نرخ Image برای هر تصویر خروجی است.
| مدل / نوع هزینه | نرخ رسمی Meta | مبلغ پردازش اضافه ۱۵٪ | نرخ نهایی صورتحساب AvalAI |
|---|---|---|---|
muse-spark-1.3: ورودی / 1M توکن | $1.25 | $0.1875 | $1.4375 |
muse-spark-1.3: ورودی از حافظه نهان / 1M توکن | $0.15 | $0.0225 | $0.1725 |
muse-spark-1.3: خروجی / 1M توکن | $4.25 | $0.6375 | $4.8875 |
muse-image-1.0: خروجی / تصویر | $0.01 | $0.0015 | $0.0115 |
نرخ نهایی = نرخ رسمی × ۱٫۱۵. نرخهای نهایی جدول کارمزد را در خود دارند؛ دوباره ۱۵٪ به آنها اضافه نکنید. برای مثال، تولید ۱۰۰ تصویر خروجی با این نرخها ۱٫۱۵ دلار هزینه دارد، در حالی که هزینه پایه Meta برابر ۱٫۰۰ دلار است. صفر بودن فیلدهای نرخ توکن در رکورد قیمت تصویر به معنی تولید رایگان نیست؛ هزینه خروجی بهازای هر تصویر را مبنا قرار دهید.
نرخ ورودی از حافظه نهان فقط برای توکنهایی اعمال میشود که واقعاً بهعنوان بازیابی از حافظه نهان گزارش شوند. این نرخ، بازیابی موفق را تضمین نمیکند، طول عمر حافظه نهان را تعیین نمیکند و پشتیبانی از پارامتر خاص کنترل حافظه نهان را ثابت نمیکند. برای راهنمای محاسبه و منابع قیمت فعلی، قیمتگذاری را ببینید.
نمونههای درخواست و پاسخ API
مقدار AVALAI_API_KEY را روی کلید AvalAI خود تنظیم کنید و آن را فقط در سرور نگه دارید. زبانههای Python و JavaScript به SDK متناظر OpenAI و برای Messages به SDK شرکت Anthropic نیاز دارند.
پاسخهای نمونه آموزشیاند و از درخواست زنده ثبت نشدهاند. شناسهها، زمانها، متن تولیدشده و تعداد توکنها نمونه هستند. نمونههای متنی از ۲۰ توکن ورودی بدون حافظه نهان و ۱۰۰ توکن خروجی برای نمایش هزینه ۰٫۰۰۰۵۱۷۵ دلار با احتساب کارمزد استفاده میکنند. نرخ تبدیل ۱۰۰٬۰۰۰ تومان برای هر دلار آموزشی است، نه نرخ روز. فیلدهای اختیاری estimated_cost و usage ممکن است متفاوت باشند یا وجود نداشته باشند؛ برای صورتحساب قطعی از User API استفاده کنید. پاسخهای ابزار و استدلال ممکن است آیتمهای نوعدار یا بلوکهای محتوای بیشتری داشته باشند.
۱. Muse Spark با Chat Completions
curl https://api.avalai.ir/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "muse-spark-1.3",
"messages": [{"role": "user", "content": "Give a concise checklist for reviewing an API change."}]
}'import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.chat.completions.create(
model="muse-spark-1.3",
messages=[
{
"role": "user",
"content": "Give a concise checklist for reviewing an API change.",
}
],
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
});
const response = await client.chat.completions.create({
model: "muse-spark-1.3",
messages: [{ role: "user", content: "Give a concise checklist for reviewing an API change." }],
});
console.log(response.choices[0].message.content);پاسخ آموزشی:
{
"id": "chatcmpl-example",
"created": 1792584000,
"model": "muse-spark-1.3",
"object": "chat.completion",
"system_fingerprint": null,
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"role": "assistant",
"content": "Check compatibility, authentication, validation, errors, tests, and billing.",
"thinking_blocks": [],
"annotations": []
}
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 100,
"total_tokens": 120,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": null
},
"estimated_cost": {
"unit": "0.0005175000",
"irt": 51.75,
"exchange_rate": 100000
}
}۲. Muse Spark با Messages
Messages از قالب سازگار با Anthropic استفاده میکند، نه ساختار پاسخ Chat Completions. آدرس پایه SDK شرکت Anthropic برابر https://api.avalai.ir بدون /v1 است، چون SDK مسیر /v1/messages را اضافه میکند. max_tokens الزامی است؛ اگر وظیفه استدلالی به فضای بیشتری نیاز دارد، بودجه نمونه را تا سقف مجاز مدل افزایش دهید.
curl https://api.avalai.ir/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: $AVALAI_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "muse-spark-1.3",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Give a concise checklist for reviewing an API change."}]
}'import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir",
)
response = client.messages.create(
model="muse-spark-1.3",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Give a concise checklist for reviewing an API change.",
}
],
)
for block in response.content:
if block.type == "text":
print(block.text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir",
});
const response = await client.messages.create({
model: "muse-spark-1.3",
max_tokens: 1024,
messages: [{ role: "user", content: "Give a concise checklist for reviewing an API change." }],
});
for (const block of response.content) {
if (block.type === "text") console.log(block.text);
}پاسخ آموزشی:
{
"id": "msg-example",
"type": "message",
"role": "assistant",
"model": "muse-spark-1.3",
"content": [
{
"type": "text",
"text": "Check compatibility, authentication, validation, errors, tests, and billing."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 20,
"output_tokens": 100
},
"estimated_cost": {
"unit": "0.0005175000",
"irt": 51.75,
"exchange_rate": 100000
}
}۳. Muse Spark با Responses: پشتیبانی جزئی
این یک نمونه ساده متنی برای سازگاری است. input بفرستید، نه messages، و در SDK متن را از response.output_text بخوانید. JSON خام متن را داخل آیتمهای نوعدار output قرار میدهد. این نمونه پشتیبانی از ابزارهای میزبانیشده، کارهای پسزمینه، مکالمههای ذخیرهشده، previous_response_id یا شی reasoning شرکت OpenAI را تأیید نمیکند.
curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "muse-spark-1.3",
"input": "Give a concise checklist for reviewing an API change."
}'import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="muse-spark-1.3",
input="Give a concise checklist for reviewing an API change.",
)
print(response.output_text)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
});
const response = await client.responses.create({
model: "muse-spark-1.3",
input: "Give a concise checklist for reviewing an API change.",
});
console.log(response.output_text);پاسخ آموزشی:
{
"id": "resp-example",
"object": "response",
"created_at": 1792584000,
"status": "completed",
"error": null,
"incomplete_details": null,
"model": "muse-spark-1.3",
"output": [
{
"id": "msg-output-example",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Check compatibility, authentication, validation, errors, tests, and billing.",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 20,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 100,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 120
},
"estimated_cost": {
"unit": "0.0005175000",
"irt": 51.75,
"exchange_rate": 100000
}
}۴. Muse Image با Images Generations
نمونه curl پاسخ JSON را ذخیره میکند تا داده بزرگ Base64 در ترمینال چاپ نشود. نمونههای SDK مقدار data[0].b64_json را رمزگشایی و در فایل تصویر ذخیره میکنند. پیش از ارائه تصویر، قالب واقعی خروجی را بررسی کنید؛ پسوند WebP از نمونه مرجع Meta پیروی میکند و پارامتر انتخاب قالب نیست.
curl https://api.avalai.ir/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "muse-image-1.0",
"prompt": "A watercolor painting of a red fox in a snowy pine forest, soft golden morning light.",
"n": 1
}' --output muse-image-response.jsonimport base64
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.images.generate(
model="muse-image-1.0",
prompt="A watercolor painting of a red fox in a snowy pine forest, soft golden morning light.",
n=1,
)
image_base64 = response.data[0].b64_json
if not image_base64:
raise ValueError("The response did not include Base64 image data.")
with open("muse-image.webp", "wb") as image_file:
image_file.write(base64.b64decode(image_base64))import OpenAI from "openai";
import { writeFile } from "node:fs/promises";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
});
const response = await client.images.generate({
model: "muse-image-1.0",
prompt: "A watercolor painting of a red fox in a snowy pine forest, soft golden morning light.",
n: 1,
});
const imageBase64 = response.data?.[0]?.b64_json;
if (!imageBase64) throw new Error("The response did not include Base64 image data.");
await writeFile("muse-image.webp", Buffer.from(imageBase64, "base64"));پاسخ آموزشی؛ فقط مقدار طولانی Base64 کوتاه شده است. usage: null پاسخی بدون حسابداری توکن را نشان میدهد؛ تصویر همچنان هزینه مستقل بهازای هر خروجی دارد.
{
"created": 1792584000,
"data": [
{
"b64_json": "UklGR...[TRUNCATED]"
}
],
"usage": null,
"estimated_cost": {
"unit": "0.0115000000",
"irt": 1150,
"exchange_rate": 100000
}
}شروع استفاده و محدودیتها
۱. در داشبورد AvalAI کلید بسازید و دسترسی سطح ۱ یا بالاتر را بررسی کنید. ۲. برای استدلال و کار متنی muse-spark-1.3 و برای تولید تصویر از متن muse-image-1.0 را انتخاب کنید؛ این دو جایگزین یکدیگر نیستند. ۳. از نقطه پایانی پشتیبانیشده و قالب درخواست و پاسخ همان مسیر استفاده کنید. امکانات پیشرفته Spark را جداگانه بررسی کنید؛ Muse Image را فقط در Images Generations به کار ببرید. ۴. محدودیت نرخ و بودجه را با نرخهای نهایی شامل کارمزد بررسی کنید. درخواستهای تصویر را در صف قرار دهید و خطاهای محدودیت نرخ را مدیریت کنید؛ سهمیههای API اصلی Meta را برای حساب AvalAI خود فرض نکنید.