Spaces:
Running
Running
File size: 1,622 Bytes
bb36e7e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
from typing import Any, Dict, List
from pydantic import BaseModel, Field
class HeroResearchOutput(BaseModel):
hero_user: str = Field(description="The identified hero user who will benefit most from the app.")
hero_use_case: str = Field(description="The primary use case explaining why the hero user would use the app and what they aim to achieve.")
hero_journey: List[str] = Field(description="A list of steps outlining the journey the hero user will take within the app.")
# app_name: str = Field(description="Given App Name")
# app_idea: str = Field(description="Given App Idea")
class FeatureMapping(BaseModel):
step: str = Field(description="A specific step in the hero user's journey.")
features: List[Dict[str, Any]] = Field(description="A list of features from the buildcard that correspond to the journey step.")
class FeatureIntegrationOutput(BaseModel):
journey_features_mapping: List[FeatureMapping]
class ContentPlanStep(BaseModel):
step_description: str
features: List[Dict[str, Any]]
class ContentPlanOutput(BaseModel):
content_plan: List[ContentPlanStep]
class ScriptStep(BaseModel):
step_description: str
narrator: str
action: str
features: List[Dict[str, Any]]
class ScriptOutput(BaseModel):
sizzle_reel_script: List[ScriptStep]
class VideoGenerationOutput(BaseModel):
video_path: str = Field(description="Path to the generated sizzle reel video")
video_duration: float = Field(description="Duration of the generated video in seconds")
app_name: str = Field(description="Name of the app for which video was generated") |