Skip to content

Model AI & kredit ​

Mini Program bisa memakai model AI Lexcetha untuk menulis, mentranskripsi, membacakan teks, membuat gambar, dan membuat video. Anda, sang developer, yang membayar pemanggilan ini dengan kredit AI. Workspace yang memasang Mini Program Anda tidak pernah ditagih untuk itu.

Yang tersedia ​

IzinPemanggilan SDKFungsinya
ai.textlex.ai.text()Menulis dan menjawab teks: satu prompt atau percakapan, maksimal 2048 token per jawaban
ai.transcribelex.ai.transcribe()Mengubah ucapan menjadi teks, maksimal 10 MB audio per pemanggilan
ai.speaklex.ai.speak()Membacakan teks (MP3), maksimal 4096 karakter per pemanggilan
ai.imagelex.ai.image()Membuat gambar, dengan kualitas standar atau tinggi
ai.videolex.ai.video.*Membuat video pendek. Prosesnya butuh beberapa menit
media.microphonelex.media.recordAudio()Merekam audio setelah pengguna mengizinkan (gratis, tanpa kredit)

Tambahkan yang Anda pakai ke manifest.permissions; reviewer menyetujuinya seperti izin lainnya. API lengkapnya ada di Referensi SDK.

Harga ​

KapabilitasKredit
ai.text1 per 1.000 token (prompt dan jawaban digabung)
ai.transcribe2 per MB audio
ai.speak1 per 1.000 karakter
ai.image4 per gambar (12 untuk kualitas tinggi)
ai.video40 per video

Setiap pemanggilan minimal 1 kredit. Kredit dipotong sebelum model berjalan dan dikembalikan kalau pemanggilannya gagal, jadi pemanggilan yang gagal tidak memakan biaya. ai.text() mengembalikan biayanya di credits.

Batas harian per pengguna ​

Supaya tidak ada satu orang pun yang menghabiskan kredit Anda, setiap pengguna punya batas kredit harian di Mini Program Anda. Atur di Store listing proyek Anda (bawaan 100 kredit per hari; 0 mematikan AI untuk semua orang). Begitu seseorang mencapainya, pemanggilan ai.* gagal dengan RATE_LIMITED sampai keesokan harinya. Tangani dengan pesan yang ramah.

Pratinjau ​

Pratinjau di dashboard kontributor memakai model sungguhan dan dibayar dari kredit Anda sendiri. Pratinjau tidak punya batas harian, jadi perhatikan pemakaian Anda selama menguji. Setiap pemanggilan dari pratinjau ditandai sebagai pratinjau di riwayat kredit Anda.

Mendapatkan kredit ​

Kredit ditambahkan ke akun Anda oleh Lexcetha. Belum ada pembelian mandiri: hubungi Lexcetha untuk top up. Halaman Kredit AI di dashboard kontributor menampilkan saldo, harga, setiap top up dan pemakaian, serta pemakaian tiap Mini Program dalam 30 hari terakhir.

Kalau saldo habis, pemanggilan ai.* gagal dengan INSUFFICIENT_CREDITS bagi semua pengguna Mini Program Anda, jadi pantau terus saldonya. Kalau sebuah model belum disiapkan di instance Lexcetha, pemanggilannya gagal dengan UNAVAILABLE.

ts
import { LexError } from '@lex/sdk';

try {
  const { text } = await lex.ai.text({ prompt });
  tampilkan(text);
} catch (e) {
  if (!(e instanceof LexError)) throw e;
  if (e.code === 'RATE_LIMITED') tampilkan('Batas AI Anda hari ini sudah tercapai. Coba lagi besok.');
  else if (e.code === 'INSUFFICIENT_CREDITS' || e.code === 'UNAVAILABLE') tampilkan('AI sedang tidak tersedia.');
  else throw e;
}

Merekam audio ​

Mini Program berjalan di iframe ber-sandbox yang tidak bisa memakai mikrofon. Dengan media.microphone, Lex yang merekam untuk Anda:

  1. Mini Program Anda memanggil lex.media.recordAudio().
  2. Lex memastikan izinnya sudah disetujui, lalu bertanya ke pengguna: "Mini Program Anda ingin memakai mikrofon Anda".
  3. Kalau pengguna mulai, Lex menampilkan perekamnya sendiri dengan timer, tombol Stop dan Batal. Perekaman berhenti sendiri setelah maxSeconds (bawaan 600, maksimal 3600).
  4. Pemanggilan Anda selesai dengan Blob audio (biasanya WebM/Opus), atau gagal dengan CANCELLED bila pengguna membatalkan, atau PERMISSION_DENIED bila browser memblokir mikrofon.

Kode Anda tidak pernah menyentuh mikrofon, hanya menerima rekaman jadi yang memang dibagikan pengguna. Merekam tidak memakan kredit; mentranskripsinya yang memakan kredit.

Contoh: pencatat rapat AI ​

Butuh media.microphone, ai.transcribe, ai.text, dan storage.scoped.

ts
import { createLex, LexError } from '@lex/sdk';

const lex = createLex();

async function catatRapat() {
  let audio: Blob;
  try {
    audio = await lex.media.recordAudio({ maxSeconds: 3600 });
  } catch (e) {
    if (e instanceof LexError && e.code === 'CANCELLED') return; // pengguna batal
    throw e;
  }
  if (audio.size > 10 * 1024 * 1024) throw new Error('Rekamannya terlalu panjang untuk ditranskripsi sekaligus.');

  status.textContent = 'Mentranskripsi…';
  const { text: transkrip } = await lex.ai.transcribe(audio, { language: 'id' });

  status.textContent = 'Merangkum…';
  const { text: ringkasan } = await lex.ai.text({
    system: 'Anda mengubah transkrip rapat menjadi catatan singkat: ringkasan, keputusan, dan tindak lanjut beserta penanggung jawabnya.',
    prompt: transkrip,
    maxTokens: 800,
  });

  await lex.storage.set(`catatan:${Date.now()}`, { transkrip, ringkasan });
  tampilkan(ringkasan);
}

Audio Opus berdurasi satu jam biasanya jauh di bawah 10 MB; untuk rapat yang lebih panjang, rekam per bagian lalu transkripsi satu per satu.

Contoh: video motion graphic ​

Butuh ai.video.

ts
tombol.onclick = async () => {
  progres.hidden = false;
  try {
    const video = await lex.ai.video.create(`Motion graphic: tulisan "${judul.value}" muncul melayang di atas gradasi lembut, bersih dan modern`, {
      onProgress: (p) => (progres.value = p),
    });
    player.src = URL.createObjectURL(video);
  } finally {
    progres.hidden = true;
  }
};

Video biasanya selesai dalam beberapa menit. Beri tahu pengguna bahwa videonya sedang dibuat, dan biarkan halamannya tetap terbuka; agar tetap aman bila Mini Program ditutup, pakai ai.video.start() dan simpan jobId-nya, lalu cek ai.video.status() nanti.

Lex oleh Gavalytics AI