models

OpenAI: gpt-oss-120b (batch)

Markdown · JSON

OpenAI: gpt-oss-120b (batch)

gpt-oss แบบเปิดเผยน้ำหนักขนาดใหญ่กว่าของ OpenAI ใช้การให้เหตุผลแบบผสมผู้เชี่ยวชาญสำหรับข้อความ การเขียนโค้ด และงานเอเจนต์ รองรับระดับความพยายามให้เหตุผล low, medium และ high การเรียกฟังก์ชัน และ Structured Outputs ในสภาพแวดล้อมที่เชื่อมเครื่องมือ

เกี่ยวกับโมเดล

คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก

gpt-oss-120b เป็นโมเดลภาษาแบบเปิดเผยน้ำหนักขนาดใหญ่กว่าของ OpenAI สำหรับการให้เหตุผลอเนกประสงค์ การเขียนโค้ด และงานเอเจนต์ รับและสร้างข้อความ ผู้พัฒนาเผยแพร่จำนวนพารามิเตอร์รวม 117 พันล้าน โดยมีพารามิเตอร์ที่ทำงาน 5.1 พันล้านต่อโทเคนในสถาปัตยกรรมแบบผสมผู้เชี่ยวชาญ เป็นรุ่น 120b ของตระกูล แยกจาก gpt-oss-20b และโมเดล Safeguard เฉพาะทาง

เอกสารเผยแพร่อธิบายชุดข้อมูลฝึกแบบข้อความล้วนที่ส่วนใหญ่เป็นภาษาอังกฤษ เน้น STEM การเขียนโค้ด และความรู้ทั่วไป ตัวอย่างงานคือวิเคราะห์อัลกอริทึมจากโค้ดและเงื่อนไขที่ระบุ อธิบายความสัมพันธ์สำคัญ เปรียบเทียบแนวทางที่เป็นไปได้ และสร้างข้อเสนอการเขียนโค้ดที่เป็นรูปธรรม สำหรับการตัดสินใจจากเอกสาร ให้ข้อมูลและเกณฑ์ แล้วขอข้อสรุปที่เชื่อมกับหลักฐานที่ส่งให้

สถาปัตยกรรมที่ OpenAI เผยแพร่มี 36 ชั้น ผู้เชี่ยวชาญ 128 ตัว และผู้เชี่ยวชาญที่ทำงานสี่ตัวต่อโทเคน รุ่นเผยแพร่แรกใช้ MXFP4 สำหรับน้ำหนักแบบผสมผู้เชี่ยวชาญ และอธิบายการรันโมเดลภายใน GPU ขนาด 80 GB หนึ่งตัว OpenAI เผยแพร่น้ำหนักภายใต้ Apache 2.0 และรองรับการไฟน์จูนสำหรับกรณีใช้งานเฉพาะทาง สิ่งเหล่านี้เป็นคุณสมบัติของโมเดลและรูปแบบที่ผู้พัฒนาเผยแพร่ ไม่ใช่คำอธิบายการติดตั้งเฉพาะของแอปพลิเคชัน

เอกสารโมเดลระบุหน้าต่างบริบท 131,072 โทเคน และเอาต์พุตที่สร้างสูงสุด 131,072 โทเคน โดยข้อมูลความรู้ถึงวันที่ 1 มิถุนายน 2024 อินพุต การให้เหตุผล และเอาต์พุตต้องอยู่ในบริบทที่มี ระดับการให้เหตุผลที่รองรับคือ low, medium และ high ทำให้งานขอคำตอบบทสนทนาสั้นหรือการวิเคราะห์ลึกขึ้นได้ OpenAI กำหนดให้ใช้รูปแบบ Harmony ซึ่งแยกการวิเคราะห์ภายในจากคำตอบสุดท้าย ผู้พัฒนาระบุว่าการวิเคราะห์ดิบมีไว้สำหรับนักพัฒนา ไม่ใช่แสดงให้ผู้ใช้โดยตรง

