diff --git a/pixelle_video/services/frame_html.py b/pixelle_video/services/frame_html.py index ae3bcd9..5861cba 100644 --- a/pixelle_video/services/frame_html.py +++ b/pixelle_video/services/frame_html.py @@ -200,9 +200,8 @@ class HTMLFrameGenerator: } } """ - # Preset parameters that should be ignored - PRESET_PARAMS = {'title', 'text', 'image', 'content_title', 'content_author', - 'content_subtitle', 'content_genre'} + # Preset parameters that should be ignored (auto-injected by system) + PRESET_PARAMS = {'title', 'text', 'image', 'index'} # Pattern: {{param_name:type=default}} or {{param_name=default}} or {{param_name:type}} or {{param_name}} # Param name: must start with letter or underscore, can contain letters, digits, underscores diff --git a/pixelle_video/services/frame_processor.py b/pixelle_video/services/frame_processor.py index a5068be..c26a9fb 100644 --- a/pixelle_video/services/frame_processor.py +++ b/pixelle_video/services/frame_processor.py @@ -293,15 +293,9 @@ class FrameProcessor: content_metadata = storyboard.content_metadata if storyboard else None # Build ext data - ext = {} - if content_metadata: - ext["content_title"] = content_metadata.title or "" - ext["content_author"] = content_metadata.author or "" - ext["content_subtitle"] = content_metadata.subtitle or "" - ext["content_genre"] = content_metadata.genre or "" - - # Add frame index (1-based) - ext["index"] = frame.index + 1 + ext = { + "index": frame.index + 1, + } # Add custom template parameters if config.template_params: diff --git a/web/components/style_config.py b/web/components/style_config.py index 889998a..e92037d 100644 --- a/web/components/style_config.py +++ b/web/components/style_config.py @@ -521,12 +521,21 @@ def render_style_config(pixelle_video): template_path = resolve_template_path(frame_template) generator = HTMLFrameGenerator(template_path) - # Generate preview (use custom parameters from video generation section) + # Build ext dict with auto-injected parameters (same as FrameProcessor) + ext = { + "index": 1, # Preview uses index 1 + } + + # Add custom parameters from user input + if custom_values_for_video: + ext.update(custom_values_for_video) + + # Generate preview preview_path = run_async(generator.generate_frame( title=preview_title, text=preview_text, image=preview_image, - ext=custom_values_for_video if custom_values_for_video else None + ext=ext )) # Display preview