Dead ternary 'copy' if has_audio else 'copy' always specified acodec=copy, causing FFmpeg to fail on AI-generated videos with no audio stream. Now only adds acodec=copy when an audio stream is actually present.
PersistenceService had two delete_task definitions. The first (now removed) only deleted the directory without updating the index file, leaving stale entries. In Python the second definition overrides the first, so the first was dead code causing confusion.
asset_based.py was passing voice_id= to TTSService but the parameter is named voice=. The wrong kwarg was silently swallowed by **params, so user voice configuration was always ignored and the default voice was used instead.
Removes [project.scripts] section from pyproject.toml that pointed to pixelle_video.cli:main — a module that doesn't exist. Running the installed commands crashed with ModuleNotFoundError. The app is launched via streamlit run web/app.py.