ผู้พัฒนาอธิบายการเรียกฟังก์ชัน การท่องเว็บ การรันโค้ด Python ผ่านเครื่องมือ และ Structured Outputs การ์ดโมเดลยังระบุสตรีมมิง พร้อมความสามารถของฟังก์ชัน ตัวแปลโค้ด MCP และการค้นหาในสภาพแวดล้อมเครื่องมือที่อธิบาย แอปพลิเคชันจัดให้มีการดำเนินการ ลงมือทำ และคืนผลจริง การคำนวณหรือการค้นข้อมูลจึงเป็นหลักฐานสำหรับขั้นให้เหตุผลถัดไปได้ ขณะที่คำขอเครื่องมือที่เสนอยังแยกจากการดำเนินการที่รันแล้ว

เตรียมเป้าหมาย นิยาม และผลงานสุดท้ายที่มีประโยชน์ให้ชัด เช่น คำอธิบาย ข้อเสนอโค้ด สูตร หรือชุดข้อค้นพบแบบมีโครงสร้าง ระบุข้อเท็จจริงที่ต้องรักษาผ่านการแปลง และวิธีแสดงข้อมูลที่ขาด คำตอบสุดท้ายที่มีประโยชน์เชื่อมข้อสรุปกับเงื่อนไขที่ให้และผลเครื่องมือจริง สำหรับคำถามต่อเนื่อง ให้นำหลักฐานสำคัญและการตัดสินใจที่ยังต้องทำไปในคำขอถัดไป

Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches openai/gpt-oss-120b:batch

openai/gpt-oss-120b:batch

OpenAI /openai/gpt-oss-120b:batch

เริ่มต้น

gpt-oss แบบเปิดเผยน้ำหนักขนาดใหญ่กว่าของ OpenAI ใช้การให้เหตุผลแบบผสมผู้เชี่ยวชาญสำหรับข้อความ การเขียนโค้ด และงานเอเจนต์ รองรับระดับความพยายามให้เหตุผล low, medium และ high การเรียกฟังก์ชัน และ Structured Outputs ในสภาพแวดล้อมที่เชื่อมเครื่องมือ

อินพุตที่รองรับ
ข้อความ
ผลลัพธ์
ข้อความ

ใช้งานได้ใน Ailoot · อินพุตและเมธอด

Ailoot Ultra · การประมวลผลแบบชุด POST /v1/batches
ขาเข้า
text
ขาออก
text
รูปแบบเอาต์พุต
JSON ของ results[].response.body ที่ส่งกลับโดยตรง
ฟิลด์ประเภทข้อกำหนดค่าและข้อจำกัดค่าเริ่มต้น
ฟิลด์endpointประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัด
/v1/chat/completions
ค่าเริ่มต้น—
ฟิลด์modelประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัด
openai/gpt-oss-120b:batch
ค่าเริ่มต้น—
ฟิลด์requestsประเภทbatch_item[]ข้อกำหนดจำเป็นค่าและข้อจำกัด
จำนวนรายการขั้นต่ำ: 1
ค่าเริ่มต้น—
ฟิลด์requests[].custom_idประเภทstringข้อกำหนดจำเป็นค่าและข้อจำกัดค่าเริ่มต้น—
ฟิลด์requests[].body.messagesประเภทmessage[]ข้อกำหนดจำเป็นค่าและข้อจำกัดค่าเริ่มต้น—
ฟิลด์completion_windowประเภทstringข้อกำหนดไม่บังคับค่าและข้อจำกัด
24h
ค่าเริ่มต้น—
ฟิลด์providerประเภทobject|nullข้อกำหนดไม่บังคับค่าและข้อจำกัดค่าเริ่มต้น—
ฟิลด์requests[].body.modelประเภทstringข้อกำหนดไม่บังคับค่าและข้อจำกัด
openai/gpt-oss-120b:batch, openai/gpt-oss-120b
ค่าเริ่มต้น—
ฟิลด์provider.onlyประเภทstring[]ข้อกำหนดไม่บังคับค่าและข้อจำกัด
deepinfra/bf16
ค่าเริ่มต้น—
ฟิลด์provider.allow_fallbacksประเภทboolean|nullข้อกำหนดไม่บังคับค่าและข้อจำกัด
false, null
ค่าเริ่มต้น—
พารามิเตอร์และวงจรการทำงานของเมธอด
พารามิเตอร์ข้อกำหนด
พารามิเตอร์content_typeข้อกำหนดapplication/json
พารามิเตอร์requiredข้อกำหนดendpoint, model, requests
พารามิเตอร์material_typesข้อกำหนดtext
พารามิเตอร์representationข้อกำหนดส่ง requests[] ไว้ในคำขอโดยตรง โดยแต่ละรายการมี custom_id และ body
พารามิเตอร์request_endpoint_profileข้อกำหนด/v1/chat/completions
พารามิเตอร์file_materialข้อกำหนดผู้เรียกใช้อาจอ่านไฟล์ JSONL ที่เข้ารหัส UTF-8 จากเครื่องของตนลงใน requests[] ได้ ไม่มีการใช้ค่าระบุวัตถุประสงค์การอัปโหลด input_file_id หรือการอ้างอิงไฟล์ หากไม่มีข้อมูลของลูกค้าหรือข้อมูลว่าง ให้หยุดการเตรียมก่อนส่ง POST
พารามิเตอร์serialization_orderข้อกำหนดendpoint, model, provider (หากระบุมา), completion_window (หากระบุมา), requests อยู่ท้ายสุด
พารามิเตอร์optional_controlsข้อกำหนดprovider.only, provider.allow_fallbacks, completion_window
พารามิเตอร์schema_scopeข้อกำหนดเนื้อหาคำขอ Chat Completions แบบข้อความ ภายในโครงสร้างคำขอแบบชุดที่ส่งโดยตรงตามที่ระบุในเอกสาร

