# Prepared Package Manifest

Prepared videos can be registered by writing this neutral folder shape:

```text
storage/incoming/package_2026_06_06_001/
  video.mp4
  manifest.json
  thumbnail.jpg optional
  transcript.txt optional
```

## Required manifest fields

```json
{
  "package_id": "package_2026_06_06_001",
  "source": "prepared_package",
  "working_title": "Example title",
  "language": "de",
  "topic_id": null,
  "series": null,
  "suggested_tiktok_caption": "Editable TikTok caption",
  "suggested_youtube_title": "Editable YouTube title",
  "suggested_youtube_description": "Editable YouTube description",
  "suggested_hashtags": ["#example"],
  "youtube_tags": ["example", "shorts"],
  "disclosure": {
    "synthetic_media": true,
    "commercial_content": false
  },
  "status": "ready_for_review"
}
```

## Import

```bash
curl -X POST http://localhost:8000/api/imports/scan
```

The importer:

- validates manifest presence;
- copies video to `storage/processed/<package_id>/`;
- generates a thumbnail when ffmpeg can decode the file;
- creates a `VideoAsset`;
- creates TikTok and YouTube `PostDraft` records;
- prevents duplicates by `package_id` and checksum;
- writes import logs;
- writes `import_error.log` beside failed packages.
