AI Slop Code RIsk Monitor

AIDC-AI/Pixelle-Video

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

28.7 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for AIDC-AI/Pixelle-Video, a Python project with 28,829 GitHub stars. SynthScan examined 42,265 lines of code across 237 source files, recording 700 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 28.7 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

28.7
Adjusted Signal
28.7
Raw Pattern Score
100%
Time Factor
2026-06-14
Last Push
28.8K
Stars
Python
Language
42.3K
Lines of Code
237
Files
700
Pattern Hits
2026-10-12
Scan Date
0.22
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 48.9/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 338 finding(s).

Hallucinated Dependency & Supply Chain Risk 12.7/100 · LOW

Are imports declared and package/API names verified? 107 finding(s).

Agent Over-Engineering Ratio 50.5/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 320 finding(s).

PR Review Velocity Impact 74.3/100 · HIGH

Which changes need focused human review? 700 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 51MEDIUM 97LOW 552

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 700 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators92 hits · 336 pts
SeverityFileLineSnippetContext
MEDIUM⚡web/pipelines/digital_human.py46 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/digital_human.py48 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/digital_human.py55 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/digital_human.py57 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/digital_human.py63 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/digital_human.py65 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py51 # ====================================================================COMMENT
MEDIUMweb/pipelines/standard.py53 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/standard.py64 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/standard.py66 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/standard.py71 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/standard.py73 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/action_transfer.py48 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/action_transfer.py50 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/action_transfer.py55 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/action_transfer.py57 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/action_transfer.py62 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/action_transfer.py64 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/i2v.py47 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/i2v.py49 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/i2v.py54 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/i2v.py56 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/asset_based.py63 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/asset_based.py65 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/asset_based.py71 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/asset_based.py73 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/asset_based.py77 # ====================================================================COMMENT
MEDIUM⚡web/pipelines/asset_based.py79 # ====================================================================COMMENT
MEDIUM⚡web/utils/streamlit_helpers.py32# ============================================================================COMMENT
MEDIUM⚡web/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
MEDIUM⚡web/components/style_config.py246 # ====================================================================COMMENT
MEDIUM⚡web/components/style_config.py248 # ====================================================================COMMENT
MEDIUM⚡web/components/style_config.py689 # ====================================================================STRING
MEDIUM⚡web/components/style_config.py691 # ====================================================================STRING
MEDIUM⚡web/components/settings.py34 # ====================================================================COMMENT
MEDIUM⚡web/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
MEDIUM⚡web/components/content_input.py28 # ====================================================================COMMENT
MEDIUM⚡web/components/content_input.py30 # ====================================================================COMMENT
MEDIUM⚡web/components/content_input.py38 # ================================================================COMMENT
MEDIUM⚡web/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
LOW⚡web/components/style_config.py242 except Exception as e:CODE
LOW⚡web/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
LOW⚡web/i18n/__init__.py187 except Exception as e:CODE
LOW⚡web/i18n/__init__.py195 except Exception as e:CODE
LOW⚡web/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
LOW⚡pixelle_video/services/persistence.py193 except Exception as e:CODE
LOW⚡pixelle_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
LOW⚡web/components/style_config.py692 # Check if current template requires media generationSTRING
LOW⚡web/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
LOW⚡web/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
LOW⚡web/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
LOW⚡web/utils/streamlit_helpers.py38def check_and_warn_selfhost_workflow(workflow_path: str):CODE
LOWweb/utils/history_persistence.py32async def save_web_generation_history(CODE
LOW⚡web/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
HIGH⚡config.example.yaml83 # - static_*.html: Static style templates (no AI-generated media)COMMENT
HIGH⚡config.example.yaml84 # - image_*.html: Templates requiring AI-generated imagesCOMMENT
HIGH⚡config.example.yaml85 # - video_*.html: Templates requiring AI-generated videosCOMMENT
Structural Annotation Overuse23 hits · 38 pts
SeverityFileLineSnippetContext
LOW⚡README_EN.md228#### Step 1: Clone ProjectCOMMENT
LOW⚡README_EN.md235#### Step 2: Launch Web InterfaceCOMMENT
LOW⚡README_EN.md244#### Step 3: Configure in Web InterfaceCOMMENT
LOW⚡web/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
LOW⚡pixelle_video/pipelines/base.py43 ... # Step 1: Generate contentSTRING
LOW⚡pixelle_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
LOW⚡pixelle_video/services/video.py141 # Step 1: Concatenate videosCOMMENT
LOW⚡pixelle_video/services/video.py147 # Step 2: Add BGMCOMMENT
Empty Error Handlers7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHpixelle_video/utils/content_generators.py480except json.JSONDecodeError:CODE
HIGHpixelle_video/utils/content_generators.py489except json.JSONDecodeError:CODE
HIGHpixelle_video/utils/content_generators.py498except json.JSONDecodeError:CODE
HIGHpixelle_video/services/llm_service.py306except json.JSONDecodeError:CODE
HIGHpixelle_video/services/llm_service.py316except json.JSONDecodeError:CODE
HIGHpixelle_video/services/llm_service.py327except json.JSONDecodeError:CODE
HIGHapi/tasks/manager.py65except asyncio.CancelledError:CODE
Verbosity Indicators13 hits · 20 pts
SeverityFileLineSnippetContext
LOW⚡web/components/content_input.py29 # Step 1: Batch mode toggle (highest priority)COMMENT
LOW⚡pixelle_video/pipelines/base.py43 ... # Step 1: Generate contentSTRING
LOW⚡pixelle_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
LOW⚡pixelle_video/services/video.py141 # Step 1: Concatenate videosCOMMENT
LOW⚡pixelle_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