Felo APIs
LLM API
เรียก endpoint ของโมเดล Felo ผ่านโปรโตคอลที่เข้ากันได้กับ 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 เปิด endpoint สำหรับเรียกโมเดลโดยตรงผ่าน Felo API Platform ใช้เมื่อคุณต้องการเรียกโมเดลภาษาทั่วไป ใช้ไคลเอนต์ที่เข้ากันได้กับ OpenAI หรือ Anthropic ซ้ำ หรือเชื่อมต่อเฟรมเวิร์ก Agent เข้ากับ Felo API Platform
LLM API ปัจจุบันมีพื้นผิวการเรียกโมเดลที่เข้ากันได้กับแชตสามแบบ:
POST /api/v1/responses: เข้ากันได้กับ OpenAI ResponsesPOST /api/v1/chat/completions: เข้ากันได้กับ OpenAI Chat CompletionsPOST /api/v1/messages: เข้ากันได้กับ Anthropic Messages
Decisions API
POST https://openapi.felo.ai/api/v1/decisionsส่งสถานะและคำถามแบบแคบที่มีชนิดกำกับไปยัง jev-1.13 (ยังยอมรับ typesafe/jev-1.13 ด้วย) ใช้ /api/v1/decisions ไม่ใช่ endpoint Chat Completions, Messages หรือ Responses ไม่รองรับสตรีมมิ่ง
ฟิลด์คำขอ
model:jev-1.13state: บริบทที่จะประเมิน เป็นสตริงหรือค่า JSONquestions: คำถามที่ตั้งชื่อโดยใช้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 ให้จัดการการตอบกลับที่ไม่ใช่ 2xx ก่อนอ่าน answers
การใช้งานและราคา
การตอบกลับประกอบด้วย 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_KEYดูคู่มือการรับรองความถูกต้องสำหรับรายละเอียดการสร้างและจัดการคีย์ API
Base URL
ใช้โฮสต์สาธารณะของ Felo API Platform:
https://openapi.felo.aiสำหรับไคลเอนต์ SDK ให้กำหนดค่า base URL เฉพาะโปรโตคอลตามที่แสดงในการใช้งานพื้นฐาน
Header ทั่วไป
| Header | จำเป็น | คำอธิบาย |
|---|---|---|
Authorization | ใช่ เว้นแต่ใช้ X-API-Key | คีย์ API ในรูปแบบ Bearer YOUR_API_KEY |
X-API-Key | ใช่ เว้นแต่ใช้ Authorization | คีย์ API ทางเลือกแทน header แบบ Bearer |
Content-Type | ใช่ | ต้องเป็น application/json |
X-Request-Id | ไม่ | request ID แบบเลือกได้สำหรับการแก้ไขข้อบกพร่อง |
การค้นหาโมเดล
แค็ตตาล็อกทั่วไปมีทุกหมวดหมู่โมเดล ใช้รายการเฉพาะเพื่อค้นหาโมเดลวิดีโอหรือโมเดลตัดสินใจ:
| Endpoint | หมวดหมู่โมเดล |
|---|---|
GET /api/v1/models | ทุกหมวดหมู่ (ไม่เปลี่ยนแปลง) |
GET /api/v1/videos/models | การสร้างวิดีโอ (video_generation) |
GET /api/v1/decisions/models | Decisions รวมถึง Jev (decisions) |
endpoint ทั้งสามยอมรับพารามิเตอร์คิวรี provider แบบเลือกได้ (เช่น openrouter) และส่ง {"object":"list","data":[...]} แต่ละรายการมี id, object, created, owned_by และ model_kind รายการเฉพาะใช้หมวดหมู่ที่มีผลหลังการแทนที่การแมปผู้ให้บริการที่เปิดใช้งาน
จะส่งกลับเฉพาะโมเดลที่เปิดใช้งาน อยู่ในรายการ ไม่ถูกลบ และมีราคาปัจจุบันที่ตรงกับเงื่อนไขของผู้ให้บริการเท่านั้น ราคาเป็นศูนย์ถือว่าถูกต้อง โมเดลที่เพิ่งซิงโครไนซ์จะถูกซ่อนจนกว่าผู้ดูแลระบบจะเพิ่มเข้าในรายการ รายการทั้งหมดใช้ลำดับที่กำหนดค่าไว้ร่วมกัน โดยใช้ชื่อโมเดลและ ID เป็นตัวตัดสินกรณีเสมอกัน หากไม่พบรายการที่ตรง จะได้ HTTP 200 พร้อมอาร์เรย์ data ว่าง การค้นหาจะอ่านแค็ตตาล็อกในเครื่องและไม่เรียกหรือคิดค่าใช้จ่ายสำหรับการเรียกโมเดล
เฉพาะ GET /api/v1/models เท่านั้นที่ยอมรับ exclude_video_and_decisions (บูลีน ค่าเริ่มต้น false) ตั้งเป็น true เพื่อยกเว้นประเภทที่มีผล video_generation และ decisions โมเดลรูปภาพยังคงมีสิทธิ์ รวมกับ provider ได้ การละเว้นพารามิเตอร์นี้หรือตั้งเป็น false จะคงแค็ตตาล็อกเต็มไว้ ค่าบูลีนที่ไม่ถูกต้องจะได้ 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}"เลือก endpoint สำหรับเรียกตาม model_kind: chat สำหรับ Responses, Chat Completions หรือ Messages ตามที่โมเดลรองรับ; video_generation สำหรับ POST /api/v1/videos/generations; decisions สำหรับ POST /api/v1/decisions; image_generation สำหรับ POST /api/v1/images/generations รายละเอียดยังอยู่ที่ GET /api/v1/models/{model_id} โมเดลที่อยู่ในรายการไม่ได้หมายความว่าเข้ากันได้กับทุก endpoint สำหรับเรียก
โมเดลรูปภาพไม่มี endpoint แยกรายการ ให้กรอง GET /api/v1/models ด้วย model_kind: "image_generation" ดูการสร้างรูปภาพสำหรับฟิลด์คำขอของรูปภาพ
โมเดลและราคา (Models and Pricing)
คำขอใช้ช่องทางเริ่มต้นของโมเดล เว้นแต่คุณตรึงช่องทางด้วย X-Felo-Channel ส่งรายการรหัสช่องทางสาธารณะที่คั่นด้วยจุลภาคและเรียงตามลำดับจากแค็ตตาล็อกโมเดล ละเว้น header เพื่อใช้ค่าเริ่มต้น ใช้ default เฉพาะเมื่อใช้เดี่ยว ๆ เท่านั้น เฉพาะกลุ่มผู้ให้บริการของช่องทางแรกที่ถูกส่งไป ไม่มีการสำรองอัตโนมัติ ดูช่องทางและการกำหนดเส้นทางผู้ให้บริการ
ราคาแสดงเป็นสกุลดอลลาร์สหรัฐ อัตราต่อโทเค็นแสดงต่อ 1 ล้านโทเค็นเพื่อความอ่านง่าย การเรียกเก็บเงินใช้ความละเอียดต่อโทเค็นจากสแนปช็อตราคาปัจจุบัน อัตราแคชมีผลเฉพาะเมื่อการตอบกลับของโปรโตคอลมีการใช้แคช ขีดกลางหมายถึงไม่มีอัตราที่เผยแพร่แยกหรือขีดจำกัดที่เผยแพร่ การใช้การค้นหาเว็บ เมื่อโมเดลรายงาน จะถูกคิดที่ $0.01 ต่อการค้นหา
| Model 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 สำหรับงานเขียนโค้ด การให้เหตุผล และงาน Agentic ที่สมดุล; และ Sol สำหรับงานให้เหตุผลและเขียนโค้ดที่ซับซ้อนระดับเรือธง แต่ละระดับยังมี ID โมเดล -pro (gpt-5.6-luna-pro, gpt-5.6-terra-pro และ gpt-5.6-sol-pro) ที่ใช้โมเดลพื้นฐานเดียวกันกับโหมดการให้เหตุผลแบบ pro ราคา ความยาวหน้าต่างบริบท และเอาต์พุตสูงสุดไม่เปลี่ยนแปลงสำหรับ ID -pro
DeepSeek V4 Flash รองรับโหมดให้เหตุผลและไม่ให้เหตุผล เอาต์พุต JSON การเรียกเครื่องมือ Responses API และความเข้ากันได้กับ Anthropic API ใช้ได้ผ่านพื้นผิว Responses, Chat Completions และ Messages ของ Felo ยังไม่มีการเผยแพร่ราคาการเขียนแคช
การใช้งานพื้นฐาน
ตัวอย่างเหล่านี้อ่าน SDK อย่างเป็นทางการของ OpenAI และ Anthropic ตั้ง FELO_API_KEY เป็นคีย์ของ Felo API Platform ก่อนรันตัวอย่าง
export FELO_API_KEY="YOUR_API_KEY"ติดตั้ง SDK
OpenAI SDK
ใช้ OpenAI SDK สำหรับ Responses API และ Chat Completions API
##### JavaScript
npm install openai##### Python
pip install openaiAnthropic SDK
ใช้ Anthropic SDK สำหรับ Messages API
##### JavaScript
npm install @anthropic-ai/sdk##### Python
pip install anthropicกำหนดค่าไคลเอนต์
endpoint ที่เข้ากันได้กับ OpenAI ใช้ base URL ของ OpenAI SDK พร้อม /api/v1 เพราะ 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",
)endpoint ที่เข้ากันได้กับ Anthropic ใช้ base URL ของ Anthropic SDK โดยไม่มี /v1 เพราะ 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
ใช้ Responses API สำหรับการผสานใหม่ที่เข้ากันได้กับ OpenAI และออบเจกต์การตอบกลับสไตล์ Agent
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
ใช้ Chat Completions เมื่อแอปพลิเคชันของคุณส่ง messages สไตล์ OpenAI อยู่แล้ว
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
ใช้ Messages เมื่อไคลเอนต์หรือเฟรมเวิร์ก Agent ของคุณคาดหวังรูปแบบคำขอและการตอบกลับที่เข้ากันได้กับ Anthropic
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
สำหรับการตั้งค่าไคลเอนต์ Agent โปรดดู การกำหนดค่า Claude Code และ Codex
เอกสารอ้างอิงโปรโตคอล
Responses
ใช้ endpoint นี้สำหรับไคลเอนต์และการผสานที่เข้ากันได้กับ OpenAI Responses API
Endpoint
POST https://openapi.felo.ai/api/v1/responsesเนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
model | string | ใช่ | ID โมเดลสาธารณะของ Felo |
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 นี้สำหรับไคลเอนต์และ SDK ที่เข้ากันได้กับ OpenAI Chat Completions
Endpoint
POST https://openapi.felo.ai/api/v1/chat/completionsเนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
model | string | ใช่ | ID โมเดลสาธารณะของ Felo |
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 นี้สำหรับไคลเอนต์และ SDK ที่เข้ากันได้กับ Anthropic Messages
Endpoint
POST https://openapi.felo.ai/api/v1/messagesเนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
model | string | ใช่ | ID โมเดลสาธารณะของ Felo |
max_tokens | integer | ใช่ | จำนวนโทเค็นเอาต์พุตสูงสุด |
messages | array | ใช่ | ข้อความในบทสนทนา |
messages[].role | string | ใช่ | user หรือ assistant |
messages[].content | string หรือ array | ใช่ | ข้อความธรรมดาหรือ content block แบบ Anthropic |
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สตรีมมิ่ง
ตั้ง stream เป็น true เพื่อรับ Server-Sent Events รูปแบบเนื้อหาของเหตุการณ์เป็นไปตามโปรโตคอลที่เลือก:
- สตรีม Responses ส่งเหตุการณ์การตอบกลับที่เข้ากันได้กับ Responses
- สตรีม Chat Completions ส่ง chunk การสร้างข้อความแชตที่เข้ากันได้กับ OpenAI
- สตรีม Messages ส่งเหตุการณ์ข้อความที่เข้ากันได้กับ Anthropic
const stream = await client.responses.create({
model: "gpt-5.6-sol",
input: "Write one sentence.",
stream: true,
});ไคลเอนต์ควรแยกวิเคราะห์สตรีมตามโปรโตคอลที่กำลังใช้ แทนการคาดหวังสคีมาเหตุการณ์เดียวร่วมกันในทั้งสาม endpoint
ข้อผิดพลาด
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 | บริการโมเดลไม่พร้อมใช้งานชั่วคราว | ลองใหม่พร้อมการหน่วงแบบทวีคูณหรือเลือกโมเดลอื่นที่เผยแพร่ |