> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# アーティファクトとは？

> アーティファクトはReplitで公開できる成果物—Webアプリ、モバイルアプリ、スライドデッキ、アニメーション、データビジュアライゼーション、3Dゲーム、デプロイして共有できるデザイン—です。

export const ArtifactGrid = () => {
  if (typeof document !== "undefined" && !document.getElementById("artifact-grid-styles")) {
    const style = document.createElement("style");
    style.id = "artifact-grid-styles";
    style.textContent = `
      .artifact-grid-wrap {
        --ag-bg: var(--replit-docs-bg, #F6F6F4);
        --ag-icon-bg: var(--replit-docs-bg-elevated, #F1F1EE);
        --ag-icon-border: var(--replit-docs-border, #DEDAD5);
        --ag-text: var(--replit-docs-text-muted, #5C5C5C);
        --ag-icon-color: var(--replit-docs-text-muted, #5C5C5C);
      }
      .dark .artifact-grid-wrap,
      html.dark .artifact-grid-wrap,
      [data-theme="dark"] .artifact-grid-wrap {
        --ag-bg: var(--replit-docs-bg, #1E1E1F);
        --ag-icon-bg: var(--replit-docs-bg-elevated, #222223);
        --ag-icon-border: var(--replit-docs-border, #39393D);
        --ag-text: var(--replit-docs-text-muted, #B8B8BE);
        --ag-icon-color: var(--replit-docs-text-muted, #B8B8BE);
      }
      @keyframes ag-fade-in {
        from { transform: translateY(8px); opacity: 0; }
        to { transform: translateY(0); opacity: 1; }
      }
      @media (hover: hover) {
        .artifact-grid-wrap .ag-icon-btn:hover {
          background: var(--ag-icon-border) !important;
        }
      }
    `;
    document.head.appendChild(style);
  }
  const types = [{
    name: "Web",
    icon: <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <path fillRule="evenodd" d="M12 1.25c5.937 0 10.75 4.813 10.75 10.75S17.937 22.75 12 22.75 1.25 17.937 1.25 12 6.063 1.25 12 1.25Zm-9.217 11.5a9.25 9.25 0 0 0 7.468 8.333 15.25 15.25 0 0 1-2.982-8.333H2.783Zm13.948 0a15.249 15.249 0 0 1-2.983 8.333 9.25 9.25 0 0 0 7.469-8.333H16.73Zm-7.958 0A13.748 13.748 0 0 0 12 20.876a13.748 13.748 0 0 0 3.227-8.126H8.773Zm1.478-9.834a9.251 9.251 0 0 0-7.468 8.334H7.27a15.251 15.251 0 0 1 2.982-8.334ZM12 3.123a13.747 13.747 0 0 0-3.227 8.127h6.454A13.748 13.748 0 0 0 12 3.123Zm1.748-.207a15.25 15.25 0 0 1 2.983 8.334h4.486a9.251 9.251 0 0 0-7.469-8.334Z" clipRule="evenodd" />
        </svg>
  }, {
    name: "Mobile",
    icon: <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <path fillRule="evenodd" d="M7 2.75c-.69 0-1.25.56-1.25 1.25v16c0 .69.56 1.25 1.25 1.25h10c.69 0 1.25-.56 1.25-1.25V4c0-.69-.56-1.25-1.25-1.25H7ZM4.25 4A2.75 2.75 0 0 1 7 1.25h10A2.75 2.75 0 0 1 19.75 4v16A2.75 2.75 0 0 1 17 22.75H7A2.75 2.75 0 0 1 4.25 20V4Zm7 14a.75.75 0 0 1 .75-.75h.01a.75.75 0 0 1 0 1.5H12a.75.75 0 0 1-.75-.75Z" clipRule="evenodd" />
        </svg>
  }, {
    name: "Slides",
    icon: <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <path fillRule="evenodd" d="M20 2.25A2.75 2.75 0 0 1 22.75 5v14A2.75 2.75 0 0 1 20 21.75h-8A2.75 2.75 0 0 1 9.25 19V5A2.75 2.75 0 0 1 12 2.25h8Zm-8 1.5c-.69 0-1.25.56-1.25 1.25v14c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25V5c0-.69-.56-1.25-1.25-1.25h-8Z" clipRule="evenodd" />
          <path d="M6 4.25a.75.75 0 0 1 .75.75v14a.75.75 0 0 1-1.5 0V5A.75.75 0 0 1 6 4.25ZM2 6.25a.75.75 0 0 1 .75.75v10a.75.75 0 0 1-1.5 0V7A.75.75 0 0 1 2 6.25Z" />
        </svg>
  }, {
    name: "Design",
    icon: <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <path d="M6.5 11.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5ZM17.5 9.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5ZM8.5 6.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5ZM13.5 5.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5Z" />
          <path fillRule="evenodd" d="M12 1.25c2.827 0 5.553 1.01 7.573 2.828C21.596 5.9 22.75 8.388 22.75 11A5.749 5.749 0 0 1 17 16.75h-2.25a1 1 0 0 0-.8 1.6l.3.4.1.143a2.5 2.5 0 0 1-2.1 3.857H12a10.75 10.75 0 1 1 0-21.5Zm0 1.5a9.25 9.25 0 1 0 0 18.5h.25a1 1 0 0 0 .8-1.6l-.3-.4a2.5 2.5 0 0 1 2-4H17l.21-.005A4.25 4.25 0 0 0 21.25 11c0-2.161-.953-4.252-2.68-5.807C16.84 3.636 14.476 2.75 12 2.75Z" clipRule="evenodd" />
        </svg>
  }, {
    name: "Animation",
    icon: <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <path fillRule="evenodd" d="M10.024 7.25c.31.004.613.091.878.251l4.996 2.996a1.752 1.752 0 0 1 .625 2.367 1.75 1.75 0 0 1-.625.639v-.001l-4.995 2.995.001.001a1.75 1.75 0 0 1-2.654-1.505v-5.99a1.75 1.75 0 0 1 1.774-1.753Zm-.02 1.5a.252.252 0 0 0-.22.124.253.253 0 0 0-.034.127v5.998a.252.252 0 0 0 .127.219.253.253 0 0 0 .252-.004l.002-.001 4.997-2.997.002-.001a.252.252 0 0 0 .122-.215.25.25 0 0 0-.122-.215h-.002L10.13 8.786h-.002a.25.25 0 0 0-.125-.037Z" clipRule="evenodd" />
          <path fillRule="evenodd" d="M12 1.25c5.937 0 10.75 4.813 10.75 10.75S17.937 22.75 12 22.75 1.25 17.937 1.25 12 6.063 1.25 12 1.25Zm0 1.5a9.25 9.25 0 1 0 0 18.5 9.25 9.25 0 0 0 0-18.5Z" clipRule="evenodd" />
        </svg>
  }, {
    name: "Data Viz",
    icon: <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <path d="M5 14.25a.75.75 0 0 1 .75.75v6a.75.75 0 0 1-1.5 0v-6a.75.75 0 0 1 .75-.75ZM12 8.25a.75.75 0 0 1 .75.75v12a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75ZM19 2.25a.75.75 0 0 1 .75.75v18a.75.75 0 0 1-1.5 0V3a.75.75 0 0 1 .75-.75Z" />
        </svg>
  }, {
    name: "3D Game",
    icon: <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
          <path fillRule="evenodd" d="M11.25 9.675A3.751 3.751 0 0 1 12 2.25a3.75 3.75 0 0 1 .75 7.425v4.575H19A2.75 2.75 0 0 1 21.75 17v2A2.75 2.75 0 0 1 19 21.75H5A2.75 2.75 0 0 1 2.25 19v-2A2.75 2.75 0 0 1 5 14.25h.25V13a.75.75 0 0 1 1.5 0v1.25h4.5V9.675ZM9.75 6a2.25 2.25 0 1 0 4.5 0 2.25 2.25 0 0 0-4.5 0ZM4.116 16.116A1.25 1.25 0 0 1 5 15.75h14A1.25 1.25 0 0 1 20.25 17v2A1.25 1.25 0 0 1 19 20.25H5a1.25 1.25 0 0 1-1.244-1.126L3.75 19v-2c0-.331.132-.65.366-.884Z" clipRule="evenodd" />
        </svg>
  }];
  const rows = [types.slice(0, 4), types.slice(4, 7)];
  const iconBtnStyle = {
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    width: "48px",
    height: "48px",
    border: "1px solid var(--ag-icon-border)",
    borderRadius: "12px",
    background: "var(--ag-icon-bg)",
    cursor: "default",
    color: "var(--ag-icon-color)",
    padding: 0,
    transition: "background 120ms ease-out",
    flexShrink: 0
  };
  return <div className="artifact-grid-wrap" style={{
    fontFamily: "'IBM Plex Sans', sans-serif",
    display: "flex",
    flexDirection: "column",
    alignItems: "center",
    gap: "12px",
    padding: "32px",
    background: "var(--ag-bg)",
    borderRadius: "16px",
    width: "100%",
    maxWidth: "460px",
    margin: "32px auto",
    opacity: 0,
    animation: "ag-fade-in 300ms ease-out forwards"
  }}>
      {rows.map((row, ri) => <div key={ri} style={{
    display: "flex",
    gap: "12px",
    justifyContent: "center"
  }}>
          {row.map(type => <div key={type.name} style={{
    display: "flex",
    flexDirection: "column",
    alignItems: "center",
    gap: "6px"
  }}>
              <div className="ag-icon-btn" style={iconBtnStyle}>
                {type.icon}
              </div>
              <span style={{
    fontSize: "11px",
    color: "var(--ag-text)",
    textAlign: "center",
    lineHeight: "1.2"
  }}>
                {type.name}
              </span>
            </div>)}
        </div>)}
    </div>;
};

