lala Models API — เอกสารสำหรับนักพัฒนา

API key เดียว เรียกใช้ชุดโมเดล lala ทั้งหมด อินเทอร์เฟซ OpenAI-compatible URL ฐาน:https://lala.buddylala.ai/v1

การรับรอง

ส่ง header ทั้งหมดพร้อมx-lala-key: <API key ของคุณ>(หรือมาตรฐาน Authorization: Bearer <key>)。

ขอ key: อีเมล[email protected]หรือติดต่อเราผ่าน WhatsApp

โปรดเก็บรักษา API key อย่างปลอดภัย อย่าฮาร์ดโค้ดลงในโค้ด frontend หรือ repo สาธารณะ

รายชื่อโมเดล

curl https://lala.buddylala.ai/v1/models -H "x-lala-key: $LALA_KEY"
โมเดลประเภทEndpointคำอธิบาย
lala-6chat/chat/completionsการสนทนาแบบมัลติโมดัลที่มีประสิทธิภาพ(1M context)
lala-6-prochat/chat/completionsการสนทนาแบบมัลติโมดัลแบบเรือธงเต็มรูปแบบ (1M context)
lala-ultrafastchat/chat/completionsการสนทนาการอนุมานที่รวดเร็วมาก (1M context)
lala-superchat/chat/completionsการอนุมานแบบเรือธงระดับสูง
lala-ragembedding/embeddingsการแปลงข้อความเป็นเวกเตอร์ (RAG Retrieval)
lala-imageimage/images/generationsสร้างรูปภาพ (ลำดับความสำคัญคุณภาพ)
lala-videovideo/responsesวิดีโอสร้าง(Task-based, 4–30 วินาที)
lala-video-getvideo/responsesค้นหาผลลัพธ์งานวิดีโอ
lala-speechtts/responsesการสังเคราะห์เสียงคุณภาพสูง
lala-musicmusic/responsesการสร้างดนตรี
lala-lyriclyric/responsesการสร้างเนื้อเพลง
lala-decisiondecision/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 ดาวน์โหลดวิดีโอ
หากไม่มี task id จะไม่สามารถดึงผลลัพธ์ได้ (ค่าใช้จ่ายเกิดขึ้นแล้ว) การเรนเดอร์ใช้เวลาประมาณ 1–5 นาที ขอแนะนำให้สอบถามทุก 15–30 วินาที

การสังเคราะห์เสียง 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ความหมายประมวลผล
401API key ไม่ถูกต้องหรือขาดหายไปตรวจสอบx-lala-key header
400ชื่อโมเดลไม่มีอยู่ / รูปแบบ body ผิดตรวจสอบรายการโมเดลและตัวอย่าง endpoint แต่ละรายการ
5xxข้อผิดพลาดจากต้นน้ำเป็นครั้งคราวลองใหม่แบบ exponential backoff (ขอแนะนำสูงสุด 3 ครั้ง)

Response ข้อความผ่าน brand normalization(ข้อความที่เกี่ยวข้องกับผู้จัดจำหน่ายจะรวมเป็นชื่อแบรนด์ lala/buddylala),โครงสร้าง JSON และฟิลด์มีมาตรฐานอย่างสมบูรณ์ ไม่ส่งผลต่อการแยกวิเคราะห์।