model

MiniMax: MiniMax M2-her

Markdown · JSON

MiniMax: MiniMax M2-her

MiniMax M2-her adalah model teks saja untuk permainan peran tokoh, dialog berbasis cerita, dan percakapan multigiliran. Format peran dan contoh pesan khususnya membentuk kedua sisi interaksi, dengan konteks produsen 64K dan penyelesaian maksimum 2,048 token.

Tentang model

Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.

MiniMax M2-her adalah model teks MiniMax yang berfokus pada dialog untuk permainan peran, percakapan tokoh, dan interaksi berbasis cerita. Ini merupakan profil terpisah dari model MiniMax M2 umum yang berorientasi pemrograman dan agen. Produsen mengembangkannya berdasarkan dunia fiksi yang koheren, perkembangan cerita aktif, dan penyelarasan dengan preferensi percakapan pengguna. Masukan dan keluarannya adalah teks; panduan khususnya tidak mendukung masukan campuran teks-gambar.

Tentukan dunia dan kedua peran

Format percakapan produsen mencakup lebih dari pesan system, user, dan assistant biasa. Peran system menentukan identitas, kepribadian, serta perilaku model. Peran user_system menentukan tokoh atau persona pengguna, sedangkan group mengidentifikasi skenario atau kelompok percakapan. Jaga perbedaan itu tetap jelas ketika cerita melibatkan beberapa orang, pengetahuan berbeda, atau hubungan tertentu.

Berikan model latar, motif tokoh, dan fakta yang harus tetap benar. Jelaskan siapa yang mengendalikan tindakan pengguna dan pilihan mana yang perlu tetap terbuka untuk balasan. Contoh brief adegannya: “Lanjutkan sebagai arsiparis, pertahankan misteri yang telah ditetapkan, dan tawarkan satu petunjuk baru tanpa memutuskan bagaimana tokoh saya bereaksi.” Ini menyiapkan pertukaran yang responsif, bukan meminta model menulis kedua sisi interaksi.

Contoh dan gaya

M2-her mendukung pesan sample_message_user dan sample_message_ai untuk mendemonstrasikan pola dialog yang diinginkan. Pengembang menyarankan satu hingga tiga contoh ringkas. Gunakan untuk menetapkan suara, tempo, dan hubungan narasi dengan dialog, sambil menghindari contoh panjang yang menghabiskan konteks tanpa memperjelas gaya. Contoh dihitung dalam anggaran masukan seperti pesan lainnya.

Arah pengembangan MiniMax menekankan identitas tokoh, aturan dunia, pergerakan plot yang bervariasi, dan kendali pengguna atas tindakannya. Nyatakan tempo yang diinginkan ketika penting, seperti pertukaran tenang, pengungkapan bertahap, atau komplikasi baru. Untuk revisi, tentukan baris atau peristiwa tepat yang menyimpang dari karakter atau kronologi dan minta koreksi yang mempertahankan sisa adegan.

Pertahankan konteks percakapan

Alur kerja yang didokumentasikan menyertakan riwayat user dan assistant lengkap dalam urutan kronologis untuk dialog multigiliran. Riwayat tersebut memberi respons berikutnya bukti tentang peristiwa terdahulu dan hubungan yang telah ditetapkan. Jaga nama penting serta perkembangan terbaru tetap eksplisit ketika menyiapkan cerita berkelanjutan. Riwayat konteks diberikan kepada model; hal itu tidak semestinya disamakan dengan memori tanpa batas di luar percakapan.

Riset permainan peran pengembang menggunakan sintesis dialog dan pembelajaran preferensi daring untuk meningkatkan keragaman, kesinambungan, serta daya tanggap. Metode pelatihan ini menjelaskan model produsen, bukan jaminan bahwa setiap cerita individual tetap bebas galat. Tinjau apakah respons mengatribusikan dialog kepada tokoh yang tepat dan menghormati aturan fisik atau fiksi latarnya.

Batas dan teks yang dihasilkan

Panduan khusus M2-her mencantumkan konteks 64K dan penyelesaian maksimum 2,048 token. Panduan juga mendokumentasikan keluaran streaming serta nilai bawaan sampling berupa temperature 1.0 dan top-p 0.95. Pilih panjang respons yang sesuai untuk satu giliran percakapan; teks terlalu panjang dapat mengambil alih keputusan pengguna berikutnya atau terpotong oleh anggaran penyelesaian.