## アーティファクトとは？

アーティファクトはReplitで公開できるもの、例えばWebアプリ、モバイルアプリ、スライドデッキ、アニメーション、データアプリ、3Dゲーム、デザインなどです。それぞれが完全で独立した成果物で、公開すると専用の共有可能なURLが付きます。

プロジェクト内の他のすべてのもの（ファイル、画像、CSV、コード）はアーティファクトをサポートしますが、単独では公開できません。

<ArtifactGrid />

## 作成できるもの

| タイプ                                                            | 説明                                                |
| -------------------------------------------------------------- | ------------------------------------------------- |
| **[Webアプリ](/references/artifact-types/web-apps)**              | ユーザー、データベースなどを処理できる美しく強力なウェブサイト。                  |
| **[モバイルアプリ](/references/artifact-types/building-mobile-apps)** | iPhoneとAndroidスマートフォン用のネイティブアプリ。                  |
| **[スライドデッキ](/references/artifact-types/slide-decks)**          | プレゼンテーションやエクスポートができるスライドデッキ。                      |
| **[アニメーション](/references/artifact-types/animated-videos)**      | モーショングラフィクスとアニメーション動画。MP4としてエクスポート。               |
| **[データビジュアライゼーション](/references/artifact-types/data-apps)**     | データを探索してチャートを作成するためのインタラクティブなダッシュボードとビジュアライゼーション。 |
| **3Dゲーム**                                                      | 3Dゲーム、シミュレーション、インタラクティブな体験。                       |
| **[デザイン](/learn/design/canvas)**                               | デザインキャンバスでビジュアルの方向性を探索してアイデアをプロトタイプ化する。           |

