アルバム (Album)
recerdo-album が提供するアルバム・メディア管理APIです。
POST /api/orgs/{org_id}/albums¶
アルバムを新規作成します。
GET /api/orgs/{org_id}/albums/{album_id}¶
アルバム詳細を取得します。
GET /api/orgs/{org_id}/events/{event_id}/album¶
イベントに紐づくアルバムを取得します。
GET /api/orgs/{org_id}/albums¶
組織のアルバム一覧を取得します。
クエリパラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
limit | int | 取得件数 |
cursor | string | ページネーションカーソル |
PATCH /api/orgs/{org_id}/albums/{album_id}¶
アルバムのメタデータを更新します(タイトル・説明など)。
PUT /api/v1/albums/status¶
アルバムのステータスを変更します。オーナーのみ操作可能です。
| ステータス | 説明 |
|---|---|
DRAFT | 下書き(非公開)。作成時のデフォルト。 |
PUBLIC | 公開。一般ユーザーが閲覧可能。 |
ARCHIVE | アーカイブ(非公開)。編集・削除不可の保存状態。 |
ステータス遷移
ARCHIVE 状態のアルバムへのメディア追加・編集はサービス側で拒否されます(将来実装)。
POST /api/orgs/{org_id}/albums/{album_id}/media¶
アルバムにメディアを追加します(Storage Serviceでアップロード後のmedia_idを指定)。
DELETE /api/orgs/{org_id}/albums/{album_id}/media/{media_id}¶
アルバムからメディアを削除します(アルバムからの除外。原本の物理削除は Storage Service の論理削除+30日保持ポリシーに従う)。
POST /api/orgs/{org_id}/albums/{album_id}/media/reorder¶
アルバム内のメディア順序を並び替えます。
GET /api/orgs/{org_id}/albums/{album_id}/media¶
アルバムのメディア一覧を取得します。Live Photo はペアリング済みの画像+動画を 1件のメディア として返却します(UI上も1カード扱い)。
{
"data": {
"media": [
{
"media_id": "med_01JXXXXXXXXX",
"mime_type": "image/heic",
"caption": "みんなで乾杯!",
"uploader_id": "usr_01JXXXXXXXXX",
"created_at": "2026-04-19T00:00:00Z",
"variants": {
"image_url": "https://object.recerdo.app/media/.../med_01.jpg?sig=...",
"image_webp_url": "https://object.recerdo.app/media/.../med_01.webp?sig=...",
"hls_master_url": null,
"live_photo_video_url": "https://object.recerdo.app/media/.../med_01-live.m3u8?sig=...",
"asset_identifier": "3F9A..."
}
}
],
"total": 128
}
}
Live Photo の扱い
Live Photo は Apple の asset_identifier で画像と動画をペアリングし、アルバムには 1件のメディアとして表示 します。variants.image_url と variants.live_photo_video_url の両方が返却され、対応クライアントはロングタップで動画再生、非対応クライアントは静止画のみ表示します。
PATCH /api/orgs/{org_id}/albums/{album_id}/media/{media_id}¶
メディアのキャプションを更新します。
ユーザー選択方式
ハイライト動画は 自動生成しません。ユーザーが media_ids[] を明示的に選択して作成します。
アルバム内メディアから ユーザーが選択した メディアでハイライト動画を生成します。
{
"title": "2026年 同窓会ハイライト",
"media_ids": [
"med_01JXXXXXXXXX",
"med_02JXXXXXXXXX",
"med_03JXXXXXXXXX"
],
"transition": "crossfade",
"music_track_id": "trk_01JXXXXXXXXX"
}
| フィールド | 必須 | 説明 |
|---|---|---|
media_ids[] | ✓ | ユーザーが選択したメディアID(1〜30件)。順序はハイライト内の再生順 |
title | ✓ | ハイライトタイトル |
transition | – | cut / crossfade / fade(既定 cut) |
music_track_id | – | BGMトラックID |
生成完了後、Storage Service 経由で HLS variants が返却されます(GET /api/media/{org_id}/highlights/{highlight_id})。
最終更新: 2026-04-19 ポリシー適用