マワリミチの AI 機能を動かす先払いクレジットの仕組み
マワリミチの AI 投稿補助・翻訳、AI 作業室、将来の MCP tool 呼出し 等、AI を使う機能は先払い (prepaid) のクレジット制で動きます。 あらかじめクレジットを購入しておき、AI 呼出しの都度そこから消費されます。
サブスクリプションではないため、毎月の自動課金はありません。残高が尽きると AI 機能が一時的に止まり、 残高を補充すると再び使えるようになります。
例) 1,000 credit ≒ 1 円 / 100,000 credit ≒ 100 円 / 1,000,000 credit ≒ 1,000 円
細かい単位 (micro-credit) にしているのは、AI モデルの 1 トークンあたり単価が小数オーダーの円相当になるためです。 UI ではクレジットと円換算を並記表示します (例: 95,000 credit (≒95 円))。
クレジットは先払い (one-time payment) で購入する想定の仕組みです。 現在、セルフサービスでの購入受付は準備中のため、購入をご希望の方はお問い合わせください。
クレジット残高は次の 3 つに分けて管理されます。
※ 合計残高 = 利用可能残高 + 予約済。 予約済は処理が完了すると、消費分を引いた残りが利用可能残高に戻ります。
AI 呼出し 1 回ごとに、次の流れでクレジット台帳に記録されます。 台帳は append-only (追記のみ) で、過去の記録は変更されません。
User Hub / AI 機能 Credit Ledger │ │ │ │ AI 呼出し開始 │ │ │──────────────────────▶│ │ │ │ Reserve(amount_max) │ │ │─────────────────────────▶│ │ │ │ 残高 -= amount_max │ │ │ 予約済 += amount_max │ │◀───── reservation_id ────│ │ │ │ │ │ (AI モデル実行) │ │ │ │ │ │ Consume(actual) │ │ │─────────────────────────▶│ │ │ │ 予約済 -= amount_max │ │ │ 残高 += (amount_max - actual) │ │◀──────── ok ─────────────│ │ │ │ │◀───── 結果 ───────────│ │
※ 実装上は credit_accounts 行を FOR UPDATEで行ロックし、二重実行は idempotency_key で防止しています。
AI 作業室で 1 回のチャット往復を行うと、入出力トークン数 × モデル単価 でクレジットが消費されます。 軽量モデル (例: gpt-4o-mini 相当) で短い往復なら 数百 credit (= 0.x 円)、 上位モデル + 長文だと数千〜数万 credit になります。
消費の都度、履歴に reserve → consume の 2 行が記録され、 参照欄にサービス名 / モデル名 / 対象オブジェクトが残ります。
外部 AI クライアント (Claude Desktop / Cursor 等) からMCP tool を呼ぶ場合も、 将来は同じ Reserve → Consume の仕組みで台帳に記録される設計です。本Phase では tool 単価が 0 のため発火しませんが、wiring 自体は完了しています。 詳細は MCP ドキュメント を参照してください。
利用可能残高が予約しようとする金額に満たないとき、API は HTTP 402 Payment Required+ エラーコード insufficient_credit を返します。 AI 呼出しは実行されず、課金もされません。
HTTP/1.1 402 Payment Required
Content-Type: application/json
{
"error": "insufficient_credit",
"message": "クレジット残高が不足しています",
"available": 1500,
"required": 5000
}残高不足が続く場合は、お問い合わせいただくか、上位プランへのアップグレードをご検討ください。