プランでの利用可能状況については、各タイプの専用ページを参照してください。

## 始め方

Replitのホームページから作成する方法は2つあります：

* **説明する**：欲しいものを入力する — 「レシピアプリを作って」または「スタートアップのピッチデッキを作って」。Agentがどのタイプが最適かを判断して構築します。
* **タイプを選ぶ**：アイデアを説明する前に、欲しいアーティファクト（Webアプリ、モバイルアプリ、データビジュアライゼーション、アニメーション、3Dゲーム、またはその他のサポートタイプ）を選択します。

チャットでAgentに依頼するか、プレビューパネルの\*\*+\*\*ボタンをクリックして、いつでも既存のプロジェクトに追加することもできます。

## アーティファクトを切り替える

プロジェクトに複数のアーティファクトがある場合、**プレビューパネル**または**ライブラリサイドバー**で切り替えます。Agentに聞くこともできます — 「モバイルアプリを見せて」または「スライドに切り替えて」。

### ライブラリサイドバー

ライブラリサイドバーはプロジェクト内のすべてを閲覧できる中央の場所を提供します。アーティファクト、Agentが生成またはダウンロードした画像、その他のプロジェクトアセットが表示されます。左パネルからライブラリサイドバーを開いて、プロジェクト全体のアセットを見つけて再利用できます。

<Frame>
  <video autoPlay muted loop playsInline src="https://cdn.replit.com/sanity/stock_image_library_compressed.mp4" />
</Frame>

## 一つのプロジェクトに複数のアーティファクト