วงจรการทำงาน: asynchronous

GET /v1/batches/{operation_id} · ค่า response.id จริงจากการตอบกลับคำขอสร้างครั้งเดิม โดยใช้ผู้ใช้/คีย์/กลุ่มเดิม

ราคา

ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก

โหมดรวดเร็ว
ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
โหมดยืดหยุ่น
ไม่ได้ระบุ เมื่อเลือกโหมด flex
ระดับการใช้เหตุผลสูงสุด
ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
การคิดราคาแคชแบบระบุชัด
ไม่ได้เปิดใช้ เมื่อร้องขอแคชแบบระบุชัด

อัตราค่าบริการ Ailoot

ราคาตามการตั้งค่า

เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน

การตั้งค่าตารางอัตราค่าบริการโทเค็นบริบท มากกว่าโทเค็นบริบท ไม่เกินและรวมค่าค่าบริการ
การตั้งค่าอัตราราคาพื้นฐานของโทเคนตารางอัตราค่าบริการอัตราพื้นฐานโทเค็นบริบท มากกว่า—โทเค็นบริบท ไม่เกินและรวมค่าไม่มีขีดจำกัดสูงสุดค่าบริการ
ขาเข้า · โทเค็นอินพุต $0.0000592 / 1K โทเค็น
ขาออก · โทเค็นเอาต์พุต $0.000272 / 1K โทเค็น
ขาเข้า · การอ่านแคช — / 1K โทเค็น
ขาเข้า · การเขียนแคช — / 1K โทเค็น
ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น
การตั้งค่าระดับความยาวคำขอ 1ตารางอัตราค่าบริการ—โทเค็นบริบท มากกว่า0โทเค็นบริบท ไม่เกินและรวมค่าไม่มีขีดจำกัดสูงสุดค่าบริการ
ขาเข้า · โทเค็นอินพุต $0.0000592 / 1K โทเค็น
ขาออก · โทเค็นเอาต์พุต $0.000272 / 1K โทเค็น
ขาเข้า · การอ่านแคช — / 1K โทเค็น
ขาเข้า · การเขียนแคช — / 1K โทเค็น
ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น

Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →

ตัวอย่างคำขอ

Ailoot Ultra · การประมวลผลแบบชุด