Hasil yang berguna berupa balasan tokoh, teks naratif, atau kelanjutan adegan yang sesuai dengan latar yang diberikan dan mengundang interaksi berikutnya. Periksa sudut pandang, kendali tokoh atas tindakannya, konsistensi referensi, dan akhir yang diminta. Format permainan peran bernama serta batas M2-her tetap terpisah dari model bahasa, visi, dan media MiniMax lainnya.

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions M2-her

M2-her

MiniMax /M2-her

Mulai

MiniMax M2-her adalah model teks saja untuk permainan peran tokoh, dialog berbasis cerita, dan percakapan multigiliran. Format peran dan contoh pesan khususnya membentuk kedua sisi interaksi, dengan konteks produsen 64K dan penyelesaian maksimum 2,048 token.

Masukan yang diterima
Teks
Hasil
Teks

Tersedia di Ailoot · masukan & metode

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Masukan
text
Keluaran
text
Format keluaran
json atau SSE
KolomJenisPersyaratanNilai & batasanBawaan
KolommodelJenisstringPersyaratanWajibNilai & batasan
M2-her
Bawaan—
KolommessagesJenismessage[]PersyaratanWajibNilai & batasan
Item minimum: 1
Bawaan—
Kolommessages[].roleJenisstringPersyaratanWajibNilai & batasan
Bergantung pada model
Bawaan—
Kolommessages[].contentJenisstringPersyaratanOpsionalNilai & batasan
Berlaku jika: Percakapan teks
Bawaan—
KolomstreamJenisbooleanPersyaratanOpsionalNilai & batasanBawaanfalse
Kombinasi bahan masukan

Teks · Teks UTF8

messages[].content

Parameter metode dan siklus hidup
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages
Parametermaterial_typesKontraktext
ParametermessagesKontrakarray pesan dengan struktur role/content
Parameterfile_materialKontrakdokumen UTF-8 yang sebenarnya dimasukkan sebagai teks apa adanya; ID file tidak disimpulkan
Parameteroptional_controlsKontrakstream
Parametercontrol_scopeKontrakPercakapan teks; stream adalah nilai boolean dengan false sebagai bawaan.
Parameteroutput_modalitiesKontraktext
Parameterhosted_operationsKontrakfalse
Parametermultimodal_input_bindingKontraknull

Alias metode: /chat/completions

Siklus hidup: synchronous_or_streamed

Kirim ID model yang tepat bersama messages.

Panjang konteks bukan batas keluaran.

File teks dapat menyediakan teks apa adanya; masukan gambar/audio/objek file memerlukan pengikatan yang tepat.

Paket

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast
Tidak ditentukan Saat mode fast dipilih
Mode Flex
Tidak ditentukan Saat mode flex dipilih
Upaya penalaran maksimum
Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default

Tarif Ailoot

Harga menurut konfigurasi

KonfigurasiJadwal tarifBiaya
KonfigurasiTarif dasar tokenJadwal tarifTarif dasarBiaya
Masukan · Token masukan $0.0006 / 1K token
Keluaran · Token keluaran $0.0024 / 1K token
Masukan · Pembacaan cache $0 / 1K token
Masukan · Penulisan cache $0 / 1K token
Masukan · Penulisan cache, 1 jam — / 1K token

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →

Contoh permintaan

Ailoot Ultra · OpenAI Chat

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"M2-her","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="M2-her", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))

Terima dan simpan hasil

Ailoot Ultra · OpenAI Chat

json atau SSE

Simpan semua hasil yang selesai

Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.

Simpan setiap alternatif jawaban beserta konten, panggilan alat, dan penalarannya. Dalam SSE, gabungkan delta menurut indeks alternatif jawaban/alat, lalu pertahankan alasan penghentian akhir dan data penggunaan.

Jika respons asli perlu diperiksa

Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.

Kolom respons
KolomJenis
Kolomchoices[].indexJenisinteger
Kolomchoices[].message.contentJenisstring|null
Kolomchoices[].message.tool_callsJenistool_call[]
Kolomchoices[].message.reasoning_contentJenisstring
Kolomchoices[].message.reasoning_detailsJenisobject|array
Kolomchoices[].finish_reasonJenisstring|null
KolomusageJenisobject
Kesalahan dan langkah berikutnya
ResponsKondisiLangkah berikutnya
Respons400 · invalid_request_errorKondisiBidang wajib, representasi materi, atau nilai parameter tidak validLangkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.

Alias

Alias model

Ailoot Ultra M2-her

Alias jalur metode

/chat/completions

ID pemanggil terkait

M2-her

