Repository Analysis

AIDC-AI/Pixelle-Video

🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine

27.9 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of AIDC-AI/Pixelle-Video, a Python project with 25,417 GitHub stars. SynthScan v2.0 examined 42,265 lines of code across 237 source files, recording 693 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 27.9 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

27.9
Adjusted Score
27.9
Raw Score
100%
Time Factor
2026-06-14
Last Push
25.4K
Stars
Python
Language
42.3K
Lines of Code
237
Files
693
Pattern Hits
2026-07-14
Scan Date
0.19
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 44MEDIUM 97LOW 552

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 693 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators92 hits · 336 pts
SeverityFileLineSnippetContext
MEDIUMweb/pipelines/digital_human.py46 # ====================================================================COMMENT
MEDIUMweb/pipelines/digital_human.py48 # ====================================================================COMMENT
MEDIUMweb/pipelines/digital_human.py55 # ====================================================================COMMENT
MEDIUMweb/pipelines/digital_human.py57 # ====================================================================COMMENT
MEDIUMweb/pipelines/digital_human.py63 # ====================================================================COMMENT
MEDIUMweb/pipelines/digital_human.py65 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py51 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py53 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py64 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py66 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py71 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py73 # ====================================================================COMMENT
MEDIUMweb/pipelines/action_transfer.py48 # ====================================================================COMMENT
MEDIUMweb/pipelines/action_transfer.py50 # ====================================================================COMMENT
MEDIUMweb/pipelines/action_transfer.py55 # ====================================================================COMMENT
MEDIUMweb/pipelines/action_transfer.py57 # ====================================================================COMMENT
MEDIUMweb/pipelines/action_transfer.py62 # ====================================================================COMMENT
MEDIUMweb/pipelines/action_transfer.py64 # ====================================================================COMMENT
MEDIUMweb/pipelines/i2v.py47 # ====================================================================COMMENT
MEDIUMweb/pipelines/i2v.py49 # ====================================================================COMMENT
MEDIUMweb/pipelines/i2v.py54 # ====================================================================COMMENT
MEDIUMweb/pipelines/i2v.py56 # ====================================================================COMMENT
MEDIUMweb/pipelines/asset_based.py63 # ====================================================================COMMENT
MEDIUMweb/pipelines/asset_based.py65 # ====================================================================COMMENT
MEDIUMweb/pipelines/asset_based.py71 # ====================================================================COMMENT
MEDIUMweb/pipelines/asset_based.py73 # ====================================================================COMMENT
MEDIUMweb/pipelines/asset_based.py77 # ====================================================================COMMENT
MEDIUMweb/pipelines/asset_based.py79 # ====================================================================COMMENT
MEDIUMweb/utils/streamlit_helpers.py32# ============================================================================COMMENT
MEDIUMweb/utils/streamlit_helpers.py34# ============================================================================COMMENT
MEDIUMweb/components/style_config.py46 # ====================================================================COMMENT
MEDIUMweb/components/style_config.py76 # ================================================================COMMENT
MEDIUMweb/components/style_config.py78 # ================================================================COMMENT
MEDIUMweb/components/style_config.py136 # ================================================================COMMENT
MEDIUMweb/components/style_config.py138 # ================================================================COMMENT
MEDIUMweb/components/style_config.py196 # ================================================================COMMENT
MEDIUMweb/components/style_config.py198 # ================================================================COMMENT
MEDIUMweb/components/style_config.py246 # ====================================================================COMMENT
MEDIUMweb/components/style_config.py248 # ====================================================================COMMENT
MEDIUMweb/components/style_config.py689 # ====================================================================STRING
MEDIUMweb/components/style_config.py691 # ====================================================================STRING
MEDIUMweb/components/settings.py34 # ====================================================================COMMENT
MEDIUMweb/components/settings.py36 # ====================================================================COMMENT
MEDIUMweb/components/settings.py205 # ====================================================================COMMENT
MEDIUMweb/components/settings.py207 # ====================================================================COMMENT
MEDIUMweb/components/settings.py293 # ====================================================================COMMENT
MEDIUMweb/components/settings.py295 # ====================================================================COMMENT
MEDIUMweb/components/settings.py430 # ====================================================================COMMENT
MEDIUMweb/components/settings.py432 # ====================================================================COMMENT
MEDIUMweb/components/content_input.py28 # ====================================================================COMMENT
MEDIUMweb/components/content_input.py30 # ====================================================================COMMENT
MEDIUMweb/components/content_input.py38 # ================================================================COMMENT
MEDIUMweb/components/content_input.py40 # ================================================================COMMENT
MEDIUMweb/components/content_input.py112 # ================================================================COMMENT
MEDIUMweb/components/content_input.py114 # ================================================================COMMENT
MEDIUMweb/components/digital_tts_config.py31 # ====================================================================COMMENT
MEDIUMweb/components/digital_tts_config.py61 # ================================================================COMMENT
MEDIUMweb/components/digital_tts_config.py63 # ================================================================COMMENT
MEDIUMweb/components/digital_tts_config.py121 # ================================================================COMMENT
MEDIUMweb/components/digital_tts_config.py123 # ================================================================COMMENT
32 more matches not shown…
Docstring Block Structure38 hits · 190 pts
SeverityFileLineSnippetContext
HIGHpixelle_video/service.py265 Generate video using specified pipeline Args: text: Input text STRING
HIGHpixelle_video/tts_voices.py226 Convert speed multiplier to Edge TTS rate parameter Args: speed: Speed multiplier (1.0 = normal, 1STRING
HIGHpixelle_video/pipelines/base.py79 Execute the pipeline Args: text: Input text (meaning varies by pipeline) STRING
HIGHpixelle_video/utils/content_generators.py465 Parse JSON from text, with fallback to extract JSON from markdown code blocks Args: text: Text conSTRING
HIGHpixelle_video/utils/template_util.py34 Parse video size from template path Args: template_path: Template path like "templates/1080x1920/dSTRING
HIGHpixelle_video/utils/template_util.py122 List all templates available for a given size (merged from templates/ and data/templates/) Args: sSTRING
HIGHpixelle_video/utils/template_util.py145 Get full template path from size and template name (checks data/templates/ first, then templates/) Args: STRING
HIGHpixelle_video/utils/template_util.py198 Format template display information for UI Returns structured data for UI layer to handle display and i18nSTRING
HIGHpixelle_video/utils/template_util.py317 Resolve template input to full path with validation (checks data/templates/ first, then templates/) Args: STRING
HIGHpixelle_video/utils/template_util.py390 Detect template type from template filename Template naming convention: - static_*.html: Static style STRING
HIGHpixelle_video/utils/template_util.py433 Filter templates by type Args: templates: List of TemplateInfo objects template_type: TypeSTRING
HIGHpixelle_video/utils/template_util.py460 Get templates grouped by size, optionally filtered by type Args: template_type: Optional type filtSTRING
HIGHpixelle_video/utils/os_util.py331 Get resource file path with custom override support Search priority: 1. data/{resource_type}/*pathSTRING
HIGHpixelle_video/utils/os_util.py384 List resource files with custom override support Merges files from both default and custom locations: STRING
HIGHpixelle_video/utils/os_util.py432 List subdirectories in resource directory Merges directories from both default and custom locations. STRING
HIGHpixelle_video/utils/os_util.py472 Check if resource file exists (in custom or default location) Args: resource_type: Resource type (STRING
HIGHpixelle_video/utils/llm_util.py55 Fetch available models from an OpenAI-compatible API endpoint. Uses the provider models endpoint with BearSTRING
HIGHpixelle_video/utils/workflow_util.py35 Resolve workflow path using standardized naming convention Convention: workflows/{source}/{service_name}.jSTRING
HIGHpixelle_video/utils/prompt_helper.py21 Build final image prompt with optional prefix Args: prompt: User's raw prompt prefix: OptiSTRING
HIGHpixelle_video/services/comfy_base_service.py194 Resolve workflow key to workflow info Args: workflow: Workflow key (e.g., "runningSTRING
HIGHpixelle_video/services/media.py140 Generate media (image or video) using workflow Media type must be specified explicitly via medSTRING
HIGHpixelle_video/services/tts_service.py81 Generate speech using local Edge TTS or ComfyUI workflow Args: text: Text to conveSTRING
HIGHpixelle_video/services/image_analysis.py78 Analyze an image using workflow Args: image_path: Path to the image file (local orSTRING
HIGHpixelle_video/services/llm_service.py129 Generate text using LLM Args: prompt: The prompt to generate from api_STRING
HIGHpixelle_video/services/video_analysis.py78 Analyze a video using workflow Args: video_path: Path to the video file (local or STRING
HIGHpixelle_video/services/video.py312 Merge audio with video with intelligent duration adjustment Automatically handles duration misSTRING
HIGHpixelle_video/services/video.py521 Overlay a transparent image on top of video Args: video: Base video file path STRING
HIGHpixelle_video/services/video.py608 Create video from static image and audio Args: image: Image file path STRING
HIGHpixelle_video/services/video.py687 Add background music to video Args: video: Video file path bgm: BackgrSTRING
HIGHpixelle_video/services/video.py772 Internal helper to add BGM to video with path resolution Args: video: Video file pSTRING
HIGHpixelle_video/services/video.py823 Resolve BGM path (filename or custom path) with custom override support Search priority: STRING
HIGHpixelle_video/services/video.py887 Trim video to specified duration Args: video: Input video file path taSTRING
HIGHpixelle_video/services/video.py921 Pad video to specified duration by extending the last frame or adding black frames Args: STRING
HIGHpixelle_video/services/api_services/image_processor.py298 将文件上传到临时存储OSS Args: policy_data: 上传凭证数据 file_path: 本地文件路径 STRING
HIGHpixelle_video/services/api_services/image_processor.py354 上传文件到阿里云OSS并获取URL(统一接口方法) Args: file_path: 本地文件路径 Returns: STRING
HIGHpixelle_video/services/api_services/video_dashscope.py150 图生视频:提交任务 → 等待完成 → 下载到本地 Args: prompt: 视频描述提示词 image_path: 输入首帧图片本地路径 STRING
HIGHpixelle_video/services/api_services/video_client.py122 生成视频 Args: prompt: 视频描述提示词 image_path: 输入图片本地路径;DashScope wan2.7 视频续写可为空并使用 fiSTRING
HIGHapi/routers/video.py35 Convert file path to accessible URL Handles both absolute and relative paths, extracting the path relativeSTRING
Excessive Try-Catch Wrapping141 hits · 145 pts
SeverityFileLineSnippetContext
LOWpackaging/windows/build.py141 except Exception as e:CODE
LOWpackaging/windows/build.py211 except Exception as e:CODE
LOWpackaging/windows/build.py228 except Exception as e:CODE
LOWpackaging/windows/build.py655 except Exception as e:CODE
LOWweb/pipelines/digital_human.py955 except Exception as e:CODE
LOWweb/pipelines/api_workflows.py117 except Exception as exc:CODE
LOWweb/pipelines/api_workflows.py120 except Exception as exc:CODE
LOWweb/pipelines/api_workflows.py158 except Exception as exc:CODE
LOWweb/pipelines/action_transfer.py505 except Exception as e:CODE
LOWweb/pipelines/i2v.py406 except Exception as e:CODE
LOWweb/pipelines/asset_based.py636 except Exception as e:CODE
LOWweb/utils/async_helpers.py41 except Exception as e:CODE
LOWweb/utils/async_helpers.py59 except Exception as e:CODE
LOWweb/utils/batch_manager.py130 except Exception as e:CODE
LOWweb/utils/history_persistence.py27 except Exception as exc:CODE
LOWweb/state/session.py72 except Exception as e:CODE
LOWweb/components/style_config.py242 except Exception as e:CODE
LOWweb/components/style_config.py685 except Exception as e:STRING
LOWweb/components/style_config.py915 except Exception as e:STRING
LOWweb/components/settings.py173 except Exception as e:CODE
LOWweb/components/settings.py189 except Exception as e:CODE
LOWweb/components/settings.py243 except Exception as e:CODE
LOWweb/components/settings.py488 except Exception as e:CODE
LOWweb/components/content_input.py209 except Exception as e:CODE
LOWweb/components/content_input.py254 except Exception as e:CODE
LOWweb/components/faq.py56 except Exception as e:CODE
LOWweb/components/digital_tts_config.py198 except Exception as e:CODE
LOWweb/components/output_preview.py217 except Exception as e:CODE
LOWweb/i18n/__init__.py44 except Exception as e:CODE
LOWweb/i18n/__init__.py159 except Exception as e:CODE
LOWweb/i18n/__init__.py187 except Exception as e:CODE
LOWweb/i18n/__init__.py195 except Exception as e:CODE
LOWweb/i18n/__init__.py203 except Exception as e:CODE
LOWweb/i18n/__init__.py235 except Exception as e:CODE
LOWweb/pages/2_📚_History.py254 except Exception as e:CODE
LOWpixelle_video/service.py169 except Exception as e:CODE
LOWpixelle_video/service.py239 except Exception as e:CODE
LOWpixelle_video/config/loader.py45 except Exception as e:CODE
LOWpixelle_video/config/loader.py62 except Exception as e:CODE
LOWpixelle_video/pipelines/custom.py399 except Exception as e:CODE
LOWpixelle_video/pipelines/custom.py462 except Exception as e:CODE
LOWpixelle_video/pipelines/standard.py516 except Exception as e:CODE
LOWpixelle_video/pipelines/linear.py121 except Exception as e:CODE
LOWpixelle_video/pipelines/asset_based.py155 except Exception as e:CODE
LOWpixelle_video/pipelines/asset_based.py273 except Exception as e:CODE
LOWpixelle_video/pipelines/asset_based.py933 except Exception as e:CODE
LOWpixelle_video/pipelines/asset_based.py959 except Exception as exc:CODE
LOWpixelle_video/pipelines/asset_based.py989 except Exception as exc:CODE
LOWpixelle_video/pipelines/asset_based.py1028 except Exception as exc:CODE
LOWpixelle_video/pipelines/asset_based.py1053 except Exception as exc:CODE
LOWpixelle_video/utils/content_generators.py454 except Exception as e:CODE
LOWpixelle_video/utils/tts_util.py215 except Exception as e:CODE
LOWpixelle_video/utils/tts_util.py243 except Exception as e:CODE
LOWpixelle_video/utils/tts_util.py338 except Exception as e:CODE
LOWpixelle_video/utils/llm_util.py128 except Exception as e:CODE
LOWpixelle_video/services/comfy_base_service.py126 except Exception as e:CODE
LOWpixelle_video/services/media.py104 except Exception as e:CODE
LOWpixelle_video/services/media.py316 except Exception as e:CODE
LOWpixelle_video/services/persistence.py193 except Exception as e:CODE
LOWpixelle_video/services/persistence.py254 except Exception as e:CODE
81 more matches not shown…
Unused Imports104 hits · 104 pts
SeverityFileLineSnippetContext
LOWpackaging/windows/build.py24CODE
LOWweb/pipelines/digital_human.py22CODE
LOWweb/pipelines/__init__.py19CODE
LOWweb/pipelines/__init__.py19CODE
LOWweb/pipelines/__init__.py19CODE
LOWweb/pipelines/__init__.py19CODE
LOWweb/pipelines/__init__.py27CODE
LOWweb/pipelines/__init__.py28CODE
LOWweb/pipelines/__init__.py29CODE
LOWweb/pipelines/__init__.py30CODE
LOWweb/pipelines/__init__.py31CODE
LOWweb/utils/batch_manager.py16CODE
LOWweb/utils/history_persistence.py3CODE
LOWweb/components/output_preview.py17CODE
LOWweb/components/output_preview.py19CODE
LOWweb/pages/2_📚_History.py29CODE
LOWpixelle_video/__init__.py46CODE
LOWpixelle_video/__init__.py46CODE
LOWpixelle_video/__init__.py47CODE
LOWpixelle_video/config/__init__.py32CODE
LOWpixelle_video/config/__init__.py32CODE
LOWpixelle_video/config/__init__.py32CODE
LOWpixelle_video/config/__init__.py32CODE
LOWpixelle_video/config/__init__.py32CODE
LOWpixelle_video/config/__init__.py32CODE
LOWpixelle_video/config/__init__.py34CODE
LOWpixelle_video/config/__init__.py34CODE
LOWpixelle_video/pipelines/standard.py23CODE
LOWpixelle_video/pipelines/standard.py23CODE
LOWpixelle_video/pipelines/standard.py23CODE
LOWpixelle_video/pipelines/standard.py23CODE
LOWpixelle_video/pipelines/standard.py31CODE
LOWpixelle_video/pipelines/__init__.py20CODE
LOWpixelle_video/pipelines/__init__.py21CODE
LOWpixelle_video/pipelines/__init__.py21CODE
LOWpixelle_video/pipelines/__init__.py22CODE
LOWpixelle_video/pipelines/__init__.py23CODE
LOWpixelle_video/pipelines/__init__.py24CODE
LOWpixelle_video/utils/template_util.py17CODE
LOWpixelle_video/utils/template_util.py23CODE
LOWpixelle_video/prompts/image_generation.py20CODE
LOWpixelle_video/prompts/__init__.py20CODE
LOWpixelle_video/prompts/__init__.py21CODE
LOWpixelle_video/prompts/__init__.py22CODE
LOWpixelle_video/prompts/__init__.py25CODE
LOWpixelle_video/prompts/__init__.py25CODE
LOWpixelle_video/prompts/__init__.py25CODE
LOWpixelle_video/prompts/__init__.py30CODE
LOWpixelle_video/services/comfy_base_service.py22CODE
LOWpixelle_video/services/api_asset_analysis.py16CODE
LOWpixelle_video/services/media.py22CODE
LOWpixelle_video/services/tts_service.py22CODE
LOWpixelle_video/services/__init__.py29CODE
LOWpixelle_video/services/__init__.py30CODE
LOWpixelle_video/services/__init__.py31CODE
LOWpixelle_video/services/__init__.py33CODE
LOWpixelle_video/services/__init__.py34CODE
LOWpixelle_video/services/__init__.py35CODE
LOWpixelle_video/services/__init__.py36CODE
LOWpixelle_video/services/image_analysis.py22CODE
44 more matches not shown…
Over-Commented Block94 hits · 94 pts
SeverityFileLineSnippetContext
LOWconfig.example.yaml1# Pixelle-Video ConfigurationCOMMENT
LOWconfig.example.yaml81 # Determines video aspect ratio and layout styleCOMMENT
LOWweb/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/app.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/pipelines/standard.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/pipelines/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/pipelines/base.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/pipelines/asset_based.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/utils/async_helpers.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/utils/streamlit_helpers.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/utils/batch_manager.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/state/session.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/components/header.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/components/style_config.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/components/settings.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/components/content_input.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/components/faq.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/components/digital_tts_config.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/components/output_preview.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/i18n/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/pages/2_📚_History.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWweb/pages/1_🎬_Home.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/service.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/tts_voices.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/llm_presets.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/config/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/config/loader.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/config/manager.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/config/schema.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/pipelines/custom.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/pipelines/standard.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/pipelines/linear.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/pipelines/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/pipelines/base.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/pipelines/asset_based.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/content_generators.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/template_util.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/tts_util.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/os_util.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/llm_util.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/workflow_util.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/utils/prompt_helper.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/models/media.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/models/storyboard.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/models/progress.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/topic_narration.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/image_generation.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/title_generation.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/__init__.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/style_conversion.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/asset_script_generation.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/content_narration.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/prompts/video_generation.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/services/comfy_base_service.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/services/media.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/services/persistence.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/services/frame_html.py1# Copyright (C) 2025 AIDC-AICOMMENT
LOWpixelle_video/services/tts_service.py1# Copyright (C) 2025 AIDC-AICOMMENT
34 more matches not shown…
Deep Nesting59 hits · 58 pts
SeverityFileLineSnippetContext
LOWpackaging/windows/build.py76CODE
LOWpackaging/windows/build.py153CODE
LOWpackaging/windows/build.py363CODE
LOWpackaging/windows/build.py469CODE
LOWpackaging/windows/build.py475CODE
LOWweb/pipelines/digital_human.py77CODE
LOWweb/pipelines/digital_human.py128CODE
LOWweb/pipelines/digital_human.py323CODE
LOWweb/pipelines/digital_human.py424CODE
LOWweb/pipelines/digital_human.py511CODE
LOWweb/pipelines/api_workflows.py58CODE
LOWweb/pipelines/action_transfer.py73CODE
LOWweb/pipelines/action_transfer.py134CODE
LOWweb/pipelines/action_transfer.py290CODE
LOWweb/pipelines/action_transfer.py353CODE
LOWweb/pipelines/i2v.py64CODE
LOWweb/pipelines/i2v.py214CODE
LOWweb/pipelines/i2v.py264CODE
LOWweb/pipelines/asset_based.py91CODE
LOWweb/pipelines/asset_based.py168CODE
LOWweb/pipelines/asset_based.py475CODE
LOWweb/pipelines/asset_based.py521CODE
LOWweb/utils/batch_manager.py38CODE
LOWweb/components/style_config.py43CODE
LOWweb/components/settings.py24CODE
LOWweb/components/content_input.py23CODE
LOWweb/components/content_input.py190CODE
LOWweb/components/faq.py105CODE
LOWweb/components/digital_tts_config.py28CODE
LOWweb/components/output_preview.py43CODE
LOWweb/components/output_preview.py225CODE
LOWweb/i18n/__init__.py128CODE
LOWweb/pages/2_📚_History.py164CODE
LOWweb/pages/2_📚_History.py262CODE
LOWweb/pages/2_📚_History.py375CODE
LOWpixelle_video/pipelines/asset_based.py164CODE
LOWpixelle_video/pipelines/asset_based.py322CODE
LOWpixelle_video/pipelines/asset_based.py557CODE
LOWpixelle_video/utils/content_generators.py269CODE
LOWpixelle_video/utils/content_generators.py372CODE
LOWpixelle_video/utils/tts_util.py65CODE
LOWpixelle_video/utils/llm_util.py96CODE
LOWpixelle_video/services/persistence.py503CODE
LOWpixelle_video/services/frame_html.py232CODE
LOWpixelle_video/services/tts_service.py197CODE
LOWpixelle_video/services/image_analysis.py66CODE
LOWpixelle_video/services/video_analysis.py66CODE
LOWpixelle_video/services/frame_processor.py44CODE
LOWpixelle_video/services/api_services/image_processor.py140CODE
LOWpixelle_video/services/api_services/image_dashscope.py36CODE
LOWpixelle_video/services/api_services/image_dashscope.py94CODE
LOWpixelle_video/services/api_services/image_dashscope.py136CODE
LOWpixelle_video/services/api_services/video_dashscope.py51CODE
LOWpixelle_video/services/api_services/video_dashscope.py127CODE
LOWpixelle_video/services/api_services/image_client.py93CODE
LOWpixelle_video/services/api_services/vlm_client.py28CODE
LOWpixelle_video/services/api_services/image_gpt.py65CODE
LOWpixelle_video/services/api_services/image_seedream.py78CODE
LOWapi/routers/resources.py200CODE
Redundant / Tautological Comments38 hits · 57 pts
SeverityFileLineSnippetContext
LOWdocker-start.sh10# Check if config.yaml exists as a directory (Docker mount issue)COMMENT
LOWdocker-start.sh16# Check if config.yaml exists, if not, create from exampleCOMMENT
LOWdocker-start.sh37# Check if docker-compose is availableCOMMENT
LOWpackaging/windows/build.py184 # Check if path existsCOMMENT
LOWpackaging/windows/build.py202 # Check if pip is availableCOMMENT
LOWweb/pipelines/digital_human.py119 # Check if imageCOMMENT
LOWweb/pipelines/digital_human.py145 # Check if RunningHub API key is configuredCOMMENT
LOWweb/pipelines/digital_human.py379 # Check if imageCOMMENT
LOWweb/pipelines/digital_human.py921 # Display resultCOMMENT
LOWweb/pipelines/action_transfer.py114 # Check if imageCOMMENT
LOWweb/pipelines/action_transfer.py175 # Check if imageCOMMENT
LOWweb/pipelines/action_transfer.py472 # Display resultCOMMENT
LOWweb/pipelines/i2v.py120 # Check if imageCOMMENT
LOWweb/pipelines/i2v.py373 # Display resultCOMMENT
LOWweb/pipelines/asset_based.py133 # Check if image or videoCOMMENT
LOWweb/pipelines/asset_based.py202 # Check if RunningHub API key is configuredCOMMENT
LOWweb/pipelines/asset_based.py484 # Check if assets are providedCOMMENT
LOWweb/pipelines/asset_based.py600 # Display resultCOMMENT
LOWweb/utils/streamlit_helpers.py51 # Check if this is a transition TO selfhostCOMMENT
LOWweb/state/session.py60 # Check if we need to create or recreate core instanceCOMMENT
LOWweb/components/style_config.py692 # Check if current template requires media generationSTRING
LOWweb/components/settings.py26 # Check if system is configuredCOMMENT
LOWweb/components/settings.py275 # Check if instance type is "plus" (48G VRAM enabled)COMMENT
LOWweb/components/output_preview.py32 # Check if batch modeCOMMENT
LOWweb/components/output_preview.py69 # Check if system is configuredCOMMENT
LOWweb/components/output_preview.py232 # Check if topics are providedCOMMENT
LOWweb/components/output_preview.py368 # Display results summaryCOMMENT
LOWweb/pages/2_📚_History.py394 # Check if we need to show a detail viewCOMMENT
LOWpixelle_video/service.py162 # Check if we need to create or recreate ComfyKitCOMMENT
LOWpixelle_video/pipelines/standard.py299 # Check if using RunningHub workflows for parallel processingCOMMENT
LOWpixelle_video/utils/template_util.py237 # Check if it's a standard size (only these three)COMMENT
LOWpixelle_video/services/comfy_base_service.py164 # Check if it's a wrapper format (RunningHub, etc.)COMMENT
LOWpixelle_video/services/video.py389 # Check if video has audio streamCOMMENT
LOWpixelle_video/services/api_services/image_dashscope.py118 # Check if we should downloadCOMMENT
LOWpixelle_video/services/api_services/image_dashscope.py173 # Check if we should downloadCOMMENT
LOWapi/routers/files.py64 # Check if path starts with allowed prefix, otherwise try output/COMMENT
LOWapi/routers/files.py88 # Check if path starts with any allowed prefixCOMMENT
LOWapi/routers/video.py63 # Check if it's an absolute path (works for both Windows and Linux)COMMENT
Hyper-Verbose Identifiers57 hits · 56 pts
SeverityFileLineSnippetContext
LOWpackaging/windows/build.py310 def prepare_python_environment(self, python_dir: Path):CODE
LOWpackaging/windows/build.py523 def generate_launcher_scripts(self):CODE
LOWweb/pipelines/digital_human.py77 def render_digital_human_input(self) -> dict:CODE
LOWweb/pipelines/digital_human.py323 def render_digital_human_mode(self, character_asset_paths: list) -> dict:CODE
LOWweb/pipelines/digital_human.py511 async def generate_digital_human_video():CODE
LOWweb/pipelines/digital_human.py545 async def generate_api_digital_human(text: str) -> str:CODE
LOWweb/pipelines/api_workflows.py58def list_local_media_workflows(CODE
LOWweb/pipelines/api_workflows.py163def render_api_video_controls(CODE
LOWweb/pipelines/action_transfer.py73 def render_action_transfer_video_input(self, pixelle_video) -> dict:CODE
LOWweb/pipelines/action_transfer.py134 def render_action_transfer_assets_input(self, pixelle_video) -> dict:CODE
LOWweb/pipelines/action_transfer.py182 def list_action_transfer_workflows():CODE
LOWweb/pipelines/action_transfer.py353 async def generate_audio_visual_video():CODE
LOWweb/pipelines/i2v.py64 def render_audio_visual_input(self, pixelle_video) -> dict:CODE
LOWweb/pipelines/i2v.py264 async def generate_audio_visual_video():CODE
LOWweb/pipelines/asset_based.py220 def analysis_source_available(source_name: str) -> bool:CODE
LOWweb/utils/streamlit_helpers.py38def check_and_warn_selfhost_workflow(workflow_path: str):CODE
LOWweb/utils/history_persistence.py32async def save_web_generation_history(CODE
LOWweb/components/style_config.py250 def get_template_preview_path(template_path: str, language: str = "zh_CN") -> str:CODE
LOWweb/components/output_preview.py314 def make_task_progress_callback(task_idx, topic):CODE
LOWpixelle_video/service.py133 def _compute_comfykit_config_hash(self, config: dict) -> str:CODE
LOWpixelle_video/service.py254 def _create_generate_video_wrapper(self):CODE
LOWpixelle_video/llm_presets.py76def find_preset_by_base_url_and_model(base_url: str, model: str) -> str | None:CODE
LOWpixelle_video/pipelines/custom.py482 async def _custom_prompt_generation(self, context: str) -> str:CODE
LOWpixelle_video/pipelines/standard.py315 async def process_frame_with_semaphore(i: int, frame: StoryboardFrame):CODE
LOWpixelle_video/pipelines/asset_based.py963 def _extract_video_tail_frame(self, video_path: str, output_path: str) -> Optional[str]:CODE
LOWpixelle_video/utils/content_generators.py95async def generate_narrations_from_topic(CODE
LOWpixelle_video/utils/content_generators.py153async def generate_narrations_from_content(CODE
LOWpixelle_video/utils/template_util.py197def format_template_display_info(template_name: str, size: str) -> TemplateDisplayInfo:CODE
LOWpixelle_video/utils/template_util.py250def get_all_templates_with_info() -> List[TemplateInfo]:CODE
LOWpixelle_video/utils/template_util.py280def get_templates_grouped_by_size() -> dict:CODE
LOWpixelle_video/utils/template_util.py457def get_templates_grouped_by_size_and_type(CODE
LOWpixelle_video/utils/os_util.py27def get_pixelle_video_root_path() -> str:CODE
LOWpixelle_video/utils/os_util.py47def ensure_pixelle_video_root_path() -> str:CODE
LOWpixelle_video/utils/os_util.py311def get_task_final_video_path(task_id: str) -> str:CODE
LOWpixelle_video/utils/llm_util.py39def normalize_openai_base_url(base_url: str) -> str:CODE
LOWpixelle_video/prompts/topic_narration.py134def build_topic_narration_prompt(STRING
LOWpixelle_video/prompts/image_generation.py120def build_image_prompt_prompt(STRING
LOWpixelle_video/prompts/title_generation.py67def build_title_generation_prompt(content: str, max_length: int = 15) -> str:CODE
LOWpixelle_video/prompts/style_conversion.py35def build_style_conversion_prompt(description: str) -> str:CODE
LOWpixelle_video/prompts/asset_script_generation.py54def build_asset_script_prompt(CODE
LOWpixelle_video/prompts/content_narration.py80def build_content_narration_prompt(STRING
LOWpixelle_video/prompts/video_generation.py102def build_video_prompt_prompt(STRING
LOWpixelle_video/services/persistence.py407 def _content_metadata_to_dict(self, metadata: ContentMetadata) -> Dict[str, Any]:CODE
LOWpixelle_video/services/persistence.py419 def _dict_to_content_metadata(self, data: Dict[str, Any]) -> ContentMetadata:CODE
LOWpixelle_video/services/frame_html.py79 def _check_linux_dependencies(self):CODE
LOWpixelle_video/services/frame_html.py126 def _parse_media_size_from_meta(self) -> tuple[Optional[int], Optional[int]]:CODE
LOWpixelle_video/services/frame_html.py176 def parse_template_parameters(self) -> Dict[str, Dict[str, Any]]:CODE
LOWpixelle_video/services/frame_html.py344 def _discard_browser_references(cls):CODE
LOWpixelle_video/services/api_media.py582 def _is_content_inspection_error(self, exc: Exception) -> bool:CODE
LOWpixelle_video/services/api_media.py646 def _fallback_neutralize_prompt(self, prompt: str) -> str:CODE
LOWpixelle_video/services/llm_service.py210 async def _call_with_structured_output(CODE
LOWpixelle_video/services/llm_service.py262 def _get_json_schema_instruction(self, response_type: Type[T]) -> str:CODE
LOWpixelle_video/services/frame_processor.py280 async def _prepare_api_video_inputs(CODE
LOWpixelle_video/services/frame_processor.py382 async def _step_create_video_segment(CODE
LOWpixelle_video/services/api_services/video_dashscope.py430 def _is_reference_to_video_model(self, model: str) -> bool:CODE
LOWpixelle_video/services/api_services/video_dashscope.py510 def _build_reference_to_video_media(CODE
LOWpixelle_video/services/api_services/video_dashscope.py544 def _validate_media_combination(self, media: list[dict[str, str]]) -> None:CODE
Synthetic Comment Markers4 hits · 39 pts
SeverityFileLineSnippetContext
HIGHREADME_EN.md174> 💡 **Tip**: All these videos are fully automatically generated by AI just by inputting a topic keyword, without any vidCODE
HIGHconfig.example.yaml83 # - static_*.html: Static style templates (no AI-generated media)COMMENT
HIGHconfig.example.yaml84 # - image_*.html: Templates requiring AI-generated imagesCOMMENT
HIGHconfig.example.yaml85 # - video_*.html: Templates requiring AI-generated videosCOMMENT
Structural Annotation Overuse23 hits · 38 pts
SeverityFileLineSnippetContext
LOWREADME_EN.md228#### Step 1: Clone ProjectCOMMENT
LOWREADME_EN.md235#### Step 2: Launch Web InterfaceCOMMENT
LOWREADME_EN.md244#### Step 3: Configure in Web InterfaceCOMMENT
LOWweb/components/content_input.py29 # Step 1: Batch mode toggle (highest priority)COMMENT
LOWdocs/en/getting-started/quick-start.md28### Step 1: Check ConfigurationCOMMENT
LOWdocs/en/getting-started/quick-start.md41### Step 2: Enter a TopicCOMMENT
LOWdocs/en/getting-started/quick-start.md60### Step 3: Configure Voice and VisualsCOMMENT
LOWdocs/en/getting-started/quick-start.md75### Step 4: Generate VideoCOMMENT
LOWdocs/en/getting-started/quick-start.md90### Step 5: Preview VideoCOMMENT
LOWdocs/en/getting-started/installation.md43### Step 1: Clone the RepositoryCOMMENT
LOWdocs/en/getting-started/installation.md50### Step 2: Install DependenciesCOMMENT
LOWpixelle_video/pipelines/base.py43 ... # Step 1: Generate contentSTRING
LOWpixelle_video/pipelines/base.py46 ... # Step 2: Process framesSTRING
LOWpixelle_video/pipelines/asset_based.py599 # Step 1: Generate audio for each narration and combineCOMMENT
LOWpixelle_video/pipelines/asset_based.py660 # Step 2: Use FrameProcessor to generate composed frame and videoCOMMENT
LOWpixelle_video/services/frame_processor.py81 # Step 1: Generate audio (TTS)COMMENT
LOWpixelle_video/services/frame_processor.py96 # Step 2: Generate media (image or video, conditional)COMMENT
LOWpixelle_video/services/frame_processor.py119 # Step 3: Compose frame (add subtitle)COMMENT
LOWpixelle_video/services/frame_processor.py131 # Step 4: Create video segmentCOMMENT
LOWpixelle_video/services/frame_processor.py402 # Step 1: Overlay transparent HTML image on videoCOMMENT
LOWpixelle_video/services/frame_processor.py413 # Step 2: Add narration audio to the overlaid videoCOMMENT
LOWpixelle_video/services/video.py141 # Step 1: Concatenate videosCOMMENT
LOWpixelle_video/services/video.py147 # Step 2: Add BGMCOMMENT
Verbosity Indicators13 hits · 20 pts
SeverityFileLineSnippetContext
LOWweb/components/content_input.py29 # Step 1: Batch mode toggle (highest priority)COMMENT
LOWpixelle_video/pipelines/base.py43 ... # Step 1: Generate contentSTRING
LOWpixelle_video/pipelines/base.py46 ... # Step 2: Process framesSTRING
LOWpixelle_video/pipelines/asset_based.py599 # Step 1: Generate audio for each narration and combineCOMMENT
LOWpixelle_video/pipelines/asset_based.py660 # Step 2: Use FrameProcessor to generate composed frame and videoCOMMENT
LOWpixelle_video/services/frame_processor.py81 # Step 1: Generate audio (TTS)COMMENT
LOWpixelle_video/services/frame_processor.py96 # Step 2: Generate media (image or video, conditional)COMMENT
LOWpixelle_video/services/frame_processor.py119 # Step 3: Compose frame (add subtitle)COMMENT
LOWpixelle_video/services/frame_processor.py131 # Step 4: Create video segmentCOMMENT
LOWpixelle_video/services/frame_processor.py402 # Step 1: Overlay transparent HTML image on videoCOMMENT
LOWpixelle_video/services/frame_processor.py413 # Step 2: Add narration audio to the overlaid videoCOMMENT
LOWpixelle_video/services/video.py141 # Step 1: Concatenate videosCOMMENT
LOWpixelle_video/services/video.py147 # Step 2: Add BGMCOMMENT
Modern Structural Boilerplate15 hits · 15 pts
SeverityFileLineSnippetContext
LOWweb/pipelines/__init__.py33__all__ = [CODE
LOWpixelle_video/__init__.py51__all__ = ["PixelleVideoCore", "pixelle_video", "config_manager"]CODE
LOWpixelle_video/config/__init__.py39__all__ = [CODE
LOWpixelle_video/pipelines/__init__.py26__all__ = [CODE
LOWpixelle_video/utils/template_util.py30logger = logging.getLogger(__name__)CODE
LOWpixelle_video/prompts/__init__.py33__all__ = [CODE
LOWpixelle_video/services/__init__.py41__all__ = [CODE
LOWpixelle_video/services/api_services/video_seedance.py13logger = logging.getLogger(__name__)CODE
LOWpixelle_video/services/api_services/video_dashscope.py24logger = logging.getLogger(__name__)CODE
LOWpixelle_video/services/api_services/vlm_dashscope.py18logger = logging.getLogger(__name__)CODE
LOWpixelle_video/services/api_services/video_kling.py21logger = logging.getLogger(__name__)CODE
LOWpixelle_video/services/api_services/video_client.py22logger = logging.getLogger(__name__)CODE
LOWapi/routers/__init__.py28__all__ = [CODE
LOWapi/tasks/__init__.py20__all__ = ["Task", "TaskStatus", "TaskType", "task_manager"]CODE
LOWapi/schemas/__init__.py35__all__ = [CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHdocs/zh/reference/config-schema.md11 api_key: "your-api-key"CODE
HIGHdocs/en/reference/config-schema.md11 api_key: "your-api-key"CODE
AI Structural Patterns8 hits · 8 pts
SeverityFileLineSnippetContext
LOWpixelle_video/pipelines/custom.py81CODE
LOWpixelle_video/pipelines/asset_based.py87CODE
LOWpixelle_video/services/media.py118CODE
LOWpixelle_video/services/api_services/video_dashscope.py127CODE
LOWpixelle_video/services/api_services/image_client.py20CODE
LOWpixelle_video/services/api_services/video_kling.py153CODE
LOWpixelle_video/services/api_services/video_client.py31CODE
LOWpixelle_video/services/api_services/video_client.py95CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMpixelle_video/pipelines/asset_based.py635 # Create a file list for FFmpeg concatCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMapi/dependencies.py59# Type alias for dependency injectionCOMMENT
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpixelle_video/services/video.py439 # Video is silent, just add the audioCOMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpixelle_video/services/llm_service.py102 or "dummy-key" # Ollama doesn't need real keyCODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWapi/tasks/manager.py105 async def execute_task(CODE