doc: document for prompt and template

This commit is contained in:
Jerry Tian 2025-04-07 21:41:16 -04:00
parent 547c79123d
commit 6be946325b

View File

@ -0,0 +1,116 @@
# Template Database Schema Documentation
## Overview
This document outlines the JSON schema for a template database system. The database manages templates for digital content generation, including both image and video capabilities, with references to external media files.
## Schema Structure
### Top-Level Structure
```json
{
"timestamp": 1712331158783,
"templates": [
// Array of template items
]
}
```
### Template Item Structure
Each template in the database has the following fields:
| Field | Type | Description |
|-------|------|-------------|
| id | string | Date-time based unique identifier |
| name | string | Internal reference name (used for folder organization) |
| title | string | User-facing display title |
| description | string | Detailed description of the template |
| coverImage | string | Filename of template's cover image (jpg/png) |
| sampleVideo | string | Filename of sample video (mp4) |
| imagePrompt | string | Text prompt for image generation |
| imageEngine | string | API engine for image generation (currently "openai-o4") |
| videoPrompt | string | Text prompt for video generation |
| videoEngine | string | Engine for video generation (currently "luma" or "wan2") |
## File Structure
Files referenced in the schema are organized in the following folder structure:
```
/templates/
/{name}/
/{coverImage}
/{sampleVideo}
```
## Example JSON Database
```json
{
"timestamp": 1712331158783,
"templates": [
{
"id": "2025-04-07T12-30-45-123Z",
"name": "sunset-beach",
"title": "Tropical Beach Sunset",
"description": "A beautiful tropical beach scene with palm trees silhouetted against a vibrant sunset over the ocean.",
"coverImage": "cover.jpg",
"sampleVideo": "sample.mp4",
"imagePrompt": "A stunning tropical beach at sunset, with silhouettes of palm trees, golden-orange sky reflecting on calm ocean waters, no people, photorealistic style.",
"imageEngine": "openai-o4",
"videoPrompt": "Camera slowly panning across a tropical beach at sunset, palm trees swaying gently in the breeze, golden light reflecting on gentle waves, cinematic lighting.",
"videoEngine": "luma"
},
{
"id": "2025-04-07T13-15-22-456Z",
"name": "space-nebula",
"title": "Cosmic Nebula Explorer",
"description": "A spectacular journey through colorful space nebulae and distant galaxies.",
"coverImage": "nebula-cover.png",
"sampleVideo": "space-journey.mp4",
"imagePrompt": "A breathtaking view of a colorful space nebula with stars, cosmic dust, and swirling gases in purple, blue and pink hues, ultra high definition, space photography style.",
"imageEngine": "openai-o4",
"videoPrompt": "Slow journey through a colorful cosmic nebula, moving past stars and swirling gases, gradual color shifts from purple to blue to pink, distant galaxies visible, ultra HD quality.",
"videoEngine": "wan2"
},
{
"id": "2025-04-07T14-22-18-789Z",
"name": "urban-future",
"title": "Futuristic Cityscape",
"description": "A hyper-modern cityscape with advanced architecture, flying vehicles, and holographic displays.",
"coverImage": "future-city.jpg",
"sampleVideo": "city-flythrough.mp4",
"imagePrompt": "Hyper-futuristic cityscape at dusk with neon lights, holographic billboards, flying vehicles, sleek skyscrapers, advanced technology, cyberpunk aesthetic but clean and utopian.",
"imageEngine": "openai-o4",
"videoPrompt": "Flying through a futuristic city at dusk, weaving between tall skyscrapers with holographic displays, flying vehicles passing by, neon lights reflecting off glass buildings, advanced technology visible everywhere.",
"videoEngine": "luma"
}
]
}
```
## Usage Guidelines
1. **Updating the Database**:
- When updating the database, increment the top-level `timestamp` field.
- Use a consistent date-time format for new template IDs.
2. **File References**:
- Cover images should be placed in `/{name}/` folder with the filename specified in `coverImage`.
- Sample videos should be placed in `/{name}/` folder with the filename specified in `sampleVideo`.
3. **Engine Values**:
- `imageEngine` is currently limited to "openai-o4".
- `videoEngine` is currently limited to either "luma" or "wan2".
## Validation
When implementing this schema, consider adding validation to ensure:
- All required fields are present
- Engine values are from the allowed set
- Referenced files exist in the expected locations
- IDs follow the expected date-time format pattern
This documentation provides the structural foundation for managing your template system's metadata and file references.