การรับรอง
ส่ง header ทั้งหมดพร้อมx-lala-key: <API key ของคุณ>(หรือมาตรฐาน Authorization: Bearer <key>)。
ขอ key: อีเมล[email protected]หรือติดต่อเราผ่าน WhatsApp
รายชื่อโมเดล
curl https://lala.buddylala.ai/v1/models -H "x-lala-key: $LALA_KEY"
| โมเดล | ประเภท | Endpoint | คำอธิบาย |
|---|---|---|---|
lala-6 | chat | /chat/completions | การสนทนาแบบมัลติโมดัลที่มีประสิทธิภาพ(1M context) |
lala-6-pro | chat | /chat/completions | การสนทนาแบบมัลติโมดัลแบบเรือธงเต็มรูปแบบ (1M context) |
lala-ultrafast | chat | /chat/completions | การสนทนาการอนุมานที่รวดเร็วมาก (1M context) |
lala-super | chat | /chat/completions | การอนุมานแบบเรือธงระดับสูง |
lala-rag | embedding | /embeddings | การแปลงข้อความเป็นเวกเตอร์ (RAG Retrieval) |
lala-image | image | /images/generations | สร้างรูปภาพ (ลำดับความสำคัญคุณภาพ) |
lala-video | video | /responses | วิดีโอสร้าง(Task-based, 4–30 วินาที) |
lala-video-get | video | /responses | ค้นหาผลลัพธ์งานวิดีโอ |
lala-speech | tts | /responses | การสังเคราะห์เสียงคุณภาพสูง |
lala-music | music | /responses | การสร้างดนตรี |
lala-lyric | lyric | /responses | การสร้างเนื้อเพลง |
lala-decision | decision | /typesafe/systemone | การตัดสินใจแบบมีโครงสร้าง (ไม่สร้างข้อความ) |
Chat Completions บทสนทนา
OpenAI-compatible。รองรับ stream: true เอาต์พุตแบบสตรีม。
curl
curl https://lala.buddylala.ai/v1/chat/completions \
-H "x-lala-key: $LALA_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lala-6",
"messages": [{"role": "user", "content": "สวัสดี โปรดแนะนำตัวเอง"}],
"max_tokens": 500
}'
Python(openai SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://lala.buddylala.ai/v1",
api_key="***", # คีย์ lala ของคุณ
)
resp = client.chat.completions.create(
model="lala-super",
messages=[{"role": "user", "content": "เขียนบทกวีเกี่ยวกับฤดูใบไม้ร่วง"}],
)
print(resp.choices[0].message.content)
Node.js
const res = await fetch("https://lala.buddylala.ai/v1/chat/completions", {
method: "POST",
headers: {
"x-lala-key": process.env.LALA_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
model: "lala-ultrafast",
messages: [{ role: "user", content: "1+1=?" }],
stream: false,
}),
});
const data = await res.json();
console.log(data.choices[0].message.content);
Embeddings เวกเตอร์
curl https://lala.buddylala.ai/v1/embeddings \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{"model": "lala-rag", "input": "ระบบอัตโนมัติการค้าปลีกอาหารสัตว์เลี้ยง"}'
ส่งกลับรูปแบบ embeddings มาตรฐาน OpenAI (data[].embedding อาร์เรย์เวกเตอร์),สามารถป้อนลงในฐานข้อมูลเวกเตอร์สำหรับ RAG ได้โดยตรง。
Image Generation สร้างรูปภาพ
curl https://lala.buddylala.ai/v1/images/generations \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{"model": "lala-image", "prompt": "a cute corgi puppy, studio photo", "n": 1}'
ส่งกลับdata[].url(ลิงก์ CDN รูปภาพ)。การเรียกเก็บเงิน:ราคาคงที่ต่อรูปภาพ ดูที่หน้าราคา。
การสร้างวิดีโอ Video (แบบงาน)
การสร้างวิดีโอคือสองขั้นตอน:ส่งงานก่อนเพื่อรับ task idจากนั้นสำรวจเพื่อรับผลลัพธ์
ขั้นตอนที่ 1: ส่งงาน
curl https://lala.buddylala.ai/v1/responses \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{
"model": "lala-video",
"input": [{"type": "text", "text": "a cat yawning in sunlight"}],
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
"generate_audio": true
}'
# → {"id": "cgt-xxxx", ...} ← บันทึกรหัสประจำตัวงานนี้!
พารามิเตอร์:duration 4–30 วินาที(หรือ -1 เลือกอัตโนมัติ)、resolution 480p/720p/1080p、ratio 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive、generate_audio ค่าเริ่มต้น true(เพิ่มเสียงพูด/เอฟเฟกต์เสียง/เพลงพื้นหลังโดยอัตโนมัติ)。
ขั้นตอนที่ 2: สำรวจผลลัพธ์
curl https://lala.buddylala.ai/v1/responses \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{"model": "lala-video-get", "input": "cgt-xxxx"}'
# status: succeeded เมื่อ output[].content[].text = URL ดาวน์โหลดวิดีโอ
การสังเคราะห์เสียง Speech (TTS)
curl https://lala.buddylala.ai/v1/responses \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{
"model": "lala-speech",
"input": "สวัสดี ยินดีต้อนรับเข้า Buddylala",
"output_format": "hex",
"voice_setting": {"voice_id": "male-qn-qingse", "speed": 1, "vol": 1, "pitch": 0}
}'
# → {"data": {"audio": "<hex เข้ารหัสเสียง>"}}}
hex แปลงเป็น mp3:python3 -c "import binascii,sys; open('out.mp3','wb').write(binascii.unhexlify(sys.argv[1]))" "<hex>"เสียงพูด 80+ แบบ ความรู้สึก 9 ประเภท
การสร้างดนตรี Music
curl https://lala.buddylala.ai/v1/responses \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{
"model": "lala-music",
"input": "upbeat jingle for a pet shop",
"lyrics": "la la la happy day with you"
}'
# → {"data": {"audio": "<hex>"}}
lyrics จำเป็น(สามารถใช้ lala-lyric สร้าง)。
การสร้างเนื้อเพลง Lyric
curl https://lala.buddylala.ai/v1/responses \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{
"model": "lala-lyric",
"mode": "write_full_song",
"input": "เพลงแคนตอนที่สดใสเกี่ยวกับแมว"
}'
# → {"song_title": "...", "style_tags": "...", "lyrics": "[Verse]..."}
mode:write_full_song(เพลงเต็ม)หรือ edit(ต่อเนื่อง/แก้ไข ต้องมี lyrics เนื้อหาที่มีอยู่)。
การตัดสินใจแบบมีโครงสร้าง Decision (ไม่ใช่การสร้างข้อความ)
lala-decisionไม่สร้างข้อความ เฉพาะการตัดสินใจแบบมีโครงสร้าง:ให้สถานะ(งาน/การสนทนา/บันทึก)+ชุดคำถาม และส่งคำตอบ Choice / Score / Noul สามประเภทพร้อมความน่าจะเป็นการปรับเทียบสนับสนุนการตัดสินใจภาพ:สามารถแนบรูปภาพได้สูงสุด 4 รูป(PNG/JPEG/WebP แต่ละรูป ≤4MiB base64 embedded ไม่รับ remote URL)เพื่อวิเคราะห์พร้อมกัน การตอบสนองทั่วไป 1–5 วินาที เหมาะสำหรับการจัดสรรงาน การระบุเจตนา การควบคุมเนื้อหา
curl https://lala.buddylala.ai/typesafe/systemone \
-H "x-lala-key: $LALA_KEY" -H "Content-Type: application/json" \
-d '{
"model": "lala-decision",
"state": "Customer: my order is 5 days late and I want a refund!",
"questions": {
"urgency": {
"type": "choice",
"instructions": "ประเมินระดับความเร่งด่วนของตั๋ว",
"criteria": {"ต่ำ": "น้ำเสียงสงบ", "กลาง": "ไม่พอใจแต่ไม่มีกำหนดเวลา", "สูง": "อารมณ์ตื่นเต้นหรือขอยกเลิก"}
},
"refund_requested": {
"type": "noul",
"instructions": "ลูกค้าขอคืนเงินอย่างชัดเจนหรือไม่?"
}
}
}'
# → {"answers": {"refund_requested": {"noul": 0.99, "type": "noul"}}, "model": "lala-decision", ...}
ประเภทคำถาม:choice(criteria เป็น object:ชื่อตัวเลือก→เกณฑ์การตัดสินใจ)、score(criteria เป็น array:จากต่ำไปสูง)、noul(การตัดสินใจ true/false ไม่ต้องใช้ criteria)。
การตัดสินใจรูปภาพ (ไม่บังคับ): เพิ่มใน body"images": ["<base64 รูปภาพ>"](สูงสุด 4 รูป;แต่ละรูป ≤4MiB、16 megapixels;ขนาด request body ทั้งหมด ≤13MiB;รับเฉพาะ base64 embedded ไม่รับ URL)。ตัวอย่าง:
{
"model": "lala-decision",
"images": ["iVBORw0KGgo...(base64 PNG)"],
"state": "ลูกค้าส่งรูปภาพใบเสร็จมา ขอให้เราตรวจสอบ",
"questions": {
"is_valid_receipt": {"type": "noul", "instructions": "รูปภาพนี้เป็นใบเสร็จที่ถูกต้องหรือไม่"}
}
}
การจัดการข้อผิดพลาด
| HTTP | ความหมาย | ประมวลผล |
|---|---|---|
| 401 | API key ไม่ถูกต้องหรือขาดหายไป | ตรวจสอบx-lala-key header |
| 400 | ชื่อโมเดลไม่มีอยู่ / รูปแบบ body ผิด | ตรวจสอบรายการโมเดลและตัวอย่าง endpoint แต่ละรายการ |
| 5xx | ข้อผิดพลาดจากต้นน้ำเป็นครั้งคราว | ลองใหม่แบบ exponential backoff (ขอแนะนำสูงสุด 3 ครั้ง) |
Response ข้อความผ่าน brand normalization(ข้อความที่เกี่ยวข้องกับผู้จัดจำหน่ายจะรวมเป็นชื่อแบรนด์ lala/buddylala),โครงสร้าง JSON และฟิลด์มีมาตรฐานอย่างสมบูรณ์ ไม่ส่งผลต่อการแยกวิเคราะห์।