Automatic generation, platform append and retry wrote a running analysis
without the process instance, so every read marked it as 'service restarted'
while renders were still progressing. Record the instance. Real-source runs
also peaked above 500% CPU with three threads per ffmpeg stage; cap at a
quarter of the cores.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Completed variants get a Copy caption action (title plus 'Made with AutoClip'
and the repository link) for users to paste when they post. After a
successful download, at most once per project and once a week, a card asks
whether the video is usable (three levels) and invites use-case posts in
GitHub Discussions. Analytics carry only the share target and rating enums;
no text, titles or links leave the app.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sources such as WIRED interviews ship with captions burned into the picture,
and automatic output stacked a second, often misrecognized, track on top.
Detect burned captions locally from twelve lower-frame samples (bright glyphs
with dark outlines whose shape changes over time, so static logos do not
count). When found, automatic variants keep subtitles off and vertical crop
layouts fall back to the full frame so the original lines are not cut.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The registry treated 90 s as a hard cap for Douyin, TikTok, Reels and
Xiaohongshu, so legacy export truncated or rejected complete moments even
though those platforms accept much longer uploads. Split guidance
(recommended_max_duration_sec) from the hard limit (max_duration_sec). Only
YouTube Shorts keeps a hard cap, updated from 60 s to its current 180 s;
automatic Shorts variants over it are trimmed at the last subtitle sentence
end and the card says so.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Studio output uses a 1/16000 video time base while the outro was encoded with
ffmpeg defaults. Concat by stream copy kept each file's own timestamps, so the
outro's 30 frames collapsed into about 2 ms and players showed only a silent
tail. Encode the outro with the content's timescale, frame rate and audio
layout, and assert outro frames span about one second.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Replace Chinese placeholders for the quick-output flow in en, es, fr, ja, ko,
pt and ru. Platform names now come from one localized helper instead of the
backend's Chinese strategy labels, and generation skip reasons are translated.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Real-source acceptance showed a 17-minute talk producing 8 variants and a
39-minute talk producing 15, but the per-project cap of three active exports
failed the whole generation on the fourth submit. Remove the cap so the source
alone decides how many outputs exist, and queue all variants on a dedicated
single-worker render executor. ffmpeg decode, filter and encode threads are
capped at a third of the cores and run at low priority so the machine stays
usable.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Upload-Post and Bilibili accept an optional output_variant_id and reuse the
finished immutable MP4 instead of re-exporting. Landscape variants are refused
for vertical-only targets, Bilibili only accepts bilibili variants, and the
result card links each completed variant to the publish page.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Show completed immutable render jobs directly in the quick-output result cards while keeping queued and failed states actionable.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Track bounded platform generation outcomes and reuse events without content identifiers, and explain ineligible platform outputs on the results page.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reuse saved automatic drafts to produce additional platform versions without rerunning content analysis, and retry failed output variants independently from completed clips.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Finalize automatic platform variants with a one-second Made with AutoClip outro while preserving legacy manual exports. Separate branded output caching and cover video/audio preservation with ffmpeg regressions.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Let users choose destinations at import, start generation immediately, and view automatic output variants without passing through manual plan confirmation. Preserve Studio for deliberate edits.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Allow opted-in imports to produce isolated platform output variants and queue existing renders without the confirmation page. Preserve legacy confirmation behavior and aggregate variant terminal states.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Persist platform and branding choices in a versioned workspace contract while preserving the existing confirmation flow. Fix async analysis failures so error state survives exception cleanup.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Add a versioned platform strategy registry, preserve legacy export presets, and expose strategy capabilities for the upcoming quick-generation flow. Record the project diagnosis and first work-package progress.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* fix: accept shared YouTube links and recover valid timeline segments
* docs: record project review and reproducible recovery gaps
* fix: isolate timeline retries and recover rejected Studio imports
* docs: audit Studio analytics and Sentry coverage for 1.4
* fix: cover Studio telemetry and caught workflow failures
* fix: finish Windows Proactor cleanup after peer resets
Fixes PYTHON-FASTAPI-3
* docs: record Windows reset fix validation
* fix: clean Windows backend descendants and repair import thumbnails
* fix: offer explicit compatible source previews in Studio
* fix: keep compatible preview recovery available and document validation
Subtitle analysis stays the default. Optional game visual analysis,
confirm-before-cut, and sampled-frame privacy wording now match the
v1.4.0 release without claiming ad results or a fully verified Windows install.
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Kris K <zhouxiaoka@users.noreply.github.com>