Ailoot Ultra · Anthropic Messages POST /v1/messages M2-her

M2-her

MiniMax /M2-her

Mulai

MiniMax M2-her adalah model teks saja untuk permainan peran tokoh, dialog berbasis cerita, dan percakapan multigiliran. Format peran dan contoh pesan khususnya membentuk kedua sisi interaksi, dengan konteks produsen 64K dan penyelesaian maksimum 2,048 token.

Masukan yang diterima
Teks
Hasil
json · sse

Tersedia di Ailoot · masukan & metode

Ailoot Ultra · Anthropic Messages POST /v1/messages
Masukan
text
Keluaran
json, sse
Format keluaran
JSON atau SSE
KolomJenisPersyaratanNilai & batasanBawaan
KolommodelJenisstringPersyaratanWajibNilai & batasan
M2-her
Bawaan—
KolommessagesJenismessage[]PersyaratanWajibNilai & batasanBawaan—
Kolommessages[].roleJenisstringPersyaratanWajibNilai & batasan
user, assistant
Bawaan—
Kolommessages[].contentJenisstringPersyaratanWajibNilai & batasanBawaan—
Kolommax_tokensJenisintegerPersyaratanWajibNilai & batasanBawaan—
KolomstreamJenisbooleanPersyaratanOpsionalNilai & batasanBawaanfalse
Kombinasi bahan masukan

Teks · Teks UTF-8

string messages[].content

Parameter metode dan siklus hidup
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages, max_tokens
Parameteroptional_controlsKontrakstream
Parametermaterial_typesKontraktext
Parametertext_file_materialKontrakBaca dokumen UTF-8 yang sebenarnya dan masukkan teksnya ke string masukan atau konten pesan yang ditunjukkan.

Siklus hidup: synchronous_or_streamed

Paket

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast
Tidak ditentukan Saat mode fast dipilih
Mode Flex
Tidak ditentukan Saat mode flex dipilih
Upaya penalaran maksimum
Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default

Tarif Ailoot

Harga menurut konfigurasi

KonfigurasiJadwal tarifBiaya
KonfigurasiTarif dasar tokenJadwal tarifTarif dasarBiaya
Masukan · Token masukan $0.0006 / 1K token
Keluaran · Token keluaran $0.0024 / 1K token
Masukan · Pembacaan cache $0 / 1K token
Masukan · Penulisan cache $0 / 1K token
Masukan · Penulisan cache, 1 jam — / 1K token

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →

Contoh permintaan

Ailoot Ultra · Anthropic Messages

Isi permintaan JSON minimal yang lengkapcurl · gunakan dokumen UTF-8 AndaPython · simpan hasil secara lengkap
{
  "model": "M2-her",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'M2-her', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'M2-her', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Terima dan simpan hasil

Ailoot Ultra · Anthropic Messages

JSON atau SSE

Simpan semua hasil yang selesai

Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.

Simpan semua blok konten, tanda tangan penalaran, dan ID penggunaan alat yang sebenarnya. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan keluaran.

Jika respons asli perlu diperiksa

Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.

Kolom respons
KolomJenis
KolomidJenisstring
KolommodelJenisstring
Kolomcontent[]Jenistext|thinking|tool_use|other content block
Kolomstop_reasonJenisstring|null
KolomusageJenisobject
Kesalahan dan langkah berikutnya
ResponsKondisiLangkah berikutnya
Respons400 · invalid_request_errorKondisiBidang wajib, representasi materi, atau nilai parameter tidak validLangkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.

Alias

Alias model

Ailoot Ultra M2-her

Alias jalur metode

/chat/completions

ID pemanggil terkait

M2-her

FAQ · MiniMax: MiniMax M2-her
Input dan hasil apa yang tersedia?

POST /v1/chat/completions · M2-her: text → text

POST /v1/messages · M2-her: text → json, sse

Kolom apa yang digunakan permintaan?

POST /v1/chat/completions · M2-her: model, messages, stream

POST /v1/messages · M2-her: model, messages, max_tokens, stream

Batasan apa yang berlaku?

POST /v1/chat/completions · M2-her: messages.min_items: 1

Rincian selengkapnya

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan
Pilih paket dengan diskon untuk permintaan rutin Anda.
Kode promo hingga 50%
Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.
Biaya dalam riwayat
Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

Pilih langganan · Lihat harga model

Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial
Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.
Lisensi reseller
Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.
Dokumen di situs
Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

Minta lisensi reseller · Penawaran dan perjanjian lisensi