Kimi K3.1の動画検品、29分で収束
この記事で使った Kimi API のクレジットは、Moonshot AI から評価用に提供されたものです。評価の設計・実行・結論に Moonshot AI は関わっていません。うまくいかなかったことも、そのまま書いています。
Moonshot AI が 10 月下旬に出した Kimi K3.1 Pro で、動画の検品と修正を、人が張り付かずに何周も回せるようになりました。前回の記事 (Kimi K3の動画レビュー、Claudeと互角) では、K3 に動画を見せると Claude と同じくらい的確に指摘できる、と書きました。
ただ、検品は1回では終わりません。
指摘を受けて直したら、直した版をもう一度見せて確かめます。1本の動画で、検品を何回も回すことになります。

図の「時間」の行を見てください。431秒あれば、トイレのついでに同僚と雑談まで済ませて戻ってこられます。24秒だと、X をひとスクロールするか、Slack や Teams の未読を確認するくらいで終わっています。
K3 では、55 秒の動画の細部を問う決まった 12 問に答えさせるだけで、1 回 431 秒・約 102 円 ($0.68、1 ドル 150 円換算。以下同じ) かかりました。これを修正のたびに繰り返すには重い数字です。K3.1 の高速版 (K3.1 Pro Highspeed) は、同じ 12 問に 24 秒・約 20 円 ($0.13) で答え、正解は K3 の 9 問に対して 10 問でした。これなら何周でも回せそうです。そこで、縦長ショート動画を作る → Kimi が検品する → Kimi が直す → 作り直す、というループを実際に回してみました。
分かったことは4つです。
- ループは3周で収束しました。 20 秒の動画1本に検品4回と修正3回をかけて、所要時間は 29 分、Kimi の費用は約 350 円 ($2.32) です。最初の動画にあった不具合は、文字の小ささを除いて消えました
- Kimi は、私が見落とした不具合も見つけました。 一方で、同じ不具合を回によって見逃し、存在しない不具合を3回続けて指摘しました
- 一番たちの悪いバグは、音の検査が見つけました。 原稿を直しても音声合成が作り直されず、字幕は新しい原稿、声は古い原稿のままになっていました。Kimi は音を聞けないので、映像だけでは見つかりません
- 直す役の Kimi は、検査を通すために実演の中身を曲げました。 表示を整えるために、SSH のコマンドに
| fold -s -w 24を足しています
題材: 20 秒の縦長ショート
動画は、私が作っている handson-cast という CLI で自動生成しています。handson-cast は、コマンドの実行履歴を、ナレーションと字幕付きの動画として残せるツールです。手順を書いた JSON (steps.json) を渡すと、Docker のコンテナでコマンドを実際に実行しながら vhs でターミナルを録画します。OpenAI の音声合成でナレーションを付けます。字幕を焼き込みます。これまでは横長 (1920x1080) だけだったので、今回 YouTube ショート向けに縦長 (1080x1920) を足しました。
内容は SSH の鍵認証です。鍵を作る → 公開鍵をサーバーに置く → パスワード認証を止める、の3手順を 20 秒で見せます。拒否メッセージの括弧から password が消えるところまで、コンテナで実際に起きたことを録画しています。
縦長対応を足した直後に、何も直さずに生成した版 (round0、20.6 秒、音声あり) です。
Kimi に見せる前に、Claude Code にフレームを切り出させて目視で確認し、不具合を4件書き出しておきました。これを正解表にして、Kimi の検品を採点します。
| # | 不具合 |
|---|---|
| G1 | 先頭のタイトルカードを1つ目と数えてしまい、最初の手順が「Step 2」から始まる |
| G2 | 出力が出たあとの拡大演出で、画面の右端が切れる (Permission denied (publ で途切れる) |
| G3 | 字幕の改行で、句点「。」だけが次の行に落ちる |
| G4 | ターミナルの文字が小さく、画面の下半分近くが空いている |
役割分担: 目は Kimi、耳は Whisper

Kimi は動画の音声を理解しません。
前回も今回も、ナレーションを書き起こすよう頼むと「音声は認識できない」と答えました (推測で埋めないのは良いところです)。そこで、耳は別に付けました。
| 役 | 担当 | 見るもの |
|---|---|---|
| 目 | Kimi K3.1 Pro Highspeed | 見切れ、見出しと画面の食い違い、字幕の改行、スマホでの読みやすさ、コマンドの成否 |
| 耳 | Whisper + ffmpeg | 書き起こしと原稿の一致、字幕と声のずれ、無音、音量 |
| 手 (steps.json) | Kimi K3.1 Pro Highspeed | 検品結果を受けて steps.json を書き直す |
| 手 (コード) | Claude Code | Kimi が「steps.json では直せない」と返したもののうち、実在したものを handson-cast で直す |
handson-cast の動画では、ナレーションは steps.json の原稿を音声合成で読ませたものです。何を言うべきかの正解が手元にあるので、Whisper の書き起こしと突き合わせれば、言い間違いや言い飛ばしが分かります。Whisper の費用は、4 回分 (合計約 1.5 分の音声) で 1 セントに届きません。
Kimi への依頼はシンプルにしました。動画と steps.json を渡して、「見切れ・食い違い・字幕の改行・読みやすさ・手順の成否」の観点で不具合を挙げ、それぞれ steps.json で直せるか、コードの直しが要るかを JSON で返してもらいます。
タイムスケジュール
全工程の開始と終了を記録しました。
| ラウンド | 開始 | ビルド | 映像の検品 (Kimi) | 音の検品 | 修正 (Kimi) | Kimi の判定 |
|---|---|---|---|---|---|---|
| 0 | 09:45 | 87 秒 | 180 秒 / $0.42 | 4 秒 | 139 秒 / $0.21 | 要修正 (指摘5件) |
| 1 | 09:52 | 76 秒 | 171 秒 / $0.38 | 5 秒 | 216 秒 / $0.35 | 要修正 (5件) |
| 2 | 10:02 | 156 秒 | 192 秒 / $0.40 | 3 秒 | 124 秒 / $0.20 | 要修正 (2件) |
| 3 | 10:10 | 87 秒 | 155 秒 / $0.36 | 5 秒 | なし | ok (0件) |
09:45:38 に1回目の検品を始めました。10:14:49 に4回目の検品が「ok」を返しました。29.2 分、Kimi の費用は約 350 円 ($2.32) です (round0 のビルド 87 秒は含みません)。20 秒の動画1本に、検品を4回、修正を3回かけた計算です。検品1回あたりは約 55〜63 円 ($0.36〜0.42)、修正1回あたりは約 30〜52 円 ($0.20〜0.35) でした。
時間の大半は Kimi です。
1周あたり、検品に約3分、修正に2〜3.5分かかっています。冒頭の「12 問に 24 秒」より7倍前後遅いのは、決まった質問に答える形式と違い、動画全体から問題を探させているからです。推論に約1.2万トークン使っていました。コード側の修正は2回ありました。Claude Code がそれぞれ30秒前後で済ませています。
何が見つかって、何が直ったか
| 不具合 | 見つけた | 直した |
|---|---|---|
| G1 手順が Step 2 から始まる | Kimi (round1。round0 では見逃し) | コード |
| G2 拡大演出で右端が切れる | Kimi (round0) | Kimi が steps.json で拡大を止めた |
| G3 「。」だけの行 | Kimi (round0) | コード (行頭禁則) |
| G4 文字が小さい | Kimi (round1。round0 では見逃し) | 一部だけ。後述 |
見出しの飾り ========== が折り返して記号だけの行になる | Kimi (round0)。私の正解表に無かった | コード |
Permission denied (publicke / y). で単語が割れる | Kimi (round2) | Kimi が steps.json で直した。後述 |
| 音量が -37.6 LUFS と小さすぎる | 耳 (ffmpeg) | コード (-14.8 LUFS に) |
音声合成が kenimoto.dev を読めない | 耳 (Whisper の書き起こしは「ケニモット・オトビ」) | Kimi が原稿からサイト名を外した |
| 原稿を直しても声が古いまま | 耳 (Whisper)。映像では見つからない | コード |
| 「字幕の切り替えで前後の文が重なる」 | Kimi が round0〜2 で毎回 | 誤検出。字幕は重なっていない |
見出しの飾りの件は、私が正解表を作るときに見落としていたものです。Step 4 の見出しだけが長く、= の一部が次の行に折り返されていました。Kimi はこれを round0 で拾っています。拡大演出による見切れも、私は Step 4 でしか気付いていませんでした。Kimi は最初の手順 (画面上は「Step 2」) でも起きていると指摘し、確かめるとその通りでした。
逆に、手順番号のずれ (G1) と文字の小ささ (G4) は、round0 では見逃し、round1 で指摘しました。同じ動画でも回によって拾うものが変わります。「字幕が重なる」という誤検出は3回とも出ました。字幕のデータを見ても、該当する時刻のフレームを見ても、重なってはいません。直す役の Kimi が「コード側の問題」として回してきたので実害はありませんでした。毎回「これは直さない」と判断する手間が残りました。
音の側が見つけた「原稿を直しても声が古いまま」は、今回いちばん危ないバグでした。handson-cast は、音声ファイルがすでにあれば作り直さない作りでした。ファイル名だけで判断していたので、原稿を書き換えても古い声が使われます。字幕は新しい原稿から作るので、字幕と声が別々のことを言う動画ができあがります。Whisper の書き起こしが原稿と合わなかったことで気付きました。映像しか見られない Kimi には、原理的に見つけられません。
直す役は、検査に合わせて実演を曲げた
ループが収束したあとの動画 (round3、25.3 秒) です。

見出しは Step 1 から始まり、右端も切れていません。音量も目安どおりになりました。Kimi の判定は「ok」、Whisper の書き起こしも原稿とほぼ一致しました。ただ、人の目で見ると問題が残っています。
検査を通すために、実演の中身が変わりました。
- Step 2 のコマンドに
2>&1 | grep 'Number of key'が、Step 3 に2>&1 | fold -s -w 24が足されました。出力を短くしたり、24 文字で折り返したりして、画面に収めるための細工です。SSH を学ぶ人から見ると、意味の分からない手順が増えています - round0 の修正で、原稿の「鍵」が「キー」に、「password」が「パスワード」に書き換えられました。Whisper の書き起こしとの表記ゆれを、不具合として受け取ったためです。「拒否の括弧から password が消えた」は画面の英単語を指していたので、意味が少しぼやけました
- round1 の修正では、古いままの声に原稿を合わせにいき、Whisper の聞き間違い「では、」まで原稿に入れました
- 文字の小ささ (G4) は、round0 の修正で Kimi が逆に文字を小さくし (30 → 24)、round1 で 32 に戻しました。画面の下半分が空いている状態は、今も残っています
原因の一部は、私の設計です。直す役に、検査の結果をそのまま渡していました。表記ゆれを「不具合」として渡せば原稿を書き換えます。折り返しを指摘すればコマンドに細工を足します。round1 からは、「原稿は字幕と声の不具合を直すとき以外は変えない」「文字を小さくして収めない」という指示を足しました。ただ、コマンドを変えることは禁じていなかったので、細工は止められませんでした。さらに、私はこの指示に「kenimoto.dev の綴りは不具合ではない」とも書いてしまい、本物の読み間違いまで無視させています (round2 の修正で、Kimi が自分で原稿からサイト名を外しました)。
前提: K3.1 でなぜ回るようになったか
ループの前に、K3 / K3.1 Pro / K3.1 Pro Highspeed を同じ課題で比べています。主な数字は次の通りです (各3回の中央値、2026年11月2日午前の計測)。
| 課題 | K3 | K3.1 Pro | K3.1 Pro Highspeed |
|---|---|---|---|
| 動画の細部 12 問 (55 秒の動画) | 9 問 / 431 秒 / $0.68 | 8〜10 問 / 222 秒 / $0.067 | 10 問 / 24 秒 / $0.13 |
| semver の範囲解決を実装 (26 ケース) | 3 回中 2 回満点 / 1,192 秒 / $0.87 | 3 回とも満点 / 807 秒 / $0.27 | 3 回とも満点 / 257 秒 / $0.46 |
| ウェブ検索 8 問 x 3 回 | 20 / 24 | 23 / 24 | 23.5 / 24 |
公表単価 (100 万トークンあたり、入力 / 出力) は、K3 が $3 / $15、K3.1 Pro が $2 / $10、Highspeed が $4 / $20 です。
効いているのは単価より、考える量でした。難しい課題で、K3 は推論トークンを大量に使います。semver の実装では K3 が約 5.8 万トークン、K3.1 Pro は約 2.7 万トークンでした。動画の細部では 4.4 万トークン対 5.8 千トークンです。K3.1 Pro は出力速度こそ遅い (毎秒 33〜40 トークン。K3 は 81〜124) ものの、処理全体では K3 より早く終わっています。
ただし、出力の速さは混み具合で変わります。発表直後の 10 月 24 日の計測では、K3.1 Pro が毎秒約 77 トークンで K3 の約2倍速い、と紹介されていました (myclaw の比較記事。数字は Artificial Analysis の計測を引用したもの)。今は Artificial Analysis のページで毎秒約 31 トークンで、私の計測と一致します。速さの数字は測った時点のものとして読んでください。軽い課題では逆に K3.1 Pro のほうが考えすぎて損をする、という実測も出ています (Kimi K3.1 Proは本当に安いのか)。
なお、max_tokens を 16,000 にしていると、semver の課題は3モデルとも推論だけで上限に達し、コードが1行も出ませんでした。重い課題では 64,000 程度まで上げる必要があります。
量産に乗せるなら
今回の結果から、handson-cast にはこう組み込むことにします。
- 検品は、動画を作るたびに Kimi に回す。 検品1回は約3分・約 60 円です。修正を挟んで3〜4回回しても、1本あたり 30 分・約 350 円に収まります
- 耳は必ず付ける。 字幕と声が別々の原稿から作られるような事故は映像に出ないので、Whisper との突き合わせでしか見つかりません
- 直す役には、変えてはいけないものを先に渡す。 実演のコマンドと原稿の意味は固定し、触ってよいのは文字の大きさ、拡大演出、カードの長さのような見た目の側だけにします
- 誤検出の型は記録して、次の検品に渡す。 「字幕が重なる」のように毎回出る誤検出は、フレームの差分で機械的に確かめるか、指示に書いておきます
動画1本、3周だけの記録です。
題材を変えれば、Kimi の拾い方も違うはずです。それでも、「AI に動画を見せて、指摘を受けて直す」作業を、人が張り付かずに 30 分で回せるところまでは来ました。残っている仕事は、直す役に何を触らせないかを決めることです。
References
- Kimi API: 料金: K3 系の料金表と、K2 系を 2026-10-31 以降の新規ユーザーに提供しない旨。K3.1 Pro / Highspeed の単価と、K2 系を 2026 年 12 月末に全廃する予定は、2026-10-26 に API ユーザーへ届いた告知メールによる
- Kimi API: Vision モデルの使い方: 動画入力の方法
- Artificial Analysis: Kimi K3.1 Pro providers: 出力速度の外部計測
- Kimi K3.1 Pro vs K3 (myclaw): 発表直後の Artificial Analysis の数字を引いた比較
- Kimi K3.1 Proは本当に安いのか: 7回の実測から切り替え判定式を作る (Qiita): 軽い課題では K3.1 Pro のほうが推論トークンが多くなる実測
- Kimi K3の動画レビュー、Claudeと互角: 前回の記事
- charmbracelet/vhs: ターミナル録画
- SSH接続の5方式を7軸比較: 動画の題材にした /learn/ シリーズ
関連書籍 AIくさい文章から脱出する技術 AIくささ 消し方 · AIっぽい文章 特徴 · AI判定 誤検知 · 6モデル180サンプルを自分で測った全記録 (Kindle Unlimited 対象) 書籍ページを見る → この記事は役に立ちましたか?