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