curl · ข้อมูลทดสอบที่เก็บไว้Python HTTP · JSONL จริงของลูกค้าPython · บันทึกผลลัพธ์ที่เสร็จสมบูรณ์ทุกรายการ
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"openai/gpt-oss-120b:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['openai/gpt-oss-120b:batch', 'openai/gpt-oss-120b']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-oss-120b:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.

รับและบันทึกผลลัพธ์

Ailoot Ultra · การประมวลผลแบบชุด

JSON ของ results[].response.body ที่ส่งกลับโดยตรง

  • GET /v1/batches/{operation_id}
ตรวจสอบสถานะงาน
curl · สถานะของการดำเนินการเดิม
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด

เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน

เก็บ JSON สถานะเดิมให้ครบถ้วน รวมถึงผลลัพธ์/custom_id ทุกรายการ และเนื้อหาการตอบกลับหรือข้อผิดพลาดทั้งหมด บันทึก results[] ที่เสร็จสมบูรณ์เป็น JSONL โดยไม่กรองข้อมูล

เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ

เก็บ ID การดำเนินการเดิมไว้ การตอบกลับ 503 result_pending_check มี X-Should-Retry:false ห้ามส่งงานแบบชุดเดิมซ้ำเด็ดขาดเมื่อยังไม่ทราบสถานะของงาน

ฟิลด์การตอบกลับ
ฟิลด์ประเภท
ฟิลด์results[].custom_idประเภทstring
ฟิลด์results[].response.body.choices[].message.contentประเภทstring|null
ฟิลด์results[].errorประเภทobject|null
ฟิลด์usageประเภทobject|null
ฟิลด์idประเภทstring
ฟิลด์modelประเภทstring
ฟิลด์endpointประเภทstring
ฟิลด์statusประเภทstring
ฟิลด์request_countsประเภทobject
ฟิลด์results[].idประเภทstring
ฟิลด์results[].response.status_codeประเภทinteger
ฟิลด์results[].response.request_idประเภทstring
ข้อผิดพลาดและขั้นตอนถัดไป
การตอบกลับเงื่อนไขขั้นตอนถัดไป
การตอบกลับ400 · invalid_request_errorเงื่อนไขโครงสร้างคำขอแบบส่งโดยตรงตามเอกสารไม่ถูกต้อง มีคีย์ซ้ำ หรือมีข้อขัดแย้งเกี่ยวกับตัวตนของรายการหรือความสามารถของโมเดลที่กำหนดไว้ขั้นตอนถัดไปแก้ไขฟิลด์ที่ระบุให้ถูกต้องก่อนส่งคำขอใหม่ทุกครั้ง
การตอบกลับ401 · authentication_errorเงื่อนไขคีย์ API ไม่ถูกต้องขั้นตอนถัดไปใช้คีย์ Ailoot ที่ได้รับอนุญาต
การตอบกลับ403 · permission_errorเงื่อนไขกลุ่มสำหรับการประมวลผลแบบชุดไม่พร้อมใช้งานขั้นตอนถัดไปตรวจสอบสิทธิ์ของคีย์/กลุ่ม
การตอบกลับ422 · invalid_request_errorเงื่อนไขการประมวลผลแบบชุดเรียกเก็บเงินจากยอดเงินคงเหลือ คำขอสร้างที่ใช้การเรียกเก็บผ่านการสมัครสมาชิกจะถูกปฏิเสธขั้นตอนถัดไปใช้กลุ่มที่ได้รับอนุญาตให้เรียกเก็บเงินจากยอดเงินคงเหลือ
การตอบกลับ422 · price_unavailableเงื่อนไขไม่สามารถคำนวณราคาล่วงหน้าสำหรับข้อมูลนำเข้าของงานแบบชุดได้ขั้นตอนถัดไปเก็บการตอบกลับไว้ และใช้ข้อมูลนำเข้าตามเอกสารของ API ประเภทนั้น
การตอบกลับ402 · billing_errorเงื่อนไขไม่สามารถกันยอดเงินสำรองสำหรับการประมวลผลแบบชุดได้ขั้นตอนถัดไปแก้ไขเงื่อนไขการรับคำขอให้เรียบร้อยก่อนส่งคำขอใหม่
การตอบกลับ503 · price_unavailableเงื่อนไขราคาของวิธีประมวลผลแบบชุด/อัตราราคาของระบบไม่พร้อมใช้งานขั้นตอนถัดไปเก็บการตอบกลับไว้ ห้ามแทนที่ด้วยราคาอื่น
การตอบกลับ503 · api_errorเงื่อนไขเส้นทางที่ระบุไว้ของผู้ให้บริการต้นทางไม่พร้อมใช้งานขั้นตอนถัดไปเก็บการตอบกลับไว้เพื่อแก้ไขเส้นทางการส่งคำขอ
การตอบกลับ503 · result_pending_checkเงื่อนไขผลลัพธ์เดิมต้องได้รับการตรวจสอบ โดยมี X-Should-Retry:falseขั้นตอนถัดไปเก็บค่า operation_id/id เดิมไว้แล้วอ่านสถานะของการดำเนินการนั้น ห้ามส่ง POST เดิมซ้ำเด็ดขาด
การตอบกลับ404 · not_foundเงื่อนไขไม่พบการดำเนินการตรวจสอบสถานะงานแบบชุด หรือการดำเนินการนั้นเป็นของตัวตนอื่นขั้นตอนถัดไปใช้ค่า id เดิมให้ตรงทุกตัว พร้อมผู้ใช้/คีย์/กลุ่มเดิม

