Collection types
Every collection has a type that decides its default allowed resource types and how it shows up in the dashboard. The type is chosen at creation and is immutable afterward — pick carefully.
Built-in types
Picora seeds 9 built-in types. The default resource types are the ones enabled when you create a collection of that type; you can widen them later (expand-only).
Type (collectionType) | Name | Default resource types | Typical use |
|---|---|---|---|
knowledge_base | Knowledge Base | doc, image | Personal notes / docs (the classic KB) |
aigc | AIGC Project | doc, image, video, audio | AI generation workflows |
comic | Comic | image, doc | Comic pages + script |
audio_drama | Audio Drama | audio, doc | Podcast / audiobook + show notes |
photo_album | Photo Album | image | Image-only album |
album | Album | image, video | Mixed photo + video album |
comic_drama | Comic Drama | image, audio, doc | Comic + voice-over + script |
movie | Movie | video, audio, doc | Film + audio track + script |
tv_series | TV Series | video, audio, doc | Series organized by episode |
The default resource types are a starting point — for example a photo_album can later be widened to also allow video if you want to mix in clips. What you can’t do is shrink the set or change the type itself.
Custom types (Pro+)
On the Pro+ plan you can define your own collection types — for example “Course”, “Newsletter”, or “Storyboard” — each with its own name, icon, and allowed resource types.
- Create up to 10 custom types.
- Custom types appear in the type picker alongside the built-in ones.
- A custom type can only be deleted when no collection is using it (otherwise you get a
409conflict).
In the dashboard, the New collection dialog has an inline “Create custom type” option (Pro+); the new type is immediately available to select.
For developers
Types are managed through three endpoints (browsable in the API playground):
| Method | Path | Purpose | Scope |
|---|---|---|---|
GET | /v1/collection-types | List built-in + your custom types | collection.read |
POST | /v1/collection-types | Create a custom type (Pro+) | collection.write |
DELETE | /v1/collection-types/{id} | Delete a custom type (must be unused) | collection.delete |
Creating a type takes name, slug, allowedResourceTypes, and optional icon / description.
Next
- Collections overview — the container model, resource types, and quotas.
- Episodes — structure a collection into numbered episodes.