一つのプロジェクトは最大**7つのアーティファクト**を保持でき、**モバイルアプリは最大1つ**です。例えば、顧客向けのWebアプリ、チーム向けのモバイルアプリ、投資家向けのスライドデッキをすべて同じプロジェクトに構築できます。

<ArtifactGrid />

### プロジェクトにアーティファクトを追加する

既存のプロジェクトにアーティファクトを追加する方法は3つあります：

* **チャット**：Agentに依頼 — 「このプロジェクトにモバイルアプリを追加して」または「投資家向けのスライドデッキを作成して」
* **プラスボタン**：プレビューパネルの\*\*+\*\*ボタンをクリックして構築したいものを選択
* **ライブラリサイドバー**：既存のアーティファクト、画像、その他のアセットを閲覧し、そこから新しいアーティファクトを追加

### 共有データとバックエンド

同じプロジェクト内のアーティファクトは、自動的に同じデータとバックエンドロジックを共有します。顧客がWebアプリで注文を入れると、モバイルアプリとデータダッシュボードもその注文を即座に確認できます。接続の設定やコードの重複は不要 — そのまま機能します。

<Note>
  公開するとプロジェクト全体が一度にデプロイされます。すべてのアーティファクトが同時に公開されるため、常に同期しています。
</Note>

### 組み合わせの例

* **Webアプリ + モバイルアプリ**：顧客向けWebアプリとスタッフ向けモバイルアプリを持つレストラン — 両方が同じAPIとデータベースに接続
* **アプリ + 管理ダッシュボード**：コンテンツ、ユーザー、設定を管理するための内部管理パネルと並ぶメイン製品
* **アプリ + スライドデッキ**：スライドが常に最新バージョンを反映するよう、同じプロジェクトにある製品とピッチデッキ
* **データダッシュボード + 動画**：ハイライトを解説するアニメーション動画と組み合わせたライブデータビジュアライゼーション

## 公開

アプリ、スライド、動画はすべて公開して共有できます。デプロイすると、それぞれ独自の共有可能なURLが付きます。

アーティファクトでないファイルやアセット（CSV、画像、Markdownファイルなど）は単独では公開できません。共有するには、アプリに追加するか新しいアーティファクトを作成してください。

## よくある質問

<Accordion title="プロジェクトに複数のアーティファクトを持てますか？">
  はい。一つのプロジェクトは最大**7つのアーティファクト**を保持でき、**モバイルアプリは1プロジェクトにつき1つ**です。プロジェクト内のすべてのアーティファクトは自動的に同じバックエンドとデータを共有します。

  モバイルアプリの上限に達して2番目のモバイルアプリを構築したい場合は、新しいプロジェクトで作成してください。7アーティファクトの合計に達した場合は、別のアーティファクトを追加する前に既存のアーティファクトを削除するか、プロジェクトを分割してください。
</Accordion>

<Accordion title="始める前にタイプを選ぶ必要がありますか？">
  いいえ。欲しいものを説明するだけで、Agentが適切なタイプを選びます。希望であれば、ドロップダウンからタイプを手動で選択することもできます。
</Accordion>

<Accordion title="プロジェクトから一つのアーティファクトだけを公開できますか？">
  現在はできません。公開するとプロジェクト全体が一緒にデプロイされるため、すべてのアーティファクトが同期された状態を保ちます。独立したデプロイメントが必要な場合は、別のプロジェクトを使用してください。
</Accordion>

<Accordion title="アーティファクトはデータを共有しますか？">
  はい。プロジェクト内のすべてのアーティファクトは同じデータベースとバックエンドサービスを共有します。Webアプリがデータを書き込むと、モバイルアプリとデータダッシュボードは即座にそれを読み取れます。
</Accordion>

<Accordion title="アーティファクトとファイルの違いは何ですか？">
  アーティファクトは公開できるもの — アプリ、スライド、動画です。ファイル（CSV、画像、コードなど）はアーティファクトをサポートするプロジェクト内のアセットですが、単独では公開できません。
</Accordion>

<Accordion title="モバイルアプリにWebアプリの機能が足りません。どうなりましたか？">
  Agentがアーティファクトタイプ間で機能を変換する際、一部のものは完全には引き継がれない場合があります — 特にプラットフォーム間で異なるインタラクションやレイアウト。チャットでフォローアップして不足を補えます。
</Accordion>

構築できるもののフルリストについては、[プロジェクト概要](/references/projects-and-artifacts/projects)を参照してください。
