Update app.py
Browse files
app.py
CHANGED
|
@@ -187,15 +187,15 @@ driver_pool = WebDriverPool(max_drivers=int(os.environ.get("MAX_WEBDRIVERS", "3"
|
|
| 187 |
class GeminiRequest(BaseModel):
|
| 188 |
"""Geminiへのリクエストデータモデル"""
|
| 189 |
text: str
|
| 190 |
-
extension_percentage: float =
|
| 191 |
-
temperature: float = 0
|
| 192 |
trim_whitespace: bool = True # 余白トリミングオプション(デフォルト有効)
|
| 193 |
style: str = "standard" # デフォルトはstandard
|
| 194 |
|
| 195 |
class ScreenshotRequest(BaseModel):
|
| 196 |
"""スクリーンショットリクエストモデル"""
|
| 197 |
html_code: str
|
| 198 |
-
extension_percentage: float =
|
| 199 |
trim_whitespace: bool = True # 余白トリミングオプション(デフォルト有効)
|
| 200 |
style: str = "standard" # デフォルトはstandard
|
| 201 |
|
|
@@ -295,7 +295,7 @@ def load_system_instruction(style="standard"):
|
|
| 295 |
"""
|
| 296 |
try:
|
| 297 |
# 有効なスタイル一覧
|
| 298 |
-
valid_styles = ["standard", "cute", "resort", "cool", "dental", "school"]
|
| 299 |
|
| 300 |
# スタイルの検証
|
| 301 |
if style not in valid_styles:
|
|
@@ -861,7 +861,7 @@ def text_to_screenshot_parallel(text: str, extension_percentage: float, temperat
|
|
| 861 |
return Image.new('RGB', (1, 1), color=(0, 0, 0)), None # エラー時は黒画像とNone URL
|
| 862 |
|
| 863 |
# 従来の非並列版も残す(互換性のため)
|
| 864 |
-
def text_to_screenshot(text: str, extension_percentage: float, temperature: float = 0
|
| 865 |
trim_whitespace: bool = True, style: str = "standard") -> tuple:
|
| 866 |
"""テキストをGemini APIでHTMLに変換し、スクリーンショットを生成する統合関数(レガシー版)"""
|
| 867 |
# 並列処理版を呼び出す
|
|
@@ -1048,7 +1048,7 @@ with gr.Blocks(title="Full Page Screenshot (テキスト変換対応)", theme=gr
|
|
| 1048 |
with gr.Column(scale=1):
|
| 1049 |
# スタイル選択ドロップダウン
|
| 1050 |
style_dropdown = gr.Dropdown(
|
| 1051 |
-
choices=["standard", "cute", "resort", "cool", "dental", "school"],
|
| 1052 |
value="standard",
|
| 1053 |
label="デザインスタイル",
|
| 1054 |
info="テキスト→HTML変換時のデザインテーマを選択します",
|
|
@@ -1060,7 +1060,7 @@ with gr.Blocks(title="Full Page Screenshot (テキスト変換対応)", theme=gr
|
|
| 1060 |
minimum=0,
|
| 1061 |
maximum=30,
|
| 1062 |
step=1.0,
|
| 1063 |
-
value=
|
| 1064 |
label="上下高さ拡張率(%)"
|
| 1065 |
)
|
| 1066 |
|
|
@@ -1069,7 +1069,7 @@ with gr.Blocks(title="Full Page Screenshot (テキスト変換対応)", theme=gr
|
|
| 1069 |
minimum=0.0,
|
| 1070 |
maximum=1.0,
|
| 1071 |
step=0.1,
|
| 1072 |
-
value=0
|
| 1073 |
label="生成時の温度(低い=一貫性高、高い=創造性高)",
|
| 1074 |
visible=False # 最初は非表示
|
| 1075 |
)
|
|
@@ -1124,7 +1124,7 @@ with gr.Blocks(title="Full Page Screenshot (テキスト変換対応)", theme=gr
|
|
| 1124 |
- 使用モデル: {gemini_model} (環境変数 GEMINI_MODEL で変更可能)
|
| 1125 |
- HuggingFaceリポジトリ: {hf_repo} (環境変数 HF_REPO_ID で変更可能)
|
| 1126 |
- WebDriverプール最大数: {driver_pool.max_drivers} (環境変数 MAX_WEBDRIVERS で変更可能)
|
| 1127 |
-
- 対応スタイル: standard, cute, resort, cool, dental
|
| 1128 |
""")
|
| 1129 |
|
| 1130 |
# --- Mount Gradio App onto FastAPI ---
|
|
|
|
| 187 |
class GeminiRequest(BaseModel):
|
| 188 |
"""Geminiへのリクエストデータモデル"""
|
| 189 |
text: str
|
| 190 |
+
extension_percentage: float = 15.0 # デフォルト値15%
|
| 191 |
+
temperature: float = 1.0 # デフォルト値を1.0に設定
|
| 192 |
trim_whitespace: bool = True # 余白トリミングオプション(デフォルト有効)
|
| 193 |
style: str = "standard" # デフォルトはstandard
|
| 194 |
|
| 195 |
class ScreenshotRequest(BaseModel):
|
| 196 |
"""スクリーンショットリクエストモデル"""
|
| 197 |
html_code: str
|
| 198 |
+
extension_percentage: float = 15.0 # デフォルト値15%
|
| 199 |
trim_whitespace: bool = True # 余白トリミングオプション(デフォルト有効)
|
| 200 |
style: str = "standard" # デフォルトはstandard
|
| 201 |
|
|
|
|
| 295 |
"""
|
| 296 |
try:
|
| 297 |
# 有効なスタイル一覧
|
| 298 |
+
valid_styles = ["standard", "cute", "resort", "cool", "dental", "school","KOKUGO"]
|
| 299 |
|
| 300 |
# スタイルの検証
|
| 301 |
if style not in valid_styles:
|
|
|
|
| 861 |
return Image.new('RGB', (1, 1), color=(0, 0, 0)), None # エラー時は黒画像とNone URL
|
| 862 |
|
| 863 |
# 従来の非並列版も残す(互換性のため)
|
| 864 |
+
def text_to_screenshot(text: str, extension_percentage: float, temperature: float = 1.0,
|
| 865 |
trim_whitespace: bool = True, style: str = "standard") -> tuple:
|
| 866 |
"""テキストをGemini APIでHTMLに変換し、スクリーンショットを生成する統合関数(レガシー版)"""
|
| 867 |
# 並列処理版を呼び出す
|
|
|
|
| 1048 |
with gr.Column(scale=1):
|
| 1049 |
# スタイル選択ドロップダウン
|
| 1050 |
style_dropdown = gr.Dropdown(
|
| 1051 |
+
choices=["standard", "cute", "resort", "cool", "dental", "school","KOKUGO"],
|
| 1052 |
value="standard",
|
| 1053 |
label="デザインスタイル",
|
| 1054 |
info="テキスト→HTML変換時のデザインテーマを選択します",
|
|
|
|
| 1060 |
minimum=0,
|
| 1061 |
maximum=30,
|
| 1062 |
step=1.0,
|
| 1063 |
+
value=15, # デフォルト値15%
|
| 1064 |
label="上下高さ拡張率(%)"
|
| 1065 |
)
|
| 1066 |
|
|
|
|
| 1069 |
minimum=0.0,
|
| 1070 |
maximum=1.0,
|
| 1071 |
step=0.1,
|
| 1072 |
+
value=1.0, # デフォルト値を1.0に設定
|
| 1073 |
label="生成時の温度(低い=一貫性高、高い=創造性高)",
|
| 1074 |
visible=False # 最初は非表示
|
| 1075 |
)
|
|
|
|
| 1124 |
- 使用モデル: {gemini_model} (環境変数 GEMINI_MODEL で変更可能)
|
| 1125 |
- HuggingFaceリポジトリ: {hf_repo} (環境変数 HF_REPO_ID で変更可能)
|
| 1126 |
- WebDriverプール最大数: {driver_pool.max_drivers} (環境変数 MAX_WEBDRIVERS で変更可能)
|
| 1127 |
+
- 対応スタイル: standard, cute, resort, cool, dental, KOKUGO
|
| 1128 |
""")
|
| 1129 |
|
| 1130 |
# --- Mount Gradio App onto FastAPI ---
|