ชื่ออื่น

ชื่ออื่นของโมเดล

Ailoot Ultra openai/gpt-oss-120b:batch

ชื่อพาธเมธอดอื่น

ใช้พาธเมธอดที่แสดงด้านบน

ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล

openai/gpt-oss-120b:batch

FAQ · OpenAI: gpt-oss-120b (batch)
มีอินพุตและผลลัพธ์ใดบ้าง?

POST /v1/batches · openai/gpt-oss-120b:batch: text → text

คำขอใช้ฟิลด์ใดบ้าง?

POST /v1/batches · openai/gpt-oss-120b:batch: endpoint, model, requests, completion_window, provider

มีข้อจำกัดใดบ้าง?

POST /v1/batches · openai/gpt-oss-120b:batch: requests.min_items: 1

รายละเอียดเพิ่มเติม

เชื่อม Ailoot กับ Claude Code, OpenCode, Hermes หรือแอปของคุณ

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท: ลูกค้าหลายล้านราย; ยอดขายระดับหลายพันล้านต่อเดือน.

ซื้อโทเคนพร้อมส่วนลด

ส่วนลดสมาชิกสำหรับงานประจำ โค้ดโปรโมชั่นลดซื้อโทเคนสูงสุด 50%

สมาชิก
เลือกแพ็กเกจมีส่วนลดสำหรับคำขอประจำ
โค้ดลดสูงสุด 50%
ใส่โค้ดขณะซื้อ ราคาคำนวณใหม่ตามโปรโมชั่นที่ใช้
รายจ่ายในประวัติ
เก็บโมเดล โทเคน และยอดสำหรับทุกคำขอ

เลือกสมาชิก · ดูราคาโมเดล

เชื่อม API กับผลิตภัณฑ์ ที่คุณขาย

SaaS แอป และบอต ตามข้อเสนอและสัญญาอนุญาต Ailoot หากขายต่อให้ขอใบอนุญาตรีเซลเลอร์

แอปเชิงพาณิชย์
ใส่การสร้างข้อความ ภาพ วิดีโอ และเสียงในฟีเจอร์เสียเงินของบริการคุณ
ใบอนุญาตรีเซลเลอร์
ส่งคำอธิบายโครงการและรูปแบบการเข้าถึง ขอเงื่อนไขใช้และขายต่อเป็นลายลักษณ์อักษร
เอกสารบนเว็บไซต์
อ่านข้อเสนอ สัญญาอนุญาต และนโยบายประมวลผลข้อมูลก่อนเชื่อมได้

ขอใบอนุญาตขายต่อ · ข้อเสนอและสัญญาอนุญาต