注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。
3行要約
- スクリーンショットを1枚投げるだけで、Tailwind CSSやReact、Vueのクリーンなコードを30秒で生成する。
- 類似ツールと異なり、生成されたUIに対して「ボタンを赤くして」「レスポンシブ対応を強化して」と対話形式で微調整が可能。
- ゼロからのUI実装を爆速化したいフロントエンドエンジニアには必携だが、複雑なビジネスロジックの実装には向かない。
📦 この記事に関連する商品(楽天メインで価格確認)
Dell U2723QE生成コードとプレビューを並べて確認するUI開発には4K広視野角モニタが必須
※アフィリエイトリンクを含みます
結論から: このツールは「買い」か
結論から言うと、UIのプロトタイピング頻度が高いエンジニアなら「今すぐローカル環境を構築すべき」ツールです。 特に、Figmaのデザインをコードに落とし込む作業や、既存サイトの「この部分のレイアウトだけ参考にしたい」という写経作業を完全に自動化できます。 一方で、バックエンドと密結合した複雑な状態管理(ReduxやTanStack Queryなど)を含むコードは書けないため、あくまで「見た目と構造」を最速で作るためのツールだと割り切る必要があります。 GPT-4oやClaude 3.5 SonnetのAPIキーを自前で用意する必要はありますが、1生成あたり数円〜数十円のコストで1〜2時間のコーディング作業が浮く計算になるため、投資対効果は極めて高いです。
このツールが解決する問題
従来のフロントエンド開発において、デザインからコーディングへの移行は最も「無駄な時間」が発生する工程でした。 デザイナーから上がってきたFigmaのプロパティを一つずつ確認し、余白(padding/margin)やカラーコード、フォントサイズをコードに写していく作業は、創造性が低く、ケアレスミスも起きやすいものです。 また、LP(ランディングページ)の構成を考える際も、「競合サイトのようなこのセクションを作りたい」と思っても、HTML構造を解析してTailwindのクラスに変換するのは骨の折れる作業でした。
screenshot-to-codeは、この「デザインの解釈とコード化」という工程をマルチモーダルLLMによって自動化します。 「画像を理解する」というAIの特性を活かし、人間が目で見た通りのレイアウトをそのままHTML/CSS構造として出力するため、開発者は生成されたコードの微調整と、実際のロジック注入だけに集中できるようになります。 これは単なる「コード生成」ではなく、フロントエンド実装における「下書き工程」の完全な自動化を意味します。
実際の使い方
インストール
screenshot-to-codeはPython(FastAPI)のバックエンドと、React(Vite)のフロントエンドで構成されています。 Dockerを使用するのが最も簡単ですが、カスタマイズ性を考慮して直接インストールする手順を紹介します。
# リポジトリのクローン
git clone https://github.com/abi/screenshot-to-code
cd screenshot-to-code
# バックエンドのセットアップ
cd backend
echo "OPENAI_API_KEY=sk-xxxx" > .env
pip install -r requirements.txt
python main.py
# フロントエンドのセットアップ(別ターミナル)
cd ../frontend
yarn install
yarn dev
前提として、Python 3.10以上とNode.js環境が必要です。
また、使用するLLMに応じてOPENAI_API_KEYまたはANTHROPIC_API_KEYが必須となります。
基本的な使用例
起動後、ブラウザで http://localhost:5173 にアクセスすると、画像をドロップするUIが表示されます。
内部的には、以下のようなAPIリクエストがバックエンドで組み立てられ、LLMへ送信されます。
# backend/codegen/prompts.py のロジックに基づく概念的な処理
from llm import stream_openai_response
def generate_code_from_image(image_data, stack="react_tailwind"):
prompt = f"You are an expert frontend developer. Copy the UI in the image exactly using {stack}."
# 画像とプロンプトをマルチモーダルモデルに送信
response = stream_openai_response(
model="gpt-4o",
messages=[
{"role": "system", "content": prompt},
{"role": "user", "content": [{"type": "image_url", "image_url": image_data}]}
]
)
return response
ユーザーは「React + Tailwind」「Vue + Element Plus」「Bootstrap」などのスタックを選択するだけで、指定した形式のコードがリアルタイムでプレビュー画面に描画されます。
応用: 実務で使うなら
私が実務で重宝しているのは「既存のレガシーなHTMLサイトを現代的なスタックに移行する」シーンです。 古いサイトのスクリーンショットを撮り、出力スタックに「React + Tailwind」を指定することで、スパゲッティ状態の古いCSSを排除した、クリーンなコンポーネント構成のコードを一瞬で手に入れることができます。
また、生成されたコードに対して「このフォームにバリデーションを追加して」や「ダークモードに対応させて」といった追加指示をチャット形式で送れる点が強力です。 一発で完璧なコードを期待するのではなく、AIとペアプログラミングをしながらUIを組み上げていくスタイルが、最も効率的だと感じています。
強みと弱み
強み:
- マルチスタック対応: React、Vue、Tailwind、HTML/CSSだけでなく、SVGのアイコン生成まで対応している。
- 対話的な修正: 出力されたコードに対して、追加で自然言語による指示(修正・機能追加)が可能。
- 動画(画面録画)への対応: スクリーンショットだけでなく、操作動画を読み込ませることでアニメーションを含めた再現も試みている。
- OSSであること: ローカルで動かせるため、API料金以外の固定費がかからず、プロンプトの調整などもソースコードレベルで可能。
弱み:
- APIコスト: GPT-4oやClaude 3.5 Sonnetをフル活用するため、1回の生成で数円〜数十円、試行錯誤すると1プロジェクトで数百円のAPI費用が発生する。
- ロジックの不在: 見た目は完璧でも、フォームの送信処理やAPI連携などの「動的なロジック」は空の関数になることが多い。
- 環境構築のハードル: Dockerに慣れていないユーザーには、バックエンドとフロントエンドの両方を立ち上げる作業が少し手間に感じる可能性がある。
代替ツールとの比較
| 項目 | abi/screenshot-to-code | v0.dev (Vercel) | Cursor (Composer) |
|---|---|---|---|
| 実行環境 | ローカル(OSS) | クラウド | ローカルIDE |
| 柔軟性 | 非常に高い(プロンプト・ソース変更可) | 低い(Vercelのエコシステム内) | 高い(既存コードと連携) |
| 料金 | API実費のみ | 月額$20〜 | 月額$20 |
| 特徴 | 画像からの再現に特化 | UIパーツの生成が超高速 | 既存プロジェクトへの統合に強い |
「特定の1ページを丸ごと写したい」ならscreenshot-to-code、「 shadcn/ui ベースの綺麗なパーツが欲しい」ならv0.dev、「今書いているコードの続きとしてUIを作りたい」ならCursor、という使い分けが最適です。
料金・必要スペック・導入前の注意点
本ツール自体はオープンソース(MITライセンス)で無料ですが、実用的な精度を出すには GPT-4o または Claude 3.5 Sonnet のAPIキーが不可欠です。 GPT-4o miniなどの安価なモデルも選択可能ですが、レイアウトの再現性が著しく落ちるため、業務利用ではおすすめしません。
ハードウェア面では、サーバー側での処理がメインとなるため、RTX 4090のような強力なGPUは不要です。 MacBook Air程度のスペックがあれば十分に動作します。 ただし、プレビュー画面とエディタを同時に開く必要があるため、作業効率を考えるならDell U2723QEのような4Kモニターがあると、生成されたコードの確認とブラウザのプレビューを横並びで確認でき、圧倒的に捗ります。
注意点として、API経由で画像がOpenAIやAnthropicのサーバーに送信されます。 機密情報の含まれる社内システムのスクリーンショットを投げる際は、各プラットフォームのAPIデータ利用ポリシーを十分に確認してください(通常、API経由のデータは学習に利用されませんが、企業ポリシーに抵触する可能性があります)。
私の評価
評価: ★★★★☆ (4/5)
フロントエンドエンジニアにとっての「面倒な下準備」を肩代わりしてくれるツールとして、非常に完成度が高いです。 GitHubで1日300スター以上を獲得しているのも納得の、実用性に振り切った設計だと感じます。
ただし、星を一つ減らした理由は、あくまで「シングルページの生成」に特化しており、プロジェクト全体のコンポーネント設計やディレクトリ構造までは面倒を見てくれない点です。 これをそのままプロダクションにデプロイするのではなく、生成されたコードを自分のプロジェクトに「コピペして、リファクタリングして使う」という使い方が正解です。 「動かしてみた」レベルのAIツールが多い中、実務の工数を明確に削減できる数少ないツールの一つと言えます。
よくある質問
Q1: APIキーなしで無料で使う方法はありますか?
基本的にはありません。LLMの視覚能力(Vision API)を利用するため、OpenAIやAnthropicへの支払いが必要です。ただし、設定で安価なモデル(GPT-4o mini等)を選択すれば、1回あたり1円以下に抑えることは可能です。
Q2: 生成されたコードのライセンスはどうなりますか?
ツール自体はMITライセンスですが、生成されたコードの著作権は利用者に帰属するというのが一般的なLLMサービスの規約です。ただし、商用利用の際は、元のスクリーンショット自体の著作権(デザインの盗用にならないか)に注意してください。
Q3: 日本語のUIも正しく認識されますか?
はい、GPT-4oやClaude 3.5 Sonnetを使用しているため、日本語のテキストも非常に高い精度で読み取り、そのままコード内にテキストとして配置してくれます。フォント指定などはデフォルトのTailwind設定になりますが、文字化け等の心配はまずありません。
メタデータ出力
1. X投稿用ツイート本文 (TWEET_TEXT) 2. アフィリエイト商品情報 (AFFILIATE_CONTEXT)
3. SNS拡散用ハッシュタグ (HASHTAGS) 4. SEOタグ (SEO_TAGS) 5. URLスラッグ (SLUG)






