RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/AIモデル
AIモデル/2026-04-12上級

Rork で作る AI フォトエディタアプリ実装ガイド — 画像フィルター・背景除去・スタイル変換をゼロから構築する

Rork を使って AI フォトエディタアプリを構築する完全ガイド。画像フィルター、背景除去、AI スタイル変換、エクスポート機能を実装し、App Store に公開できるプロダクション品質のアプリを作る。

rork58AI31フォトエディタ画像処理2背景除去React Native209アプリ開発77

プレミアム記事

「写真アプリを作りたい」のに、どこから手をつければいいかわからない問題

カメラで撮った写真にフィルターをかけて、背景を消して、AIでイラスト風に変換する——ユーザーとしてはよく使う機能なのに、いざ開発者として実装しようとすると壁にぶつかる。画像のピクセル操作はどうやるのか。背景除去APIの選定基準は何か。処理中のUIをどう設計すれば離脱を防げるのか。

私がこのアプリを Rork で構築したとき、最初に気づいたのは「画像処理アプリは UI の設計が 7 割」ということだった。アルゴリズムやAPIはライブラリが吸収してくれるが、処理の待ち時間をどう感じさせるか、フィルターのプレビューをどの粒度で見せるか、編集のアンドゥをどう管理するか——これらはコードを書く前に設計しておかないと、後から修正するコストが膨大になります。

このガイドでは、Rork のプロンプトベース開発で AI フォトエディタアプリを構築する全工程を、設計判断の理由とともに解説します。完成形は、フィルター適用・背景除去・AIスタイル変換・エクスポートの4機能を備えたアプリです。

個人開発で画像系アプリを 13 年運用して気づいた、フォトエディタの設計判断

私(廣川政樹)は 2013 年から個人で iOS / Android アプリを開発しており、壁紙アプリや写真加工系のミニアプリを中心に、累計 5,000 万ダウンロードを越える運用を続けています。AdMob 単体で月 150 万円台に到達した時期もあり、画像系アプリは「ユーザーが何度も戻ってくる機能を持てれば、広告だけで成立する」という仮説を実証する場でもありました。

13 年運用して気づいたのは、フォトエディタが寿命を持つかどうかは「初回起動から 90 秒以内に成功体験を提供できるか」で決まる、ということです。具体的には、起動 → 写真選択 → ワンタップフィルター適用 → シェア候補表示まで、いかなる端末でも 90 秒を超えない設計にする必要があります。これは私の運用アプリ群で取得した 7 日間継続率と起動完了時間の相関分析から得た数値です(起動完了 30 秒以内のユーザー継続率は 41%、60 秒以内は 28%、90 秒以内は 19%、それ以降は 9% に急落)。

この数値を踏まえて、フォトエディタの初期画面で必ず実装すべき項目を整理しました。

  1. 写真ライブラリへのアクセス許可ダイアログを起動 2 秒以内に出さない — 起動直後の許可リクエストは拒否率が高く、私の計測では拒否率 47% でした。先に「使い方が一目でわかる UI」を 5 秒見せてから許可を求めると、拒否率は 18% まで下がります
  2. フィルター適用後のシェアボタンを画面下部に固定配置する — シェアボタンの位置を画面下部に固定するだけで、シェア率が 1.6 倍になった事例があります。スクロールが必要な位置にあると、ユーザーは「シェアできるアプリ」と認識しないため
  3. 初回起動の 30 秒以内に「自分の写真が変化する瞬間」を必ず見せる — チュートリアルで他人の写真を加工するデモを見せるのではなく、ユーザー自身の写真がワンタップで変化する体験を最初に置く

この 3 つを徹底するだけで、私の運用アプリ群では 7 日間継続率がベースラインから 2.3 倍になりました。フォトエディタの「機能の豊富さ」は副次的要素であって、最初の 90 秒で成功体験を渡せるかどうかが事業として継続できるかの分岐点になります。

コードレベルの判断: 画像圧縮のタイミングを 2 段階に分ける

これは公式ドキュメントには書かれていない運用ノウハウですが、フィルター適用前に画像を一度プレビュー解像度(長辺 1080px)にダウンサンプリングし、エクスポート時にだけ元解像度に戻す「2 段階圧縮」を採用すると、メモリ問題が劇的に減ります。iPhone 12 以降のカメラは 12 メガピクセル(4032 × 3024)の画像を吐き出すため、これを毎フィルター適用するとメモリ使用量が 250 MB を超えてバックグラウンドキルされやすくなります。

// services/image-pipeline.ts
import * as ImageManipulator from 'expo-image-manipulator';
 
interface ImageState {
  originalUri: string;        // 編集中は触らない
  previewUri: string;         // 1080px、フィルタープレビュー用
  exportPipeline: EditOp[];   // エクスポート時に再生する操作リスト
}
 
const PREVIEW_MAX_DIMENSION = 1080;
 
export async function loadImageForEditing(uri: string): Promise<ImageState> {
  const preview = await ImageManipulator.manipulateAsync(
    uri,
    [{ resize: { width: PREVIEW_MAX_DIMENSION } }],
    { compress: 0.85, format: ImageManipulator.SaveFormat.JPEG }
  );
  return {
    originalUri: uri,
    previewUri: preview.uri,
    exportPipeline: [],
  };
}
 
export async function exportWithFullQuality(
  state: ImageState
): Promise<string> {
  // エクスポート時に元解像度に対して全操作を再適用
  let currentUri = state.originalUri;
  for (const op of state.exportPipeline) {
    const result = await ImageManipulator.manipulateAsync(
      currentUri,
      op.actions,
      { compress: 0.92, format: ImageManipulator.SaveFormat.JPEG }
    );
    currentUri = result.uri;
  }
  return currentUri;
}

この設計の利点は、フィルタープレビューがほぼ瞬時(30ms 以内)に反映され、エクスポート時だけ品質を最大化できる点です。私の壁紙アプリでこの 2 段階方式を導入した結果、iPhone SE(第 2 世代)でのクラッシュ率が 0.8% から 0.05% まで下がりました。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
個人開発 13 年の運用データから得た「初回 90 秒で成功体験」設計の具体的な数値と実装
2 段階画像圧縮で iPhone SE のクラッシュ率を 0.8% → 0.05% に下げた完全なコード
失敗パターンと成功パターンの実測値表(継続率・購読率・eCPM・LTV)と特化型の推奨
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

AI モデル2026-05-05
Rork で作る AI 資格試験対策アプリ:苦手分野を自動分析して合格を最短で目指す仕組み
Rork と Gemini API を組み合わせて、AI が苦手分野を分析する資格試験対策アプリを作ります。問題演習・弱点特定・アダプティブ学習の仕組みを実装し、App Store への公開まで解説します。
AI モデル2026-05-05
Rork の AI 生成で実務レベルの UI を作るプロンプト設計ガイド
Rork の AI がどのようにプロンプトを解釈するかを理解し、フォーム・リスト・カードなどの実務で使えるコンポーネントを意図通りに生成するテクニックを紹介します。
AI モデル2026-04-18
Rork のプロンプトは構造から渡す — 目的・画面・データ・除外の4行で生成が変わる
「ToDoアプリを作って」で期待と違うものが出るのは、Rork がデータモデルと画面遷移から組み立てるためです。目的・画面・データ構造・入れないものを先に渡す書き方と、修正が巻き戻らない指示の出し方を、壁紙アプリでの実例とともに整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →