Claude Opus 4.1 (batch) یا Claude Fable 5؟
هر دو با همان کلید و همان کد در یوتاپن کار میکنند؛ فقط مقدار model عوض میشود. پس میتوانی بدون تغییر معماری، هر دو را روی کار واقعی خودت تست کنی. از نظر هزینه، Claude Opus 4.1 (batch) حدود ۱٫۳ برابر ارزانتر تمام میشود.
| ویژگی | Claude Opus 4.1 (batch) | Claude Fable 5 |
|---|---|---|
| تأمینکننده | Anthropic | Anthropic |
| شناسهٔ مدل | anthropic/claude-opus-4.1:batch | anthropic/claude-fable-5 |
| context | 200,000 توکن | 1,000,000 توکن |
| حداکثر خروجی | 32,000 توکن | 128,000 توکن |
| ورودی / ۱M توکن | 2,175,938 تومان | 2,901,250 تومان |
| خروجی / ۱M توکن | 10,879,688 تومان | 14,506,250 تومان |
| ≈ یک درخواست ۱٬۰۰۰ کلمهای | 16,972 تومان | 22,630 تومان |
| cache ورودی | 217,594 تومان / ۱M | 290,125 تومان / ۱M |
| ورودی تصویر | دارد | دارد |
| ورودی فایل | دارد | دارد |
| tool calling | دارد | دارد |
| خروجی JSON | دارد | دارد |
| حالت استدلال | دارد | دارد |
کدام برای چه کاری؟
Claude Opus 4.1 (batch)
- مسئلههای چندمرحلهای، ریاضی و دیباگ
- تحلیل اسناد بلند و کدبیس در یک درخواست
- خواندن تصویر، فاکتور و فرم
- ایجنت و اتصال به API و دیتابیس
16,972 تومان برای هر ۱٬۰۰۰ کلمه · صفحهٔ مدل
Claude Fable 5
- مسئلههای چندمرحلهای، ریاضی و دیباگ
- تحلیل اسناد بلند و کدبیس در یک درخواست
- خواندن تصویر، فاکتور و فرم
- ایجنت و اتصال به API و دیتابیس
22,630 تومان برای هر ۱٬۰۰۰ کلمه · صفحهٔ مدل
تست هر دو با یک کد
فقط model را بین دو شناسه عوض کن و همان درخواست را دو بار بفرست؛ هزینهٔ هر پاسخ در هدر X-Uttapen-Cost-Toman برمیگردد.
curl https://api.uttapen.ir/v1/chat/completions \
-H "Authorization: Bearer sk-up-…" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-opus-4.1:batch",
"messages": [{"role": "user", "content": "سلام! خودت را معرفی کن."}],
"stream": true
}'from openai import OpenAI
client = OpenAI(
base_url="https://api.uttapen.ir/v1",
api_key="sk-up-…",
)
stream = client.chat.completions.create(
model="anthropic/claude-opus-4.1:batch",
messages=[{"role": "user", "content": "سلام! خودت را معرفی کن."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="", flush=True)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.uttapen.ir/v1",
apiKey: "sk-up-…",
});
const stream = await client.chat.completions.create({
model: "anthropic/claude-opus-4.1:batch",
messages: [{ role: "user", content: "سلام! خودت را معرفی کن." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}<?php
// composer require openai-php/client guzzlehttp/guzzle
$client = OpenAI::factory()
->withBaseUri('https://api.uttapen.ir/v1')
->withApiKey('sk-up-…')
->make();
$result = $client->chat()->create([
'model' => 'anthropic/claude-opus-4.1:batch',
'messages' => [['role' => 'user', 'content' => 'سلام! خودت را معرفی کن.']],
]);
echo $result->choices[0]->message->content;package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://api.uttapen.ir/v1"),
option.WithAPIKey("sk-up-…"),
)
resp, err := client.Chat.Completions.New(context.Background(), openai.ChatCompletionNewParams{
Model: "anthropic/claude-opus-4.1:batch",
Messages: []openai.ChatCompletionMessageParamUnion{openai.UserMessage("سلام! خودت را معرفی کن.")},
})
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}model = "anthropic/claude-fable-5"
مقایسههای دیگر: همهٔ جفتها · رتبهبندی مدلها · فهرست کامل
base_url = https://api.uttapen.ir/v1