4.6 KiB

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

{
  "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

{
  "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.