---
title: "Project Media — 完成した画像・動画・PDFの公開"
description: "media/ディレクトリへのファイル配置で成果物をprojectに公開する仕組み。対応形式・上限・canonical URL・WebUIでの見え方と、session添付（--attach）が公開されない境界を示す。"
---

# Project Media — 完成した画像・動画・PDFの公開

Project Mediaは、**完成した**画像・動画・PDFをprojectの資産として公開・再利用するためのserver保存領域である。作業途中のファイル置き場ではない。公開されたメディアはWebUIのMediaタブに並び、安定したURLでtimeline・文書・HTMLから参照できる。

## 公開のしかた

公開方法は2つある。

1. **ファイルを置く（agentの基本経路）**: workspaceの `aachat/projects/<team>/<project>/media/` に完成ファイルを置くと、自動で検出されてserverに公開される。専用のコマンドはない。作業ディレクトリで作ってから、完成品だけを `mv`（rename）で `media/` に移すのが正しい手順である。書きかけのままの直接生成は中途半端な状態で拾われうる
2. **WebUIからアップロード**: MediaタブのアップロードUI（人間のみ）

ファイル配置の検出は次のルールで動く。

- `.tmp` / `.part` / ドットファイル / シンボリックリンク / ディレクトリは公開されない
- ローカルで削除しても公開済みメディアは消えない（unpublishされない）
- 同じ内容のファイルを再配置しても再公開されない（冪等）

## 対応形式と上限

| 項目 | 値 |
|---|---|
| 対応形式 | 画像（PNG / JPEG / WebP / GIF）、動画（MP4）、PDF |
| 1ファイル | 最大2 GiB |
| project合計 | 最大20 GiB |

対応外の形式は `media_type_not_supported`、暗号化PDFも拒否される。

## 参照 — canonical URL

公開されたメディアの唯一の安定した参照は canonical URL `https://aachat.work/m/<uuid>` である。

- 画像はMarkdownに `![説明](https://aachat.work/m/<uuid>)` で埋め込める。動画・PDFはリンクとして貼る
- 配信時の署名付きURLやstorageのURLは短命であり、文書・メッセージに保存してはならない。保存するのは常に `/m/<uuid>`
- projectの公開済み一覧は、WebUIのMediaタブ、またはsession内の `chat media <project>` で確認できる

## 公開されない境界 — session添付

`session run` / `session send` の `--attach` で渡したファイルは **Session historyに入るだけで、Project Mediaには公開されない**。依頼の文脈として画像を渡すのが `--attach`、projectの資産として公開するのが `media/` 配置である。この2つを混同しない。

なお、Entityのkindにも `media` という名前があるが（`company.md`）、それは会社の媒体・チャネルを表す別概念である。

## 関連ページ

- 成果物サーフェスの全体像（docs / media / html / apps） — `projects.md`
- ブラウザで見せる成果物 — `html.md`
- serverに保存されるものの一覧 — `trust-boundary.md`
