YomiTokuは日本語の文書画像を読み取り、レイアウトや表の構造を保ったまま出力するOCRエンジンです。ブラウザだけで試せるYomiToku Studioの操作手順と制限、帳票テンプレートをPython版のCLIへ渡す一括処理、商用利用の条件までを、2026年10月時点の公式マニュアルとリリース情報をもとに整理します。
まとめ:YomiToku Studioの使い方とYomiToku導入判断の要点
- YomiToku Studioは、MLismが無料で公開しているブラウザ版のYomiTokuです。インストールもアカウント登録も不要で、YomiToku Studioを開けばそのまま使えます。ブラウザ内解析では画像を外部へ送信しません。
- 2026年10月時点のマニュアルでは、文書解析・帳票解析・帳票入力・文書比較の4ワークスペースがあります。入力はJPEG・PNG・BMP・PDFで、TIFFは読み込めません。
- YomiToku本体は文字検出・文字認識・レイアウト解析・表構造認識の4モデルで構成され、7,000文字超の日本語、縦書き、手書き、英語に対応します。Python版の最新はv0.15.0(2026年9月14日)で、対応はPython 3.10〜3.13です。
- Studioで保存した帳票テンプレートは、v0.15.0からPython版の
yomitoku_table --studio-templateで読み込めます。少数の帳票でテンプレートを作り、同じ様式をCLIで一括処理する流れが組めます。 - Python版のソースコードとモデルの重みはCC BY-NC-SA 4.0で、社内の業務効率化も商用利用に当たります。Studioは別の利用規約で提供され、MLismは規約の範囲内なら一部の商用目的にも無料で使えるとしています。Pro契約が要るのは、Python版を業務に使う場合と、Studioを大規模に使う・業務システムと連携する場合です。AWS Marketplace版はソフトウェア料金が1時間10.00ドル(別途SageMakerのインスタンス料金)です。
以下では、Studioの使い方を先に説明し、そのあとでYomiTokuの仕組み、Python版の導入、CLI、帳票解析機能、ライセンスの順に見ていきます。
YomiToku Studioとは:ブラウザだけで動く無料GUI版の位置づけ
YomiToku Studioは、MLismが提供する文書解析Webアプリです。MLismの製品ページによると、無料版は外部のOCR APIを呼び出さず、文書データを利用者のPC内で処理します。推論はWebAssemblyとWebGPUで動き、MLismの配信環境は画面だけを配信して、文書やOCR結果を中継・保存しないとされています。MLismのプレスリリース(2026年9月3日)で提供開始が発表されました。Pythonの環境構築をせずにYomiTokuの精度を確かめたい場合は、まずここから試すのが近道です。
Studioはオープンソース版YomiTokuのデモにとどまりません。解析結果を元画像と並べて直すベリファイ、選んだ文字を黒塗りしてコピーや出力にも反映するマスキング、作業内容のブラウザ内自動保存、プロジェクトファイルでの作業の引き継ぎといった、業務で確認作業をするための機能を備えています。製品ページは出力形式としてMarkdown・CSV・テキスト・画像・構造化JSON・検索可能PDFを挙げています。
YomiToku Studioの4つのワークスペースと作れる成果物・モデル容量
起動画面には目的別のカードが4枚並び、選んだワークスペースで作業します。提供開始時のプレスリリースは3つのワークスペースを紹介していますが、YomiToku Studioの使い方(公式マニュアル)には2026年10月時点で「文書比較」が加わっています。
| ワークスペース | 作成できるもの | モデル容量 |
|---|---|---|
| 文書解析 | Markdown、検索可能PDFなど | 約250〜300MB |
| 帳票解析 | CSV、JSON | 約490MB |
| 帳票入力 | 記入済みPDF | 不要 |
| 文書比較 | 差分一覧、コメント付きPDF | 約250〜300MB |
「文書解析」は文書全体をOCRしてMarkdownや検索可能PDFにし、「帳票解析」は項目と表を構造化してCSVやJSONに出力します。帳票解析のモデル容量は、文書解析のモデルに173MBのセル検出モデルを足した分です。「帳票入力」は帳票テンプレートに値や印影画像を書き込んで記入済みPDFを作る機能で、テンプレート側が構造を持つため解析モデルを使いません。CSVのデータを差し込んで入力済みPDFを一括で作ることもできます。「文書比較」は2つの文書の差分を一覧にし、コメント付きPDFとして出力する機能です。照合そのものにはモデルを使わず、読み込んだ文書のOCRにモデルを使います。
YomiToku Studioの使い方:文書解析をはじめて動かす5つの手順
マニュアルが示す文書解析の流れは「読み込み→OCR→確認・修正→出力」です。最初の1枚は、次の順で進めると迷いません。
- Chrome・Edge・Safariの最新版でYomiToku Studioを開き、起動画面のカードから「文書解析」を選ぶ。
- 左レールの[Files]から画像かPDFを追加する。初回はモデルのダウンロードが始まり、進捗はステータスバーに出る。
- ページ一覧で解析するページを確認する。ページは既定で解析対象に選ばれている。必要に応じて「向きを自動補正」を設定し、一覧上部の「選択したページを解析」を押して、解析完了を待つ。
- 画像ビューと右パネルで認識結果を見比べ、誤認識を直す。読み順や領域の取り方もここで確かめる。
- [Export]からMarkdownや検索可能PDFを出力する。ページ一覧で並べ替えた順序が、ZIPや連結PDFの出力順になる。
画面は左レール・ページ一覧・画像ビュー・右パネル・上部バーの5領域で構成されます。左レールのタブは、文書解析ではFiles・Tools・Masking・Copy・Export、帳票解析と帳票入力ではFiles・Tools・Template・Batch・Exportです。誤補正された向きは自動補正を外して90度回転し、再推論します。
YomiToku Studioで作業を保存・再開する方法とキー操作の早見表
作業は同じブラウザ内に自動保存され、マスキングや入力値も含めて残ります。再び開くと復元バナーが出て、「前回の続きから再開」か「破棄」を選ぶ形です。別の端末へ引き継ぐときは[Files]の「プロジェクトを保存」で編集状態をJSONに書き出し、「プロジェクトを開く」で読み込みます。このJSONは保存元と同じワークスペースでしか開けず、画像本体を含まないページは元ファイルを追加し直す必要があります。
| キー操作 | 動作 |
|---|---|
| Esc | ツールのモードを解除 |
| Delete | 確認なしで削除(Ctrl+Zで戻せる) |
| Ctrl+Z / Ctrl+Y | 元に戻す / やり直す |
| Ctrl+クリック | 複数選択 |
| 中ボタンドラッグ | 画像のパン |
| Ctrl+ホイール | 拡大・縮小 |
設定では、PDFを画像にする解像度(DPI)を変えられます。Studioの既定は150で、上げると文字は読みやすくなる一方、処理は重くなります。変更は以降に追加・再解析するページだけに効くため、粗いPDFはDPIを上げてから追加し直してください。Python版CLIの--dpiの既定は200なので、同じPDFでもStudioとCLIで結果が変わることがあります。
YomiToku Studioの動作条件:対応ブラウザ・TIFF非対応・http制限
公式マニュアルが推奨するブラウザは最新版のChrome・Edge・Safariです。ダウンロードしたモデルはブラウザのCache APIに保存され、キャッシュが残っている間は2回目以降の再取得を省けます。モデルのダウンロードに失敗したときはネットワークを確認して再読み込みし、重いときはページを分割するか解像度を下げて試します。
見落としやすい制限は2つあります。1つはTIFFを読み込めないことです。MLismの製品ページは対応形式にTIFFを挙げていますが、Studioのマニュアルは「TIFFは非対応」で読み込み対象から除外すると明記しています。スキャナの既定出力がTIFFなら事前にPNGへ変換してください。もう1つは、社内LANでhttp://のIPアドレス直指定で開くと、モデルがキャッシュされず毎回ダウンロードになり、クリップボードへのコピーも使えない点です。Studioを社内サーバーに置いて配信するには、利用規約第5条の禁止事項に当たるため、MLismの事前承諾が必要です。承諾を得て配信する場合も、キャッシュやコピー機能を使うにはhttpsまたはlocalhostで開きます。
YomiToku Studioの帳票解析:テンプレート作成からCLI一括処理まで
帳票解析は、事前設定なしで帳票の構造を自動解析し、キーと値、表を抽出するワークスペースです。流れは「読み込み→構造化→確認・修正→CSV/JSON出力」で、項目の対応や階層を直した結果を帳票テンプレート(JSON)として保存できます。保存したテンプレートは、帳票入力で読み込んで記入済みPDFを作る用途にも使えます。
テンプレートの使い道で大きいのは、Python版CLIへの受け渡しです。MLismの技術ブログ(2026年9月30日)は、給与所得の源泉徴収票を例に、Studioで112項目のテンプレートを約10分で作り、CLIで10件をまとめて解析する手順を公開しています。Studioの左レール[Template]から「テンプレートを保存」でJSONを書き出し、次のように渡します。
yomitoku_table ./input \
--studio-template template.json \
--tr_name parseq-middle-dynw-v5 \
--simple \
-d cuda \
-o results
--simpleは座標などのメタ情報を省き、文字と構造だけを出力する指定です。出力は入力画像ごとにsample_001_p1.jsonのような名前で保存され、tablesの中のkv_itemsに親ヘッダーの階層ごと値が入ります。取り出す側は、たとえば次のように書けます。
import json
from pathlib import Path
# CLIの出力(results配下のJSON)から項目を取り出す
for path in sorted(Path("results").glob("*.json")):
data = json.loads(path.read_text(encoding="utf-8"))
for table in data["tables"]:
items = table.get("kv_items", {})
print(path.name, items.get("16歳未満の扶養親族", {}).get("1", {}).get("氏名"))
同ブログのRTX 3090での計測では、1件目が2.66秒、2件目以降は0.85〜0.93秒で、10件の合計は約10.5秒でした(モデル初期化と画像読み込みを除く)。ただし注意点も書かれています。テンプレートは同じレイアウトの帳票に当てる前提で、様式や切り出し範囲が変われば作り直しが要ります。金額欄は「内千円5400000」のように印字済みの文字まで一緒に読まれるため、集計前に整形が必要です。桁数や必須項目を検証する処理を後段に入れてください。様式がばらばらな帳票の扱い方は、AI-OCRで非定型帳票を読み取る仕組みと項目マッピングの判断基準で整理しています。
StudioテンプレートをPython APIで当てるStudioFormTemplateParser
CLIを経由せず、Pythonのコードから同じテンプレートを当てるStudioFormTemplateParserも、2026年10月1日にmainブランチへ追加されました(プルリクエスト#254)。CHANGELOGでは未リリース扱いで、PyPIのv0.15.0には含まれていません。対応するテンプレートは帳票解析で保存したkind: "form-template"のバージョン2と3で、表やセルの構造はテンプレートが持つため、実行時はOCRだけを行います。
import cv2
from yomitoku import StudioFormTemplateParser
image = cv2.imread("application.jpg")
parser = StudioFormTemplateParser(
"application.template.json",
device="cuda",
)
result, _, _ = parser(image)
# テキストへ解決した構造を取り出す
simple = result.to_simple()
print(simple.model_dump())
OCRで読めなかった見出しにはテンプレート作成時の文字が補われますが、値のセルは空文字のままです。空欄と読み落としを区別できないため、必須項目の空チェックは後段の検証処理で行ってください。PyPIで配布されるまでは、GitHubのmainブランチからインストールしないと使えません。
YomiToku StudioのPro接続:社内サーバーにつなぐ設定手順
Studioの解析エンジンは既定で「ブラウザ内」です。YomiToku Proを契約していれば「YomiToku Pro API」に切り替え、社内に置いたProサーバーで高精度モデルを動かせます。マニュアルの手順は次の6段階です。
- ProのDockerコンテナまたはサーバーを起動する。
- トップ画面下部の[接続設定]を開く。
- [接続先URL]を入力する。同じ端末のDockerなら
http://127.0.0.1:8000を指定する。 - [APIキー]に管理者から案内されたStudio APIキーを入れる。Proのライセンスキーとは別物である。
- [接続テスト]ですべての診断が成功することを確かめる。
- [保存して使用]を選び、ワークスペースを開く。
Dockerのログに出るhttp://0.0.0.0:8000はコンテナ内部のアドレスなので、Studioからは127.0.0.1で指定します。文書APIと帳票APIが同じサーバーなら「帳票APIを別の接続先にする」は空欄のままにします。APIキーは端末内に保存されるため、共用端末では使い終えたら接続設定を消してください。製品ページによると、Pro APIはAPIキー認証とCORS設定に対応し、ブラウザから直接接続してMLismのクラウドを経由しません。
ブラウザ内処理とYomiToku Pro接続の比較:処理場所・速度・費用
| 項目 | ブラウザ内(無料) | YomiToku Pro API接続 |
|---|---|---|
| 解析する場所 | 利用者のPCのブラウザ | 組織が用意したProサーバー |
| モデル | 軽量モデル | Proの高精度モデル |
| 処理時間の目安 | 1ページ約10〜30秒 | GPU利用時1ページ約0.5〜2秒 |
| 画像の送信先 | 送信しない | 接続先のProサーバー |
| 主な用途 | 評価、小規模運用 | 業務利用、継続的な処理 |
| 費用 | 無償 | YomiToku Proの契約に含む |
処理時間はMLismの製品ページの記載で、文書内容や端末によって変わります。画面のステータスが「サーバー処理」のときは接続先へ画像が送られるため、機密文書を扱う前に組織から案内された接続先かを確かめてください。YomiToku Studio利用規約(2026年9月1日施行)は、無料版を「機能や処理能力に一定の制限を設けた無償版」と位置づけ、SLAや個別サポートを提供しないとしています。大規模な利用や業務システム連携にはYomiToku ProまたはPro APIの契約が必要と定めています。小規模な社内業務なら無料の範囲に収まる余地があります。ただし、解析結果そのものを商品やサービスとして有償提供するにはMLismの事前承諾が必要です。Python版との違いは後述の商用利用の章で比べます。また、Studioのアウトプットを他のモデルの開発や学習に使うことは禁止事項に含まれています。
YomiTokuの仕組みと対応範囲:4モデル構成と5種類の出力形式
YomiTokuは画像やPDFから文字を読み取るだけでなく、段落・表・図の位置と読み順を推定し、文書の構造を保ったまま出力するDocument AIです。搭載する4つのモデルはいずれも日本語データセットで独自に学習されています。出力形式はJSON・CSV・HTML・Markdownと、文字を透明テキストで埋め込むサーチャブルPDFの5種類です。ソースはGitHubのkotaro-kinoshita/yomitokuで公開され、モデルの重みはHugging Face Hubから配布されています。GitHubのスター数は2026年10月17日時点で1,624です。
得意な対象ははっきりしています。READMEは、文書OCR向けに作られており、看板など紙以外に印字された文字を読む情景OCR向けには調整されていないと明記しています。写真に写った看板や商品パッケージの文字起こしが主目的なら、別のエンジンを選ぶべきです。OCRの方式の違いそのものはOCRの仕組みと種類の解説で、従来OCRとAI-OCRの差はAI-OCRとは?従来OCRとの違いと導入事例で整理しています。
YomiTokuのバージョンごとの主な機能追加:v0.8.0からv0.15.0まで
| バージョン | リリース日 | 主な変更 |
|---|---|---|
| v0.8.0 | 2025年4月4日 | 手書き文字認識に対応 |
| v0.10.1 | 2025年11月5日 | CPU推論向けのGPU Free OCRモデル |
| v0.12.0 | 2026年3月4日 | ルビ除外(--ignore_ruby) |
| v0.13.1 | 2026年7月15日 | 軽量モデルparseq-tiny-dynw-v4 |
| v0.14.0 | 2026年7月31日 | Table Semantic Parser正式版 |
| v0.15.0 | 2026年9月14日 | 認識モデルv5・StudioテンプレートCLI対応 |
各版の変更点はGitHubのReleasesで確認できます。2026年10月17日時点でPyPIの最新もv0.15.0です。v0.15.0で入った文字認識モデルv5について、MLismのアップデートレポートは、tinyモデルの認識対象文字種が7,114種から7,519種に増え、評価対象4,833文字種のmacro正読率が80.4%から96.8%へ上がったと報告しています。手書き縦書きの1−CERも92.88%から94.13%へ改善しています。
2025年4月時点の解説記事には「手書きは非対応」と書かれたものがありますが、手書き認識はv0.8.0で入り、2026年7月には軽量モデルも手書きに対応しました。ただし公式ドキュメントのCLIページには「手書き文字は公式にはサポートしておりません」という旧来の注記が残っています。READMEのリリース情報のほうが新しいため、手書きを主用途にする場合は自分の帳票で精度を確かめてから採用を決めてください。
YomiToku Python版のインストール手順とGPU・Macの動作環境
Python版はPyPIのyomitokuから導入します。要件はPython 3.10以上3.14未満とPyTorch 2.6以上です。
pip install yomitoku
公式のインストール手順はこのpipのほか、リポジトリをクローンしてuv syncする方法と、同梱のDockerfileからイメージを作る方法の3通りです。通常モデルはGPUでの実行を前提に作られており、公式はVRAM 8GBを超えるGPUを推奨しています。CPUでも動きますが時間がかかるため、GPUが無い環境では軽量モデルを使います。Studioで精度を確かめ、件数が増えた段階でPython版へ移るのが無理のない順番です。
CPUだけでYomiTokuを動かしたときの処理時間(Docker実測)
GPUの無い環境でどれくらい待つのかを確かめるため、2026年10月17日にIntel Mac(Core i9-9880H)上のDocker(Linuxコンテナに4 vCPU・6GiBを割り当て)でv0.15.0を動かし、リポジトリ同梱のサンプル画像5枚を軽量モデル(--lite)と通常モデルで処理しました。PyTorchはCPU版の2.7.0です。実行したのは次のコマンドで、カレントディレクトリのinフォルダに画像を置いてから実行します。Intel MacでPython版を使う場合もこの手順になります。毎回依存パッケージを入れ直す形なので、継続して使うならインストール済みのイメージを作り、モデルのキャッシュ(/root/.cache/huggingface)をボリュームに残してください。
docker run --rm -v "$PWD":/w python:3.12-slim bash -c "
apt-get update && apt-get install -y libgl1 libglib2.0-0 &&
pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cpu &&
pip install yomitoku==0.15.0 &&
cd /w && yomitoku in/demo.jpg -f md --lite -d cpu -o out -v"
| サンプル画像 | 画素数 | 軽量モデル | 通常モデル |
|---|---|---|---|
| 表を含む白書のページ(demo.jpg) | 1654×2339 | 14.5秒 | 42.6秒 |
| 横長のポスター(gallery1.jpg) | 3308×2339 | 21.4秒 | 62.1秒 |
| 予算の一覧表(gallery2.jpg) | 2339×1653 | 11.2秒 | 25.9秒 |
| 2段組の白書のページ(gallery3.jpg) | 1654×2339 | 15.6秒 | 44.8秒 |
| 証明書風の小さな画像(gallery5.jpg) | 681×432 | 5.3秒 | 11.9秒 |
数値はCLIが出力する「Total Processing time」で、モデルの読み込みは含みません。コマンドを起動するたびに読み込みで約8秒が加わるため、複数枚はファイルごとに呼び出すより、ディレクトリをまとめて渡すほうが速く終わります。モデルのダウンロードは初回だけで、軽量・通常の両方を取得した時点のキャッシュは652MBでした。
CPUでは通常モデルが軽量モデルの2.3〜2.9倍の時間がかかり、A4縦1ページで40秒台です。出力されたMarkdownを比べると、本文が中心のページは両モデルでほぼ同じ結果でした。差が出たのは、字間を空けて組んだ表の見出しです。予算の一覧表では、軽量モデルが「要求額」の「求」を落とし、「前年額」を「前年日」と読みました。通常モデルにも文字の重複が出ています。表の多い帳票をCPUで処理するなら、件数が少ないうちは通常モデルで待ち、件数が多いならGPUかYomiToku-Proを検討するのが現実的です。
WindowsでGPUが認識されないときにCUDA版PyTorchへ入れ替える手順
公式FAQによると、WindowsでPyPIからpip installしたときに入るのはCPU版のPyTorchです。RTX 50シリーズのような新しいGPUでも、CUDA 12.8対応など新しいビルドが必要になることがあります。この場合はYomiTokuを入れたあとで、PyTorchだけをCUDA対応ビルドに置き換えます。
pip install yomitoku
pip install --upgrade torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128
CUDAを使えない状態で実行すると、CUDA is not available. Use CPU instead.という警告を出してCPUで処理が続きます。処理が想定より遅いときは、まずログにこの警告が出ていないかを確認してください。
MacでYomiTokuを使う条件:MPS指定とIntel Macの制約
Apple Silicon搭載のMacでは、-d mpsを指定するとGPU(MPS)で推論できます。MPSが使えない環境では、CUDAのときと同様に警告を出してCPUにフォールバックします。
Intel Macでは、pipで直接インストールできません。YomiTokuはPyTorch 2.6以上を要求しますが、PyPIのtorch 2.6.0以降にはmacOS向けx86_64のwheelが無く、PyTorch公式のCPU版配布もIntel Mac向けは2.2.2が最後です。Intel Macで試すならYomiToku Studioを使うか、前述の計測と同じくDockerでLinuxコンテナとして動かします。
インターネットに接続できない閉域環境でモデルを事前取得して使う手順
YomiTokuは初回実行時にHugging Face Hubからモデルを自動でダウンロードします。閉域環境で使う場合は、接続できる端末で次のコマンドを実行してモデルを取得し、生成されたKotaroKinoshitaディレクトリを実行時のカレントディレクトリに置きます。
download_model
Studioもモデルを初回にダウンロードするため、外部接続の無い端末では使えません。閉域で画面操作をしたい場合は、社内に置いたProサーバーへStudioをつなぐ構成を検討します。オンプレミスで動かすか、クラウドに出すかの判断軸はAI-OCRのオンプレミス導入判断と機密文書の扱いにまとめています。
YomiToku CLIの使い方:Markdown出力と主要オプション一覧
基本はファイルかディレクトリを渡して実行します。ディレクトリを指定するとサブディレクトリの画像も再帰的に処理され、公式ドキュメントのCLIページによると対応する入力はPDF・JPEG・PNG・BMP・TIFFです。Studioと違い、CLIはTIFFを読み込めます。以下のCLI例の${path_data}は、解析するファイルまたはディレクトリのパスに置き換えてください。空白を含むパスは二重引用符で囲みます。次の例はMarkdown、可視化画像、切り出した図を保存します。
yomitoku ${path_data} -f md -o results -v --figure
GPUが無い環境では軽量モデルとCPUを指定します。
yomitoku ${path_data} -f md --lite -d cpu -o results -v --figure
| オプション | 役割 | 既定値 |
|---|---|---|
-f, --format |
json/csv/html/md/pdf | json |
-o, --outdir |
出力先ディレクトリ | results |
-d, --device |
cuda / cpu / mps | cuda |
-l, --lite |
軽量モデルで推論 | 無効 |
--combine |
複数ページのPDFを1ファイルに統合 | 無効 |
--pages |
対象ページ(例 1,3-5,10) | 全ページ |
--dpi |
PDFを画像化する解像度 | 200 |
--reading_order |
読み順の指定(4種・下記) | auto |
--encoding |
出力の文字コード(5種) | utf-8 |
--ignore_ruby |
ふりがなを出力から除外 | 無効 |
-fを省略した場合の出力はJSONです。--encodingはutf-8・utf-8-sig・shift-jis・euc-jp・cp932の5種から選び(READMEの「enc-jp」は誤記で、v0.15.0のCLIが受け付けるのはeuc-jpです)、Excelで開くCSVを作るなら--encoding utf-8-sigを付けると文字化けを避けられます。PDFを1ファイルのMarkdownにまとめたいときに要るのが--combineで、付けないとページごとに別ファイルになる点に注意してください。出力したMarkdownをRAGの前処理に回す場合、テキスト層のあるPDFならOCRを通さず抽出する手もあり、その手順はPyMuPDF4LLMでPDFをMarkdownに変換する手順で解説しています。スキャン画像はYomiToku、テキストPDFはPyMuPDF4LLMと分けるのが処理時間を抑える近道です。
認識精度と読み順の調整:解像度・reading_order・向き補正の設定
最初に確認するのは入力解像度です。READMEは画像の短辺720px以上、CLIのドキュメントは短辺1000px以上を推奨しており、記載が揃っていません。細かい文字が崩れるなら1000pxを基準にし、PDFなら--dpi 250のように読み取り解像度を上げます。
読み順が崩れる場合は--reading_orderにauto・top2bottom・left2right・right2leftのいずれかを明示します。既定のautoはページが縦書きか横書きかを判定し、ソースコード上は縦書きのページをright2left、横書きのページをtop2bottomで並べます。公式ドキュメントの説明文はこの対応と一致していないため、コードの挙動を前提にしてください。レシートや保険証のようにキーと値が段組みになった帳票は、auto任せにせずleft2rightを指定するのが公式の推奨です。逆さまに取り込まれた行が混じるなら、v0.12系で入った--enable-rec-orientation-fallbackを付けると、信頼度が0.75未満の領域を180度回転して読み直します。
Python APIでCLIの軽量モードと同じモデルを使う設定
v0.15.0のCLIソースを読むと、--liteは文字認識モデルにparseq-tiny-dynw-v5を選び、高解像度の画像を切り出し前に縮小するsource_downscaleを有効にします。CPUで実行するときは、さらにテキスト検出をONNX推論に切り替え、認識のミニバッチを4並列で処理します。一方、v0.15.0のREADMEに載っているPython APIの例は旧モデルのparseq-tiny-dynw-v4のままです。CLIと同じ軽量モードをPythonから使うなら、次のように指定します。
import cv2
from yomitoku import DocumentAnalyzer
if __name__ == "__main__":
configs = {
"ocr": {
"text_recognizer": {
"model_name": "parseq-tiny-dynw-v5",
"source_downscale": True,
"num_parallel_batches": 4,
"device": "cpu",
},
"text_detector": {
"device": "cpu",
"infer_onnx": True,
},
},
}
analyzer = DocumentAnalyzer(configs=configs, device="cpu")
img = cv2.imread("demo.jpg")
results, ocr_vis, layout_vis = analyzer(img)
results.to_markdown("output.md", img=img)
前述のDocker環境でdemo.jpgを処理したところ、この設定の出力MarkdownはCLIの--liteの出力と1文字も違いませんでした。READMEどおりv4を指定した場合も動きますが、出力は約1%異なります。なおto_markdownは図を書き出すために元画像を受け取るので、図を含むページでimgを渡さないとimg is required for saving figuresで止まります。
帳票データの抽出機能:Table Semantic ParserとExtractor
v0.14.0で正式リリースされたTable Semantic Parserは、帳票の表からセルの役割を推定し、項目名と値の組(Key-Value)や行列データ(グリッド)を構造化JSONで返します。Studioの帳票解析と同じ系統の機能で、CLIからはyomitoku_tableで呼び出します。対象は区切り罫線がある帳票に限られるため、罫線の無い明細書には向きません。
yomitoku_table ${path_data} -o results -v
決まった項目だけを取り出したい場合はExtractorを使います。YAMLのスキーマで取り出すフィールドを定義し、LLMを使わないルールベースのyomitoku_extractと、vLLMなどのLLMサーバーを呼ぶyomitoku_extract_with_llmから選びます。公式の割り当ては、申請書や伝票のような定型帳票がルールベース、名刺・レシート・請求書のような非定型帳票がLLMベースです。
pip install "yomitoku[extract]"
yomitoku_extract input.jpg -s schema.yaml -o results -v
schema.yamlには、fieldsの下に項目名(name)と説明、型、正規表現や表の列定義を並べます。電話番号の正規化や適格請求書番号の正規表現、明細表の列定義を含む記述例は、公式READMEとExtractorのドキュメントに掲載されています。
このほか、uv sync --extra mcpで導入するMCPサーバー(yomitoku_mcp)もあり、Claude DesktopからフォルダのPDFをOCRさせる使い方が公式ドキュメントで案内されています。
YomiTokuの商用利用の線引きとYomiToku-Proの料金体系
YomiTokuのソースコードとHugging Face Hub上のモデルの重みは、CC BY-NC-SA 4.0で提供されています。非商用の個人利用・研究は認められていますが、商用利用には別途契約が必要です。判断の基準は、公式リポジトリのYomiToku 利用ガイドライン(CC BY-NC-SA 追加説明)です。ただし、この線引きはPython版(OSS)のものです。Studioのブラウザ内解析はCC BY-NC-SAではなくYomiToku Studio利用規約で提供されており、扱いが違います。
Python版・Studio・Proのライセンスと商用利用の違い
| 項目 | Python版(OSS) | Studio(ブラウザ内) | YomiToku-Pro |
|---|---|---|---|
| 適用されるもの | CC BY-NC-SA 4.0+ガイドライン | Studio利用規約 | 個別の利用契約 |
| 料金 | 非商用は無償 | 原則無償(第6条) | 有償 |
| 小規模な社内業務 | 商用扱い(契約が必要) | 一部の商用目的は無料 | 利用可 |
| 大規模利用・業務システム連携 | 契約が必要 | Pro契約が必要(第13条) | 利用可 |
| 出力を他モデルの学習に使う | 禁止 | 禁止(第5条) | 契約で確認 |
| SLA・個別サポート | なし | なし(第13条) | 契約で確認 |
差が出るのは、担当者が手元の書類を少量ずつ画面で読み取る使い方です。Python版で同じことをすれば社内の業務効率化として商用扱いになりますが、Studioのブラウザ内解析なら規約の範囲で無料に収まる余地があります。どちらも、出力を別のOCRモデルの学習に使うことは認められていません。規約に「大規模」の数値基準は無いため、件数が継続的に増える運用や、結果を他のシステムへ自動で渡す運用を始める前にMLismへ確認してください。Pro列の「契約で確認」は、MLismが条件を公開していない項目です。
ガイドラインで見るYomiTokuの無償範囲と商用利用に当たる行為
ガイドラインが無償の範囲として認めるのは、自社内で完結する精度検証や技術選定、社内限定のデモ、大学や研究機関での利用です。外部顧客が関わるPoCも、費用を一切受け取らず、成果物を本番利用せず、顧客に事業価値が生じないという条件をすべて満たせば非営利扱いになります。
一方、次の行為は商用利用として有償契約が必要です。
- 社内業務の自動化・効率化・コスト削減への組み込み(「社内利用だから非営利」ではないと明記)
- RPAやバッチ処理、長期運用する社内システムでの利用
- 費用を受け取るPoC、受託開発、BPOでの利用
- OCRテキストや抽出したCSV・JSONを顧客に提供すること
- SaaSやAPI、自社製品への組み込み
迷ったときの基準としてガイドラインが挙げるのは、金銭の授受があるか、売上やコスト削減が生じるか、出力を外部に提供するかの3点で、いずれかに当たれば商用の可能性が高いとしています。さらに、出力を他のOCRモデルの学習データや蒸留、競合モデル開発のためのベンチマークに使うことは、商用・非商用を問わず禁止されています。
YomiToku-Proの提供形態と料金:AWS Marketplaceとオンプレミス
商用利用の受け皿がYomiToku-Proです。READMEは、手書き認識の精度向上、画像の自動向き補正、レイアウト解析の強化などを製品版のみの機能として挙げています。
| 提供形態 | 料金 | 実行環境 |
|---|---|---|
| AWS版(標準) | ソフトウェア10.00ドル/時+インフラ料金 | 自社AWSのSageMaker |
| AWS版(Lite) | ソフトウェア10.00ドル/時+インフラ料金 | 自社AWSのSageMaker |
| オンプレミス・自社クラウド | 非公開(個別見積もり) | 自社サーバー・閉域網 |
AWS MarketplaceのDocument AnalyzerとDocument Analyzer Liteは、どちらもMLism Inc.の出品で、リスティング上のバージョンはv1.2.0です。概要はYomiToku-Pro for AWSの製品ページにまとまっています。ソフトウェア料金はインスタンスタイプによらず同額です。推奨インスタンスはエディションと版で異なり、リアルタイム推論はどちらもml.g4dn.xlarge、バッチ変換は標準版がml.g4dn.xlargeかml.g5.xlarge、Lite版がml.g6.xlargeです。Lite版は軽量な認識モデルでスループットを上げた版で、精度は標準版をやや下回る位置づけです。解析はすべて自社のAWS環境内で完結します。オンプレミス向けにはPoC評価ライセンス、本番運用サブスクリプション、閉域環境向けの買い切り、OEMの4形態が用意されており、価格はMLismへの問い合わせで確認します。
時間課金のため、SageMakerのエンドポイントを常時起動しておくと処理量が少なくても料金が積み上がります。即時応答が不要で、まとめて処理できるならバッチ変換を基本にし、常時応答が必要な業務に限ってリアルタイム推論を選ぶのが費用面で合理的です。
YomiToku StudioとPython版・Proを選ぶべき場面と避ける場面
使い分けは、処理件数と業務への組み込み有無で決まります。評価や数十枚の確認作業ならStudio、同じ様式を大量に回すならStudioでテンプレートを作ってPython版のCLIへ、業務システムに組み込むならYomiToku-Proという順で考えると判断がぶれません。
| 状況 | 選ぶもの | 理由 |
|---|---|---|
| 精度を試したい・環境構築したくない | YomiToku Studio | インストール不要で画像を外部送信しない |
| 同じ様式の帳票を大量に処理する検証 | Studio+Python版CLI | テンプレートをCLIで再利用できる |
| 少量の書類を担当者が画面で読み取る | YomiToku Studio | 規約の範囲で一部の商用目的も無料 |
| 業務フローやRPAに組み込む | YomiToku-Pro | Python版もStudioも契約が必要 |
| 閉域網で画面操作もしたい | Pro+Studio接続 | 社内サーバーで解析し外部を経由しない |
YomiTokuの公式な想定用途に合うのは、縦書きや表を含む日本語の業務文書を、レイアウトを保ったままMarkdownやJSONにしたい場面です。RAGの前処理として社内文書を構造化する、紙の申請書から項目を抜き出す、といった用途がこれに当たります。
次の条件に当てはまるなら、YomiTokuは第一候補から外します。
- Python版を業務に組み込みたいが、商用ライセンスの費用を確保できない。この場合はApache-2.0のTesseractや、CC BY 4.0のNDLOCR-Liteなどを検討します。NDLOCR-Liteの同梱学習済みモデルにはDINOv3のライセンス遵守も必要なため、コードとモデルの利用条件を分けて確認してください。ブラウザで動くOCRという点では、NDLOCR-Lite WebもStudioの比較対象になります。
- 看板や商品パッケージなど、紙以外に印刷された文字の読み取りが中心である。
- Python版をローカルで動かす必要があり、Intel Macしか無く、Dockerも使えない。
- 罫線の無い帳票から表を構造化したい(Table Semantic Parserの対象外)。
- スキャナの出力がTIFF固定で、Studioだけで運用したい(変換工程を挟むかCLIを使う)。
インフラ管理を持ちたくない場合は、従量課金のクラウドOCRが比較対象になります。英語帳票が中心ならAmazon Textract、カスタム抽出まで含めてGCPで完結させたいならGoogle Document AIが候補です。生成AI系のOCRモデルでは、MITライセンスと補足のモデル利用契約を確認したうえで商用利用できるdots.mocrもあります。OCRそのものの仕組みや方式の違いから整理したい場合は、OCRの仕組みと種類の解説を先に読むと比較の軸が揃います。
Studioでの評価までは社内で進められても、Pro契約の要否の見極め、帳票テンプレートの設計、既存の業務システムやRPAへのつなぎ込みでは、OCRエンジン以外の設計が結果を左右します。帳票の棚卸しからエンジン選定、後段の検証処理の実装まで含めて検討する場合は、一創のAI-OCR導入支援で、YomiTokuを含む複数のエンジンを比べたうえで構成を提案しています。
よくある質問
YomiToku Studioは無料で使えますか?
ブラウザ内解析の利用料は無償で、アカウント登録も要りません。MLismは利用規約の範囲内なら一部の商用目的でも無料で使えるとしています。ただし利用規約は無料版を機能や処理能力に制限を設けた無償版と位置づけ、SLAや個別サポートを提供しないとしています。大規模な利用や業務システム連携にはYomiToku ProまたはPro APIの契約が必要です。Python版も個人利用・研究・自社内で完結する精度検証は無料ですが、社内業務の効率化やRPAへの組み込みは商用利用に当たります。
YomiToku Studioに読み込んだ画像は外部に送信されますか?
ステータスが「ブラウザ内処理」なら外部へ送信されません。推論は利用者のブラウザで動き、MLismの配信環境は画面だけを配信し、文書やOCR結果を中継・保存しない設計です。Pro接続に切り替えて「サーバー処理」になると、接続設定で指定したProサーバーへ画像が送られます。初回のみ約250〜300MB(帳票解析は約490MB)のモデルをダウンロードします。
YomiToku StudioでTIFFが読み込めないのはなぜですか?
Studioのマニュアルが入力形式をJPEG・PNG・BMP・PDFとし、TIFFを非対応と明記しているためです。MLismの製品ページにはTIFFの記載がありますが、実際の読み込み対象からは除外されます。スキャナの出力がTIFFなら事前にPNGへ変換するか、TIFFに対応したPython版のCLIを使ってください。
MacでYomiTokuは動きますか?
StudioはSafariの最新版で使えるため、Intel MacでもApple Silicon搭載のMacでも試せます。Python版はApple Silicon搭載のMacで動作し、-d mpsでGPUを使えます。Intel MacではPyTorch 2.6以上のmacOS x86_64向けwheelが配布されていないため、pipで直接インストールできません。Intel MacではYomiToku StudioかDockerを使います。
手書き文字や縦書きは読み取れますか?
どちらも対応しています。手書き認識はv0.8.0(2025年4月)で追加され、2026年7月には軽量モデルも手書きに対応しました。v0.15.0の文字認識モデルv5では、MLismの評価で手書き縦書きの1−CERが92.88%から94.13%へ上がっています。縦書きのページは既定のautoで右から左への読み順(right2left)に並べられます。なお公式ドキュメントのCLIページには手書きを公式サポート外とする古い注記が残っているため、手書き中心の帳票は自社のサンプルで精度を確認してから採用してください。