モデル比較

Fugu Ultra v2 vs MiniMax M3.1 Flash

料金・コンテキスト長・実際の回答で比較(2026年10月時点)

Fugu Ultra v2(Sakana AI)とMiniMax M3.1 Flash(MiniMax)を、FastMetalのゲートウェイで実際に呼び出せる条件で比較します。どちらも同じOpenAI互換エンドポイントとAPIキーから利用でき、切り替えは model の文字列を変えるだけです。

スペックと料金

Fugu Ultra v2minimax logoMiniMax M3.1 Flash
提供元Sakana AIMiniMax
入力(100万トークンあたり)¥893.5¥25.2
出力(100万トークンあたり)¥5,361¥100.8
想定コスト(入力1,000・出力500トークン × 1,000回)¥3,574¥76
コンテキスト長1,000,000 トークン1,048,576 トークン
リリース日2026/9/112026/10/19
入力モダリティtext, image, filetext, image
生成速度 (p50)22222 トークン/秒 (n=24)—
アリーナ 総合圏外圏外
アリーナ 日本語圏外圏外
アリーナ コーディング圏外圏外

料金はFastMetalの単価(税別)です。

順位データ: LMArena leaderboard dataset(lmarena-ai/leaderboard-dataset、CC BY 4.0、2026-10-15時点)。カテゴリ名の対応付けとスコアの丸めはFastMetalによる。

どちらを選ぶべきか

  • 料金重視ならMiniMax M3.1 Flash。出力100万トークンあたり¥100.8で、Fugu Ultra v2より98%安くなります。
  • 長い文書を扱うならMiniMax M3.1 Flash。コンテキスト長は1,048,576トークンで、Fugu Ultra v2の1,000,000トークンより広くとれます。
  • 迷ったら両方を同じキーで試せます。model の文字列を変えるだけで切り替わり、料金はそれぞれの単価で従量課金されます。

同じプロンプトへの実際の回答

FastMetalのゲートウェイが返した回答をそのまま並べています。ベンチマークの数字ではなく、実際の出力です。

このエラーをデバッグして

以下のエラーがPythonアプリケーションで発生しています。原因を特定して修正してください。 Traceback (most recent call last): File "app.py", line 23, in get_user_orders total = sum(order["price"] * order["quantity"] for order in orders) TypeError: unsupport…

Fugu Ultra v2

## 原因 `order["price"]` が **数値ではなく文字列 (`str`)** で返ってきていることが原因です。 Python では `"1200" * 3` は掛け算ではなく「文字列を3回繰り返す」という意味になります。今回は `quantity` が `int` なので一見成立しそうですが、エラーメッセージが示す通り `str * int` の組み合わせで型が噛み合わず `TypeError` になっています。 文字列になる典型的な理由は次の通りです。 1. **カラム型が文字列** — `price` が `VARCHAR`/`TEXT` で定義されている(`"1,200"` や `"$12.00"` のような値が混ざっているケースも) 2. **DBドライバの型変換** — MySQL の `DECIMAL` を文字列で返す設定(`raw=True` など)、SQLite に文字列のまま INSERT されている 3. **アプリ層で文字列化** — フォーム/JSON の入力を変換せずにそのまま INSERT している まず実際の型を確認すると切り分けができます。 ```python rows = db.query("SELECT price, quantity FROM orders WHERE user_id = %s", user_id) for r in rows[:5]: print(repr(r["price"]), type(r["price"]), repr(r["quantity"]), type(r["quanti…
応答時間 97.1秒出力 6218 トークン

MiniMax M3.1 Flash

## 原因 `db.query()` が返した `order["price"]` が、データベース.driver、またはカラムの型定義によって **文字列(`str`)** になっている可能性があります。 コードでは `price` が数値であることを前提にしていますが、実際には文字列と整数を掛け算しているため、金額として計算できません。 price が文字列で返される要因として、次のものがあります。 - `orders.price` カラムが `VARCHAR` / `TEXT` で定義されている - データベースドライバが数値値を文字列として返している - ORM の型設定が文字列になっている ## 修正方法 金額は `float` より、精度誤差を抑えるために `Decimal` を使うのが望ましいです。 ```python from decimal import Decimal def get_user_orders(user_id): orders = db.query( "SELECT price, quantity FROM orders WHERE user_id = %s", user_id, ) total = Decimal("0") for order in orders: price = Decimal(str(order["price"])) quantity = int(order["quantity"]) total…
応答時間 49.3秒

