Concepts and configuration
CLI โมเดล
การหมุนเวียนโปรไฟล์ยืนยันตัวตน ช่วงพัก และวิธีที่สิ่งนั้นทำงานร่วมกับตัวสำรอง
ภาพรวมผู้ให้บริการแบบย่อและตัวอย่าง
PI, Codex และรันไทม์ลูปเอเจนต์อื่นๆ
คีย์การกำหนดค่าโมเดล
การอ้างอิงโมเดลจะเลือกผู้ให้บริการและโมเดล โดยปกติจะไม่ได้เลือกรันไทม์เอเจนต์ระดับล่าง ตัวอย่างเช่น openai/gpt-5.5 สามารถทำงานผ่านเส้นทางผู้ให้บริการ OpenAI ปกติ หรือผ่านรันไทม์เซิร์ฟเวอร์แอป Codex ได้ ขึ้นอยู่กับ agents.defaults.agentRuntime.id ในโหมดรันไทม์ Codex การอ้างอิง openai/gpt-* ไม่ได้หมายถึงการคิดค่าใช้จ่ายด้วยคีย์ API การยืนยันตัวตนอาจมาจากบัญชี Codex หรือโปรไฟล์ยืนยันตัวตน openai-codex ดู รันไทม์ของเอเจนต์
วิธีการทำงานของการเลือกโมเดล
OpenClaw เลือกโมเดลตามลำดับนี้:
โมเดลหลัก
agents.defaults.model.primary (หรือ agents.defaults.model)
ตัวสำรอง
agents.defaults.model.fallbacks (ตามลำดับ)
การสลับยืนยันตัวตนผู้ให้บริการ
การสลับยืนยันตัวตนเกิดขึ้นภายในผู้ให้บริการก่อนย้ายไปยังโมเดลถัดไป
พื้นผิวโมเดลที่เกี่ยวข้อง
agents.defaults.modelsคือรายการอนุญาต/แค็ตตาล็อกของโมเดลที่ OpenClaw ใช้ได้ (รวมถึงนามแฝง)agents.defaults.imageModelใช้ เฉพาะเมื่อ โมเดลหลักรับรูปภาพไม่ได้agents.defaults.pdfModelใช้โดยเครื่องมือpdfหากไม่ได้ระบุ เครื่องมือจะถอยกลับไปใช้agents.defaults.imageModelแล้วจึงใช้โมเดลของเซสชัน/ค่าเริ่มต้นที่ resolve แล้วagents.defaults.imageGenerationModelใช้โดยความสามารถสร้างรูปภาพที่ใช้ร่วมกัน หากไม่ได้ระบุimage_generateยังสามารถอนุมานค่าเริ่มต้นของผู้ให้บริการที่มีการยืนยันตัวตนรองรับได้ โดยจะลองผู้ให้บริการค่าเริ่มต้นปัจจุบันก่อน แล้วจึงลองผู้ให้บริการสร้างรูปภาพที่ลงทะเบียนไว้ที่เหลือตามลำดับรหัสผู้ให้บริการ หากคุณตั้งค่าผู้ให้บริการ/โมเดลเฉพาะ ให้กำหนดค่าการยืนยันตัวตน/คีย์ API ของผู้ให้บริการนั้นด้วยagents.defaults.musicGenerationModelใช้โดยความสามารถสร้างเพลงที่ใช้ร่วมกัน หากไม่ได้ระบุmusic_generateยังสามารถอนุมานค่าเริ่มต้นของผู้ให้บริการที่มีการยืนยันตัวตนรองรับได้ โดยจะลองผู้ให้บริการค่าเริ่มต้นปัจจุบันก่อน แล้วจึงลองผู้ให้บริการสร้างเพลงที่ลงทะเบียนไว้ที่เหลือตามลำดับรหัสผู้ให้บริการ หากคุณตั้งค่าผู้ให้บริการ/โมเดลเฉพาะ ให้กำหนดค่าการยืนยันตัวตน/คีย์ API ของผู้ให้บริการนั้นด้วยagents.defaults.videoGenerationModelใช้โดยความสามารถสร้างวิดีโอที่ใช้ร่วมกัน หากไม่ได้ระบุvideo_generateยังสามารถอนุมานค่าเริ่มต้นของผู้ให้บริการที่มีการยืนยันตัวตนรองรับได้ โดยจะลองผู้ให้บริการค่าเริ่มต้นปัจจุบันก่อน แล้วจึงลองผู้ให้บริการสร้างวิดีโอที่ลงทะเบียนไว้ที่เหลือตามลำดับรหัสผู้ให้บริการ หากคุณตั้งค่าผู้ให้บริการ/โมเดลเฉพาะ ให้กำหนดค่าการยืนยันตัวตน/คีย์ API ของผู้ให้บริการนั้นด้วย- ค่าเริ่มต้นรายเอเจนต์สามารถแทนที่
agents.defaults.modelผ่านagents.list[].modelพร้อมการผูกได้ (ดู การกำหนดเส้นทางแบบหลายเอเจนต์)
แหล่งที่มาของการเลือกและพฤติกรรมตัวสำรอง
provider/model เดียวกันอาจมีความหมายต่างกัน ขึ้นอยู่กับว่ามาจากที่ใด:
- ค่าเริ่มต้นที่กำหนดค่าไว้ (
agents.defaults.model.primaryและโมเดลหลักเฉพาะเอเจนต์) คือจุดเริ่มต้นปกติและใช้agents.defaults.model.fallbacks - การเลือกตัวสำรองอัตโนมัติเป็นสถานะกู้คืนชั่วคราว โดยจัดเก็บพร้อม
modelOverrideSource: "auto"เพื่อให้รอบถัดไปใช้ห่วงโซ่ตัวสำรองต่อไปได้โดยไม่ต้องลองโมเดลหลักที่รู้ว่าเสียก่อน - การเลือกเซสชันของผู้ใช้เป็นแบบเจาะจง
/model, ตัวเลือกโมเดล,session_status(model=...)และsessions.patchจะจัดเก็บmodelOverrideSource: "user"หากผู้ให้บริการ/โมเดลที่เลือกนั้นเข้าถึงไม่ได้ OpenClaw จะล้มเหลวให้เห็นชัดแทนที่จะถอยไปยังโมเดลอื่นที่กำหนดค่าไว้ - Cron
--model/ เพย์โหลดmodelเป็นโมเดลหลักรายงาน ยังใช้ตัวสำรองที่กำหนดค่าไว้ เว้นแต่งานจะระบุเพย์โหลดfallbacksอย่างชัดเจน (ใช้fallbacks: []สำหรับการรัน Cron แบบเข้มงวด) - ตัวเลือกโมเดลเริ่มต้นและรายการอนุญาตของ CLI จะเคารพ
models.mode: "replace"โดยแสดงmodels.providers.*.modelsที่ระบุชัดเจน แทนการโหลดแค็ตตาล็อกในตัวทั้งหมด - ตัวเลือกโมเดลใน Control UI จะถาม Gateway เพื่อดูมุมมองโมเดลที่กำหนดค่าไว้:
agents.defaults.modelsเมื่อมีอยู่ ไม่เช่นนั้นใช้models.providers.*.modelsที่ระบุชัดเจนพร้อมผู้ให้บริการที่มีการยืนยันตัวตนใช้งานได้ แค็ตตาล็อกในตัวทั้งหมดสงวนไว้สำหรับมุมมองเรียกดูแบบชัดเจน เช่นmodels.listพร้อมview: "all"หรือopenclaw models list --all
นโยบายโมเดลแบบย่อ
- ตั้งค่าโมเดลหลักเป็นโมเดลรุ่นล่าสุดที่แข็งแกร่งที่สุดที่คุณมีสิทธิ์ใช้
- ใช้ตัวสำรองสำหรับงานที่ไวต่อค่าใช้จ่าย/เวลาแฝง และแชตที่มีความเสี่ยงต่ำกว่า
- สำหรับเอเจนต์ที่เปิดใช้เครื่องมือหรืออินพุตที่ไม่น่าเชื่อถือ ให้หลีกเลี่ยงระดับโมเดลที่เก่ากว่า/อ่อนกว่า
การเริ่มต้นใช้งาน (แนะนำ)
หากคุณไม่ต้องการแก้ไขการกำหนดค่าด้วยมือ ให้รันการเริ่มต้นใช้งาน:
openclaw onboard
สามารถตั้งค่าโมเดล + การยืนยันตัวตนสำหรับผู้ให้บริการทั่วไป รวมถึง การสมัครใช้งาน OpenAI Code (Codex) (OAuth) และ Anthropic (คีย์ API หรือ Claude CLI)
คีย์การกำหนดค่า (ภาพรวม)
agents.defaults.model.primaryและagents.defaults.model.fallbacksagents.defaults.imageModel.primaryและagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryและagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryและagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryและagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(รายการอนุญาต + นามแฝง + พารามิเตอร์ผู้ให้บริการ)models.providers(ผู้ให้บริการกำหนดเองที่เขียนลงในmodels.json)
การแก้ไขรายการอนุญาตอย่างปลอดภัย
ใช้การเขียนแบบเพิ่มเมื่ออัปเดต agents.defaults.models ด้วยมือ:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
กฎป้องกันการเขียนทับ
openclaw config set ปกป้องแมปโมเดล/ผู้ให้บริการจากการเขียนทับโดยไม่ตั้งใจ การกำหนดออบเจ็กต์ปกติให้กับ agents.defaults.models, models.providers หรือ models.providers.<id>.models จะถูกปฏิเสธเมื่อจะทำให้รายการเดิมถูกลบ ใช้ --merge สำหรับการเปลี่ยนแปลงแบบเพิ่ม ใช้ --replace เฉพาะเมื่อค่าที่ให้มาควรกลายเป็นค่าปลายทางทั้งหมด
การตั้งค่าผู้ให้บริการแบบโต้ตอบและ openclaw configure --section model จะรวมการเลือกในขอบเขตผู้ให้บริการเข้ากับรายการอนุญาตเดิมด้วย ดังนั้นการเพิ่ม Codex, Ollama หรือผู้ให้บริการอื่นจะไม่ลบรายการโมเดลที่ไม่เกี่ยวข้อง Configure จะรักษา agents.defaults.model.primary ที่มีอยู่เมื่อมีการใช้การยืนยันตัวตนผู้ให้บริการซ้ำ คำสั่งตั้งค่าเริ่มต้นอย่างชัดเจน เช่น openclaw models auth login --provider <id> --set-default และ openclaw models set <model> ยังจะแทนที่ agents.defaults.model.primary
"ไม่อนุญาตให้ใช้โมเดล" (และเหตุผลที่การตอบหยุด)
หากตั้งค่า agents.defaults.models ไว้ ค่านี้จะกลายเป็น รายการอนุญาต สำหรับ /model และสำหรับการแทนที่ในเซสชัน เมื่อผู้ใช้เลือกโมเดลที่ไม่ได้อยู่ในรายการอนุญาตนั้น OpenClaw จะส่งคืน:
Model "provider/model" is not allowed. Use /models to list providers, or /models <provider> to list models.
Add it with: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --merge
เมื่อคำสั่งที่ถูกปฏิเสธรวมการแทนที่รันไทม์ เช่น /model openai/gpt-5.5 --runtime codex ให้แก้ไขรายการอนุญาตก่อน แล้วจึงลองคำสั่ง /model ... --runtime ... เดิมอีกครั้ง สำหรับการดำเนินการ Codex แบบเนทีฟ โมเดลที่เลือกยังคงเป็น openai/gpt-5.5; รันไทม์ codex จะเลือก harness และใช้การยืนยันตัวตน Codex แยกต่างหาก
สำหรับโมเดล local/GGUF ให้จัดเก็บการอ้างอิงแบบเต็มที่มีคำนำหน้าผู้ให้บริการในรายการอนุญาต
เช่น ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf หรือ
provider/model แบบตรงตามที่แสดงโดย openclaw models list --provider <provider>
ชื่อไฟล์ local แบบไม่มีคำนำหน้าหรือชื่อที่แสดงยังไม่เพียงพอเมื่อรายการอนุญาต
เปิดใช้งานอยู่
ตัวอย่างการกำหนดค่ารายการอนุญาต:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
การสลับโมเดลในแชต (/model)
คุณสามารถสลับโมเดลสำหรับเซสชันปัจจุบันได้โดยไม่ต้องรีสตาร์ต:
/model
/model list
/model 3
/model openai/gpt-5.4
/model status
พฤติกรรมตัวเลือก
/model(และ/model list) เป็นตัวเลือกแบบกระชับที่มีหมายเลข (ตระกูลโมเดล + ผู้ให้บริการที่พร้อมใช้งาน)- บน Discord,
/modelและ/modelsจะเปิดตัวเลือกแบบโต้ตอบที่มีดรอปดาวน์ผู้ให้บริการและโมเดล พร้อมขั้นตอน Submit - บน Telegram การเลือกในตัวเลือก
/modelsจะอยู่ในขอบเขตเซสชัน และจะไม่เปลี่ยนค่าเริ่มต้นถาวรของเอเจนต์ในopenclaw.json /models addเลิกใช้แล้ว และตอนนี้จะส่งคืนข้อความเลิกใช้แทนการลงทะเบียนโมเดลจากแชต/model <#>เลือกจากตัวเลือกนั้น
การคงค่าและการสลับแบบสด
/modelจะคงค่าการเลือกเซสชันใหม่ทันที- หากเอเจนต์ว่างอยู่ การรันถัดไปจะใช้โมเดลใหม่ทันที
- หากมีการรันที่ใช้งานอยู่แล้ว OpenClaw จะทำเครื่องหมายการสลับแบบสดเป็นรอดำเนินการ และจะรีสตาร์ตเข้าสู่โมเดลใหม่เฉพาะที่จุดลองใหม่ที่สะอาด
- หากกิจกรรมเครื่องมือหรือเอาต์พุตคำตอบเริ่มไปแล้ว การสลับที่รอดำเนินการอาจยังคงอยู่ในคิวจนกว่าจะมีโอกาสลองใหม่ในภายหลังหรือในรอบผู้ใช้ถัดไป
- การอ้างอิง
/modelที่ผู้ใช้เลือกจะเข้มงวดสำหรับเซสชันนั้น: หากผู้ให้บริการ/โมเดลที่เลือกเข้าถึงไม่ได้ คำตอบจะล้มเหลวให้เห็นชัดแทนที่จะตอบแบบเงียบๆ จากagents.defaults.model.fallbacksซึ่งแตกต่างจากค่าเริ่มต้นที่กำหนดค่าไว้และโมเดลหลักของงาน Cron ที่ยังสามารถใช้ห่วงโซ่ตัวสำรองได้ /model statusคือมุมมองรายละเอียด (ตัวเลือกการยืนยันตัวตน และเมื่อกำหนดค่าไว้ จะมี endpoint ผู้ให้บริการbaseUrl+ โหมดapi)
การแยกวิเคราะห์การอ้างอิง
- การอ้างอิงโมเดลจะแยกโดยตัดที่
/ตัว แรก ใช้provider/modelเมื่อพิมพ์/model <ref> - หากรหัสโมเดลเองมี
/(สไตล์ OpenRouter) คุณต้องใส่คำนำหน้าผู้ให้บริการ (ตัวอย่าง:/model openrouter/moonshotai/kimi-k2) - หากคุณละผู้ให้บริการ OpenClaw จะ resolve อินพุตตามลำดับนี้:
- ตรงกับนามแฝง
- ตรงกับผู้ให้บริการที่กำหนดค่าไว้แบบไม่ซ้ำสำหรับรหัสโมเดลที่ไม่มีคำนำหน้านั้นแบบตรงตัว
- ถอยกลับแบบเลิกใช้ไปยังผู้ให้บริการค่าเริ่มต้นที่กำหนดค่าไว้ — หากผู้ให้บริการนั้นไม่เปิดเผยโมเดลค่าเริ่มต้นที่กำหนดค่าไว้แล้ว OpenClaw จะถอยกลับไปยังผู้ให้บริการ/โมเดลที่กำหนดค่าไว้รายการแรกแทน เพื่อหลีกเลี่ยงการแสดงค่าเริ่มต้นของผู้ให้บริการที่ถูกลบไปแล้วซึ่งล้าสมัย
พฤติกรรมคำสั่ง/การกำหนดค่าแบบเต็ม: คำสั่งสแลช
คำสั่ง CLI
openclaw models list
openclaw models status
openclaw models set <provider/model>
openclaw models set-image <provider/model>
openclaw models aliases list
openclaw models aliases add <alias> <provider/model>
openclaw models aliases remove <alias>
openclaw models fallbacks list
openclaw models fallbacks add <provider/model>
openclaw models fallbacks remove <provider/model>
openclaw models fallbacks clear
openclaw models image-fallbacks list
openclaw models image-fallbacks add <provider/model>
openclaw models image-fallbacks remove <provider/model>
openclaw models image-fallbacks clear
openclaw models (ไม่มีคำสั่งย่อย) เป็นทางลัดสำหรับ models status
models list
แสดงโมเดลที่กำหนดค่าไว้/มี auth พร้อมใช้งานตามค่าเริ่มต้น แฟล็กที่มีประโยชน์:
--allbooleanแคตตาล็อกแบบเต็ม รวมแถวแคตตาล็อกแบบสแตติกที่มาพร้อมระบบและเป็นของผู้ให้บริการก่อนที่จะกำหนดค่า auth ดังนั้นมุมมองสำหรับการสำรวจอย่างเดียวจึงสามารถแสดงโมเดลที่ยังไม่พร้อมใช้งานจนกว่าคุณจะเพิ่มข้อมูลรับรองของผู้ให้บริการที่ตรงกัน
--localbooleanผู้ให้บริการภายในเครื่องเท่านั้น
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
กรองตาม id ผู้ให้บริการ เช่น moonshot ไม่ยอมรับป้ายกำกับที่แสดงจากตัวเลือกแบบโต้ตอบ
--plainbooleanหนึ่งโมเดลต่อบรรทัด
--jsonbooleanเอาต์พุตที่เครื่องอ่านได้
models status
แสดงโมเดลหลักที่ resolve แล้ว, fallback, โมเดลรูปภาพ และภาพรวม auth ของผู้ให้บริการที่กำหนดค่าไว้ นอกจากนี้ยังแสดงสถานะการหมดอายุของ OAuth สำหรับโปรไฟล์ที่พบในที่เก็บ auth (เตือนภายใน 24 ชม. ตามค่าเริ่มต้น) --plain พิมพ์เฉพาะโมเดลหลักที่ resolve แล้ว
Auth and probe behavior
- สถานะ OAuth จะแสดงเสมอ (และรวมอยู่ในเอาต์พุต
--json) หากผู้ให้บริการที่กำหนดค่าไว้ไม่มีข้อมูลรับรองmodels statusจะพิมพ์ส่วน ไม่มี auth - JSON รวม
auth.oauth(ช่วงเวลาเตือน + โปรไฟล์) และauth.providers(auth ที่มีผลต่อผู้ให้บริการแต่ละราย รวมถึงข้อมูลรับรองที่มาจาก env)auth.oauthเป็นสถานะสุขภาพของโปรไฟล์ในที่เก็บ auth เท่านั้น ผู้ให้บริการที่มีเฉพาะ env จะไม่ปรากฏที่นั่น - ใช้
--checkสำหรับ automation (exit1เมื่อขาดหาย/หมดอายุ,2เมื่อใกล้หมดอายุ) - ใช้
--probeสำหรับการตรวจสอบ auth แบบสด แถว probe อาจมาจากโปรไฟล์ auth, ข้อมูลรับรอง env หรือmodels.json - หาก
auth.order.<provider>ที่ระบุอย่างชัดเจนละเว้นโปรไฟล์ที่จัดเก็บไว้ probe จะรายงานexcluded_by_auth_orderแทนการลองใช้โปรไฟล์นั้น หากมี auth แต่ไม่สามารถ resolve โมเดลที่ probe ได้สำหรับผู้ให้บริการนั้น probe จะรายงานstatus: no_model
ตัวอย่าง (Claude CLI):
claude auth login
openclaw models status
การสแกน (โมเดลฟรีของ OpenRouter)
openclaw models scan ตรวจสอบ แคตตาล็อกโมเดลฟรี ของ OpenRouter และสามารถ probe โมเดลเพื่อตรวจสอบการรองรับเครื่องมือและรูปภาพได้ตามต้องการ
--no-probebooleanข้าม live probes (เฉพาะ metadata)
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanตั้งค่า agents.defaults.model.primary เป็นรายการที่เลือกแรก
--set-imagebooleanตั้งค่า agents.defaults.imageModel.primary เป็นรายการรูปภาพที่เลือกแรก
ผลการสแกนจัดอันดับตาม:
- การรองรับรูปภาพ
- Latency ของเครื่องมือ
- ขนาดบริบท
- จำนวนพารามิเตอร์
อินพุต:
- รายการ OpenRouter
/models(ตัวกรอง:free) - Live probes ต้องใช้ OpenRouter API key จากโปรไฟล์ auth หรือ
OPENROUTER_API_KEY(ดู ตัวแปรสภาพแวดล้อม) - ตัวกรองที่เลือกได้:
--max-age-days,--min-params,--provider,--max-candidates - การควบคุม request/probe:
--timeout,--concurrency
เมื่อ live probes ทำงานใน TTY คุณสามารถเลือก fallback แบบโต้ตอบได้ ในโหมดไม่โต้ตอบ ให้ส่ง --yes เพื่อยอมรับค่าเริ่มต้น ผลลัพธ์เฉพาะ metadata เป็นข้อมูลประกอบเท่านั้น --set-default และ --set-image ต้องใช้ live probes เพื่อให้ OpenClaw ไม่กำหนดค่าโมเดล OpenRouter ที่ไม่มีคีย์และใช้งานไม่ได้
รีจิสทรีโมเดล (models.json)
ผู้ให้บริการแบบกำหนดเองใน models.providers จะถูกเขียนลงใน models.json ใต้ไดเรกทอรี agent (ค่าเริ่มต้น ~/.openclaw/agents/<agentId>/agent/models.json) ไฟล์นี้จะถูก merge ตามค่าเริ่มต้น เว้นแต่ models.mode จะตั้งค่าเป็น replace
Merge mode precedence
ลำดับความสำคัญของโหมด merge สำหรับ provider IDs ที่ตรงกัน:
baseUrlที่ไม่ว่างและมีอยู่แล้วในmodels.jsonของ agent จะชนะapiKeyที่ไม่ว่างในmodels.jsonของ agent จะชนะเฉพาะเมื่อผู้ให้บริการนั้นไม่ได้จัดการด้วย SecretRef ในบริบท config/auth-profile ปัจจุบัน- ค่า
apiKeyของผู้ให้บริการที่จัดการด้วย SecretRef จะรีเฟรชจากเครื่องหมายแหล่งที่มา (ENV_VAR_NAMEสำหรับ env refs,secretref-managedสำหรับ file/exec refs) แทนการคงค่า secret ที่ resolve แล้ว - ค่า header ของผู้ให้บริการที่จัดการด้วย SecretRef จะรีเฟรชจากเครื่องหมายแหล่งที่มา (
secretref-env:ENV_VAR_NAMEสำหรับ env refs,secretref-managedสำหรับ file/exec refs) apiKey/baseUrlของ agent ที่ว่างหรือหายไปจะ fallback ไปยัง configmodels.providers- ฟิลด์ผู้ให้บริการอื่นจะรีเฟรชจาก config และข้อมูลแคตตาล็อกที่ normalize แล้ว
ที่เกี่ยวข้อง
- รันไทม์ของ agent — PI, Codex และรันไทม์ลูป agent อื่น ๆ
- เอกสารอ้างอิงการกำหนดค่า — คีย์ config ของโมเดล
- การสร้างรูปภาพ — การกำหนดค่าโมเดลรูปภาพ
- Model failover — เชน fallback
- ผู้ให้บริการโมเดล — การกำหนดเส้นทางผู้ให้บริการและ auth
- การสร้างเพลง — การกำหนดค่าโมเดลเพลง
- การสร้างวิดีโอ — การกำหนดค่าโมเดลวิดีโอ