コードレビュー

以下のTypeScript関数をレビューして、可読性・パフォーマンス・ベストプラクティスの観点から改善点を提案してください。 async function fetchAllUsers(page: number = 1): Promise<any[]> { let allUsers: any[] = []; let hasMore = true; let currentPage = page; while (hasMo…

Fugu Ultra v2

# コードレビュー: `fetchAllUsers` ロジックの意図は明確で、`async/await` による素直な実装になっています。特に **終了判定にフィルタ後ではなく API が返した生の `data.users.length` を使っている点は正しい**(フィルタ後の件数で判定すると、削除済みユーザーが多いページで早期終了するバグになります)。また `push` をループで回しているため、`push(...array)` によるスタックオーバーフローも回避できています。 一方で、**型安全性・HTTP エラー処理・ページネーションの堅牢性**に重要な改善余地があります。以下、重要度順にまとめます。 --- ## 指摘事項サマリ | # | 重要度 | 分類 | 内容 | |---|---|---|---| | 1 | 🔴 高 | バグ | `response.ok` を確認していない(4xx/5xx を正常系として処理) | | 2 | 🔴 高 | バグ | 無限ループのリスク(終了条件が API の挙動に全依存) | | 3 | 🔴 高 | 型安全 | `any[]` が呼び出し側全体に伝播 | | 4 | 🟠 中 | 堅牢性 | レスポンス形状のランタイム検証がない | | 5 | 🟠 中 | 堅牢性 | キャンセル(`AbortSignal`)非対応 | | 6 | 🟠 中 | 保守性 | マジックナンバー `100` の重複定義 | | 7 | 🟠 中 | 保守性 | マジック文字列 `"deleted"` | | 8 | 🟠 中…
応答時間 240.2秒出力 17159 トークン

MiniMax M3.1 Flash

## 総評 現在の実装は、「APIが常に最大100件を返し、100件未満のページが最後」という前提なら動作します。ただし、型安全性、HTTPエラー処理、ページングの終了判定には改善余地があります。 特に、ページングの判定は固定値 `100` ではなく、APIから `has_next` や `total_pages` などのメタデータを取得 basing にするのが重要です。 ## 主な改善点 ### 1. `any` をやめて型を定義する `Promise<any[]>` では、呼び出し側が返り値の構造を IDE から把握できません。また、APIレスポンスの型と変換後の型も分けて定義すべきです。 ```ts interface User { id: string | number; name: string; email: string; } ``` 標準の `Response.json()` は多くの TypeScript 定義では `any` を返します。単に `as UsersPage` とキャストするだけでは実行時の検証にはならないため、Zodなどのスキーマライブラリを使うのが安全です。 ### 2. HTTPステータスを確認する `fetch` は、404や500でも Promise 自体が reject するとは限りません。現在のコードでは、エラーレスポンスがJSONETTEWO の/usersを含まない場合に、JSONやプロパティアクセスで不明瞭なエラーになります。 必ず `response.ok` を確認します。 ### 3.…
応答時間 129.2秒

ビジネスメール作成

取引先の田中部長に、納品予定の製品に不具合が見つかり、納期を1週間延期する必要がある旨を伝えるビジネスメールを作成してください。 条件: - 原因は品質検査で軽微な不具合が発見されたため - 代替案として暫定版を先に納品することも可能 - 改めてお詫びの訪問をしたい - 日本のビジネスマナーに沿った丁寧な文面にすること

Fugu Ultra v2

以下が最終版です。Agent 1 の構成の丁寧さを活かしつつ、Agent 2 が指摘した「事実として確認されていない安全性への言及」は削除し、あわせて敬称・件名・お願い形の表現を整えました。 --- ## メール文面(完成版) **件名:【お詫び】「【製品名】」納品日変更のお願い(株式会社【自社名】・【氏名】)** 株式会社【取引先名】 【部署名】 部長 田中 様 いつも大変お世話になっております。 株式会社【自社名】【部署名】の【氏名】でございます。 このたびは、【○月○日】に納品を予定しておりました「【製品名】」につきまして、 誠に申し上げにくいご連絡となり、まずは深くお詫び申し上げます。 出荷前の最終品質検査におきまして、製品の一部に軽微な不具合が確認されました。 現在、原因の特定と是正処置を進めておりますが、万全の品質でお納めするためには 是正後の再検査を含め、当初の予定より一週間程度のお時間を頂戴する必要がございます。 誠に勝手なお願いではございますが、納品日を下記のとおり変更させていただきたく、 何卒ご容赦賜りますようお願い申し上げます。  ■ 当初の納品予定日:【○月○日(○)】  ■ 変更後の納品予定日:【○月○日(○)】  ■ 変更理由:品質検査で確認された不具合の是正および再検査のため なお、貴社の業務スケジュールへの影響を最小限に抑えるため、ご希望がございましたら、 現時点で動作確認の完了している**暫定版を当初の予定日までに先行して納品**することも可能でございます。 暫定版の仕様およびご利用上の制約につきましては、あらためて詳しくご…
応答時間 113.6秒出力 6144 トークン

MiniMax M3.1 Flash

**件名:納期変更のお詫びと代替案のご提案(製品不具合について)** 拝啓 貴社ご繁忙中、誠に失礼いたします。 ○○株式会社の△△と申します。 納品予定の製品について、現定于◇月◇日の納期でありますが、品質検査において軽微な不具合が発見されました.swapこれにより製品品質に万全を期すため、納品を1週間延期させていただくこととなり、当初の納期でお約束しておりました sollten多大なるご迷惑をおかけし、誠に申し訳ございません。 不稳なお致病れですが、代替案として、**暫定版を先行してお届けする方法**.offer-controls也可以Soup如果您同意,我们可先于◇月◇日暂定版本,完整版本于◇月◇日(一周后)交付。是否采用此方案,我们将尊重贵公司的决定。 また、この度のご連絡および納期の変更につきまして、近日中に貴社へお詫びにうかがいたく存じます。ご都合のよい日時がございましたら、 IdentificationrowedMerci inform us so that we may visit. 何卒ご理解とご鞭撻を賜りますよう、よろしくお願い申し上げます。 敬具 ○○株式会社 営業部 △△ △△ TEL:xxx-xxxx-xxxx MAIL:xxx@xxx.co.jp --- ※日付や固有名詞は、実際の内容に合わせてご変更ください。
応答時間 8.3秒出力 553 トークン

他のプロンプトでも比較する →

よくある質問

Fugu Ultra v2とMiniMax M3.1 Flash、料金はどちらが安いですか?
出力100万トークンあたりFugu Ultra v2は¥5,361、MiniMax M3.1 Flashは¥100.8で、MiniMax M3.1 Flashの方が安くなります(FastMetalの円建て単価・税別)。
Fugu Ultra v2とMiniMax M3.1 Flashのコンテキスト長の違いは?
Fugu Ultra v2は1,000,000トークン、MiniMax M3.1 Flashは1,048,576トークンです。
Fugu Ultra v2とMiniMax M3.1 Flashを同じAPIキーで使えますか?
はい。FastMetalのOpenAI互換エンドポイントで、model に "fugu-ultra-v2" または "minimax-m3.1-flash" を指定するだけで切り替えられます。料金はそれぞれの単価で、同じ前払い残高から従量課金されます。

どちらも同じAPIキーで試せます

アカウントを作成してクレジットを追加すれば、Fugu Ultra v2とMiniMax M3.1 FlashをブラウザのチャットとAPIの両方から呼び出せます。月額料金はありません。

Fugu Ultra v2の他の比較

MiniMax M3.1 Flashの他の比較