P1: 多预览视频独立标题 — 每个预览视频分别设置标题 #1282
Closed
opened 2026-08-07 20:46:42 +08:00 by xiaoxia
·
0 comments
No Branch/Tag Specified
main
develop
feat/title-drag-position
fix/smart-match-empty-results
fix/prebake-ffmpeg-ci-image
fix/cache-continue-on-error
fix/auto-approve-contexts
fix/buildx-web-cache-bust
fix/ci-cache-robustness
fix/check-push-paths-no-checkout
fix/ci-check-push-paths-checkout
fix/deploy-staging-skip-bug
ci/pipeline-speedup-batch2
feat/product-inline-player
ci/transient-fault-auto-retry
ci/image-content-verification
ci/selfcheck-zombie-run-and-dedupe
ci/fix-scheduled-jobs-zombie-timeout
fix/test-hevc-mock-no-sysmodules
fix/ingest-jobs-404-not-found
feat/segment-duplication-control
feat/persist-used-segments
chore/remove-random-asset-mode
fix/e2e-6step-generate-flow
fix/audio-mime-inference
fix/cover-from-final-video
feat/merge-step4-step5
fix/asset-thumbnails
fix/thumbnail-v2
fix/thumbnail-url-not-saved
fix/title-position-default-top
feat/from-assets-by-template-segments
feat/mediakit-smart-clip-selection
fix/restore-backend-files
fix/cross-task-segment-dedup
fix/ui-template-thumb-and-material-grid
fix/cover-title-consistency
fix/voice-library-id-passthrough
fix/mark-clips-ready-after-from-assets
fix/ass-fontsize-compensation-1.35
fix/call-clips-from-assets
fix/font-name-map-noto-sans-sc
fix/restore-preview-step4-5-step7-video
fix/editor-clips-random-start-time
fix/remove-preview-and-generate-count
fix/title-line-height
fix/title-margin-top-120
fix/title-size-max-128
fix/preview-coord-system
fix/title-fullwidth-slash
fix/voice-preview-materials-v2
fix/voice-preview-materials
fix/preview-resolution
feat/server-rendered-preview
fix/source-edit-plan-id-v2
chore/cleanup-template-editor-generation
feat/sync-edit-plan-clips
refactor/worker-use-edit-plan-clips
fix/cover-title-style-e2
fix/batch-writeback-once
fix/edit-flow-data-chain
fix/cover-ffmpeg-title-overlay
fix/mediakit-completed-status
fix/cover-mediakit-timeout
fix/cover-extract-from-source-asset
fix/webcodecs-decode-failure-fallback
feat/hevc-auto-transcode
fix/ai-code-review-blocking-v2
fix/ai-code-review-blocking
fix/hevc-description
fix/infinity-samples
fix/all-canvas-issues
fix/promise-timeout
fix/demux-async
fix/optional-chaining-safety
fix/frontend-segment-extraction
fix/canvas-description-cache-and-keyframe
fix/fullbox-offset-and-title-split
fix/preview-player-4-issues
fix/canvas-black-screen-voice-validation
fix/canvas-player-issues
fix/preview-player-v8
fix/preview-player-v7
fix/preview-player-v5
fix/preview-player-v4
fix/preview-player-v3
fix/preview-player-v2
fix/preview-player-playback-and-title
fix/assets-batch-endpoint
fix/usePreviewAssets-infinite-loop
fix/token-refresh-bugs
cleanup/remove-unused-preview-props
refactor/frontend-preview-player
fix/cover-url-in-finalize
feat/upload-cover-and-title-in-generate
fix/batch-download-session-flaky-v2
fix/test-clip-mock-fields
feat/title-style-panel-to-step5
fix/flaky-batch-download-session-test
fix/clips-api-response-structure
fix/proactive-token-refresh
fix/token-refresh-test-fix
feat/clips-asset-url
fix/canvas-video-resolution-match
fix/worker-cjk-fonts
fix/preview-title-render
fix/cover-extract-frames
fix/render-bool-config-crash
fix/restore-showTitlePreview-prop
fix/ts-errors-pr1382
fix/bool-config-crash
fix/e2e-step-order-adapt
feat/title-preview-right-panel
fix/title-config-param-mapping
feat/title-preview-canvas-v2
fix/auto-merge-ai-review-check
fix/cover-title-overlay
fix/cover-title-asr-path
fix/cover-500-logger-and-source-plan-fallback
fix/flaky-test-batch-download
fix/auto-format-merge-commit-consistency
fix/cover-generation-unify
fix/custom-title-render
fix/video-ratio-resolution-parsing
fix/cover-templates-double-encoded-config
fix/api-ffmpeg-missing
fix/double-slash-oss-path
fix/cover-types-import-paths
refactor/decouple-cover-types-from-editing-planner
optimize/cover-generation-speed
fix/cover-issues-1341
fix/confirm-api-path-1341
fix/cover-error-logging-1347
fix/remove-unused-useRef-import
fix/cover-generation-issues-1341
fix/totalDuration-duplicate-develop
feat/cover-generation-ui-1341
fix/cover-generation-progress-modal
fix/remove-selected-template-text
feature/unify-preview-confirm-render-path
fix/generate-fallback-user-assets
fix/worker-entrypoint-w-flag
fix/cover-stub-placeholder-url
fix/cover-field-name-1317
fix/thumbnail-yuv-format
fix/cover-templates-error-handling
feat/cover-templates-api-integration
feat/cover-settings-redesign
fix/audio-only-clips-in-filter-complex
fix/preview-voice-ids-fallback
fix/confirm-generation-api-develop
fix/sync-confirm-api-to-develop
fix/issue-1294-preview-voiceover-asr-fallback
fix/issue-1294-preview-voiceover-asr-init
fix/worker-concurrency-default-4
fix/auto-approve-skipped-status
fix/e2e-title-input-timing
bugfix/1294-preview-voice-injection
fix/e2e-title-placeholder-v2
fix/ci-lower-coverage-threshold
fix/e2e-title-placeholder
fix/preview-improvements
feature/1286-preview-count-validation-and-worker-concurrency
bugfix/1286-staging-ci-shell-quoting
feature/1286-can-generate-auto-repair
bugfix/1286-staging-ci-tests-fix
fix/ci-concurrency-lock
feature/1280-preview-generation-speedup
fix/staging-tests-npm-retry
feature/1256-random-asset-selection-preview
feat/issue-1256-auto-smart-match
fix/quota-test-wave78-pro-sync
feat/upload-voice-modal-visual
feat/remove-result-panel-and-plan-info
fix/quota-pro-tier-fallback
fix/asset-create-optional-project-id
feature/integrate-cover-generation
fix/step6-cover-ratio-label
feat/step4-title-autocomplete
fix/canvas-titlecentering-v2
fix/skip-source-audio-in-mix
feat/no-video-cleanup-and-centering-fix
feat/title-preview-canvas
feat/unify-asset-selection
fix/pip-removal-and-title-wrap
fix/preset-font-preview
fix/preview-strategy-id-from-template
fix/title-preview-overlay
fix/preview-generation-3-issues
fix/1221-auth-401-interceptor
feat/preset-voice-previews-round2
feat/preset-voice-previews
feat/mediakit-ai-cover-1208
fix/download-assets-allow-asset-ids-only
feat/preview-generation-1197
feat/voice-clone-preview-1195
refactor/bind-contact-modal-split
test/wave207-inmemory-small-repos
test/wave219-template-clip-config
refactor/asset-selector-split
test/wave218-batch-download
test/wave214-text-splitter
test/wave213-bind-contact
test/wave212-login-use-case
test/wave211-password-reset
test/wave210-verification-code
test/wave209-jwt-auth
test/wave203-bgm-mixer-pure
test/wave202-multi-track-mixer-pure
test/wave200-pip-engine-pure
test/wave191-edit-template
test/wave208-password-auth
test/wave206-inmemory-repos
test/wave205-path-security
test/wave204-text-splitter-pagination
test/wave201-concat-engine-pure
refactor/generate-video-split
test/wave199-sticker-engine-pure
refactor/video-player-hook
test/wave198-shared-ai-service
test/wave196-auth-session-store
test/wave197-asset-compat
test/wave195-verification-code
test/wave194-tts-config
test/wave193-video-share
test/wave192-media-validation
refactor/generate-form-state
test/wave190-preset-voices
test/wave189-preset-bgm
test/wave188-video-concat
test/wave187-speed-config
test/wave186-subtitle
refactor/task-table
test/wave185-audio-track-config
test/wave184-intro-outro-config
test/wave183-voice-presets
test/wave182-config-schemas
fix/develop-unit-tests-failure
fix/frontend-unit-test-smoke-test
fix/ci-unit-test-coverage-threshold
fix/tts-panel-voices-api-v2
fix/voice-clone-preview-play-1195
test-branch-123
fix/main-deploy-staging-manual
merge/develop-ci-scripts
fix/vitest-exclude-e2e
test/wave173-pip-config
fix/ci-staging-deploy-and-notify-0728
fix/ci-production-build-bugs-0728
fix/preview-cleanup-ssh-default
fix/daily-check-outputs
fix/auto-merge-short-job
fix/build-production-needs-tests
fix/pr-path-filter-skip
fix/code-review-ci-gate
test/wave164-filter-presets
fix/pr-automation-concurrency
fix/ci-pr-automation-optimization-0728
refactor/generate-result-panel
test/wave163-watermark-config
refactor/step6-cover-settings
test/wave162-asset-scoring
refactor/use-product-actions
test/wave161-domain-entities
test/wave160-job-domain
refactor/use-timeline-menus
refactor/step7-confirm
refactor/use-step5-voice
test/wave140-watermark-config
test/wave139-url-security
test/wave159-template-clip-config
test/wave158-edit-plan
test/wave157-domain-small-modules
test/wave156-generation-task
test/wave155-generated-video
test/wave154-classification
test/wave153-edit-plan-clip
fix/ci-p1-p2-optimizations-0728
test/wave152-duplication
test/wave151-quota
fix/clone-upload-422-and-types-path
test/wave172-color-grade-config
test/wave171-subtitle-style
test/wave170-chroma-key-config
test/wave169-ass-subtitle-builder
test/wave168-transition-presets
test/wave167-sticker-config
test/wave166-plan-generator-utils
refactor/green-screen-panel
test/wave165-trim-config
refactor/clip-mutations
fix/ci-p0-bugs-0728
refactor/material-form
refactor/clone-voice-card
refactor/tag-selector
fix/voice-material-types-path
refactor/use-voice-material-actions
fix/ruff-config-pyproject
test/wave144-tts-job
test/wave142-transition-presets
fix/ci-gate-exit-code-develop
fix/ci-gate-exit-code-main
fix/auto-fix-loop-detection
refactor/asset-selector
refactor/generate-video-hook
test/auto-format-verify-0727
refactor/voice-materials-p4
feature/ai-review-status
refactor/use-voice-materials-split
refactor/voice-library-deepen
refactor/generate-page-phase1
refactor/router-split
refactor/my-voices
refactor/clone-modal
refactor/title-library
refactor/timeline-panel-phase3-pr
feature/ai-review-status-develop
feature/auto-fix-all-prs-develop
test/wave132-wechat-oauth-unit
test/ci-format-auto-fix-0727
test/wave131-password-hasher
test/wave130-jwt-service
test/wave129-asset-scoring
test/wave128-url-security
test/wave127-template-data-unit
test/wave126-small-domain-unit
test/wave125-entities-unit
test/wave124-quota-unit
test/wave123-job-unit
refactor/asset-operations-hook
test/wave117-speed-config
feature/auto-fix-all-prs
test/wave118-chroma-key-config
test/wave119-noise-reduction-config
test/wave120-ass-subtitle-builder
test/wave121-xfade-builder
test/wave122-trim-config
test/wave91-generation-plan-builder
test/wave92-asset-scoring
test/wave93-duplication-domain
test/wave94-media-validation
test/wave95-domain-entities
test/wave96-job-domain
test/wave97-quota-domain
test/wave98-preset-bgm
test/wave99-small-domain-modules
refactor/duplication-detail
refactor/upload-voice-modal-split
refactor/product-detail
refactor/task-history
refactor/bgm-selector-split
refactor/use-clip-operations-split
refactor/template-management-hook
refactor/asset-library-deepen
refactor/duplication-results-split
refactor/clip-detail-section-split
refactor/layer-config-split
refactor/cover-selector-split
refactor/template-editor-api
refactor/assets-api
refactor/editing-planner-api
refactor/voice-clone-api
refactor/tts-api
refactor/products-api
refactor/templates-api
refactor/voices-api
refactor/tasks-api
refactor/titles-api
refactor/subscription-api
refactor/duplication-api
refactor/bgm-projects-tags-api
refactor/task-center
refactor/voice-clone-page
refactor/home-page
refactor/template-library
refactor/step5-voice-hook
refactor/editing-drawers
refactor/use-step4-title-split
refactor/use-edit-plan-clips-split
refactor/editing-planner-deepen
refactor/editing-planner-types-split
refactor/product-library-deepen
refactor/upgrade-subscription-split
fix/test-agent-docs-path
fix/ci-daily-check-dood-mount
fix/ci-daily-check-shell-bash
refactor/my-templates-split
fix/ci-format-cleanup-20260727
test/wave116-trim-config
test/wave115-watermark-config
test/wave114-color-grade-config
test/wave113-transition-config
test/wave112-intro-outro-config
test/wave111-audio-track-config
test/wave110-pip-config
test/wave90-plan-generator-utils
test/wave88-streaming-service
test/wave109-sticker-config
test/wave108-ai-parsing
test/wave107-subtitle-style
test/wave106-video-concat-config
test/wave105-render-layer-utils
test/wave104-template-clip-converter
test/wave100-application-modules
test/wave103-clip-operations
test/wave101-video-filter-builder
pr-932
test/wave102-template-effect-mapper
sync/ci-scripts-to-main-20260726
fix/frontend-lint-clip-type-import
test/wave89-asset-analyzer-split
test/wave87-worker-deep-coverage
refactor/editing-planner-round2
fix/ci-monitor-workflows-909-910-911
fix/ci-daily-check-hardcoded-creds-912
fix/ci-acr-cleanup-pr-days-908
fix/ci-code-quality-905-914
fix/ci-preview-deploy-907
refactor/timeline-panel-phase1-pr
refactor/timeline-panel-phase1
refactor/product-library-phase3-final
fix/ci-unit-tests-collection-906
refactor/product-library-phase2-pr
refactor/product-library-phase1
refactor/editing-planner-phase3
refactor/editing-planner-phase1
test/wave86-worker-layer-coverage
test/wave80-module-registry-subtitle-more
test/wave85-exceptions-bgm-utils-subtitle-deep
test/wave84-classification-tts-config-entities-more
test/wave83-generated-video-verification-video-share-more
test/wave82-exceptions-template-generated-video-more
test/wave81-filter-transition-voice-presets-more
test/wave79-subtitle-generator-text-splitter-more
test/wave78-duplication-domain
test/wave75-more-domain-utils
test/wave77-generation-task-more-domain
test/wave76-tts-job-state-machine
test/wave74-classification-bgm-utils-subtitle
refactor/asset-library-phase2
fix/052-generation-task-bgm-config-migration
fix/dedup-pure-test-db-import
refactor/voice-library-phase3
feat/ci-canary-release
feat/ci-sync-renovate-to-main
test/wave70-dedup-render-subtitles-tts-engine
test/wave56-worker-more-engines
refactor/voice-library-phase1
chore/ci-acr-cleanup-main-sync
chore/ci-acr-cleanup-enhance
chore/ci-migration-upgrade-sync-main
chore/ci-migration-validation-upgrade
test/wave61-title-library-config-base
test/wave58-in-memory-repositories
fix/ci-preview-deploy-npm-ci
fix/ci-worker-cache-optimization
fix/staging-shell-sh-to-bash-main
fix/staging-shell-sh-to-bash
fix/ruff-f841-b007-detector
fix/ruff-f401-cleanup
test/unit-test-wave35
ci/port-env-cleanup
chore/sync-main-ci-config
refactor/unified-enums
fix/staging-e2e-container-cleanup
fix/ci-systematic-p0-round2
fix/jwt-tampered-test-flaky
fix/black-format-ai-files
fix/ci-staging-e2e-dood
fix/wechat-callback-token-order
fix/ci-systematic-p0-fix
fix/ci-worker-base-registry
fix/code-quality-black-format
fix/ruff-format-2files
feat/p3-1-tts-job-tests
feat/p3-1-auth-handlers-tests
feat/p3-1-wechat-oauth-tests
feat/video-share-backend
fix/ai-review-critical-match
emergency-disk-cleanup
fix/ci-simplify-merge-speed
fix/ci-integration-oom-workers
fix/flaky-jwt-tampered-test
fix/462-pass-through-watermark
test/p3-1-wave29-template-use-cases-tests
fix/633-virtual-clip-transition-duration
test/p3-1-wave26-tts-workflow-tests
test/p3-1-wave23-cosyvoice-service-tests
test/p3-1-wave24-register-password-reset-tests
test/p3-1-wave28-cosyvoice-service-tests
fix/login-token-order-bug
fix/ci-architecture-bugs-3items
test/p3-1-wave9-auth-service-tests
test/p3-1-wave7-entities-domain-tests
feat/ci-pytest-xdist-parallel
feat/p3-1-validation-utils-tests
feat/p3-1-module-registry-tests
feat/p3-1-text-splitter-tests
fix/ci-auto-merge-short-job-mode
fix/auto-merge-no-approval-needed
fix/vitest-related-flag-bug
fix/worker-build-dood-fallback
ci/repeated-failure-detection
ci/validate-parallelization-phase2
fix/auto-fix-ci-skip
ci/failure-diagnosis-enhanced
ci/validate-parallelization
ci/worker-layered-cache
fix/check-ci-status-order
ci/autofix-distinguish-agent
ci/cache-optimization-plus
fix/558-wechat-login-fixes
feat/558-wechat-login-polish
test/unit-test-coverage-p3-batch2
opt/restore-registry-cache-to
p2-6-ci-health-daily
fix/frontend-ts-error-message-type
fix/ci-autoapprove-match-branch-protection
fix/ci-autofix-checkout-force
fix/ci-p02-checkout-retry
fix/ci-black-format-worker
fix/549-preset-voice-one-click-gen
fix/ci-p01-preview-ssh-key
fix/ci-pg-container-ip
feature/agentloop-ci-trace
feat/smart-edit-flow-restructure
feat/smart-edit-cover-migration
feat/frontend-coverage-phase3
feat/frontend-coverage-phase2
fix/p1-preset-voice-no-sound
ci/fix-frontend-test-exclude-e2e
fix/p1-asset-list-status-and-pagination
fix/asset-batch-delete-crash
test/cleanup-verify
test/preview-e2e-verify
fix/hevc-encoding-filter-and-auto-select
ci/p1-4-preview-environment
fix/download-asset-storage-key
ci/p1-3-coverage-gate
ci/fix-auto-approve-sha-and-scheduling
ci/fix-scheduling-and-sha
ci/fix-scheduling-label-mismatch
ci/fix-build-review-prompt
fix/docker-login-v2
fix/docker-login-yaml
feature/p1-2-edit-plan-render-link
test/auto-merge-verify
test/ci-trigger-rebase-verify
test/auto-approve-validation
feat/ci-auto-approve
fix/buildx-builder-name-conflict
fix/auto-merge-token
fix/registry-login-v3
fix/registry-login-v2
fix/ci-build-registry-login
feature/ai-code-review
feat/ci-frontend-path-filter
fix/migration-safety-push-event
feat/runner-layered-scheduling
feat/staging-auto-rollback
feat/registry-retry-stability
feat/ci-deploy-concurrency
feat/ci-concurrency-fix
fix/ci-validate-pg-container
feat/ci-validate-isolated-pg
feat/save-plan-as-template
feat/frontend-ci-speedup
ci/runner-diagnose
feat/edit-plan-clips-api
fix/voice-clone-ssrf
fix/migration-safety-reliability
fix/edit-plan-resume-editing
fix/mypy-hardgate
feat/mypy-incremental
fix/task-id-prefix-polling
fix/generation-put-status-restriction
debug/ci-build-runs-on
fix/ci-disable-registry-cache-to
fix/ci-build-checkout-print
debug/ci-build-schedule
fix/runner-build-verify
test/runner-build-verify
test/build-farm-label
fix/ci-build-checkout-parser
fix/ci-build-checkout-syntax
fix/ci-build-yaml
feat/split-build-workflow-v2
chore/cleanup-main-workflows
feat/acr-registry-migration
feat/split-build-workflow
feat/ci-runner-saas-label
fix/add-result-count-migration
fix/matrix-run-newline
ci/matrix-build-parallelism
feature/product-center-ui-upgrade
fix/hard-cut-use-concat
fix/b007-unused-loop-var
fix/b011-assert-false
ci/local-cache-optimization
fix/migration-diff-ci
fix/frontend-lint-cache-validation
ci/registry-cache-stability-fix
fix/edit-plan-p0-asset-ids-and-p1-fixes
fix/incremental-scan-api-based
fix/unified-render-black-format
fix/ci-incremental-scan-api-based
fix/edit-plan-result-count-and-logs
fix/prettier-format-frontend
fix/ci-trigger-branch-patterns
perf/web-build-cache-p1
fix/eslint-npx-version-mismatch
feat/ci-incremental-lint
feat/ruff-replace-flake8
fix/frontend-lint-npx-local
fix/worker-pythonpath
feat/worker-image-slimming
fix/staging-ssh-deploy-call
fix/staging-ssh-syntax
feat/staging-ssh-deploy
fix/code-quality-batch1
fix/ci-bot-fix-pr
feat/production-healthcheck
fix/tech-debt-security-round2
feat/staging-healthcheck-ci-v2
temp-clean-npm-cache
feat/ci-notify-final
fix/frontend-type-debt-round2
fix/deploy-notify-continue-on-error
fix/render-engine-security-p0-p1
feat/ci-notify-card-and-cache
feature/task-center-page
feat/ci-p2-optimization
fix/pr312-security-debt-p1
feat/ci-runner-layered
feat/staging-healthcheck-ci
fix/ci-buildx-builder
feat/ci-parallel-build
feat/multi-track-mix-subtitle-concat
feat/changelog-auto-generate
docs/audit-report-20260714
feat/runner-label-routing
ops/runner-labels
feat/release-scripts-clean
fix/deploy-production-ssh-key
feat/ci-security-scans
feat/release-scripts
feat/video-speed-control
fix/e2e-unroute-all-stability
feat/cover-reverse-sticker
feat/transition-engine
fix/stub-generation-task-repository-filtered-methods
feat/video-trimming
feat/chroma-key-and-noise-reduction
feat/watermark-intro-outro
feat/bgm-mixing
feat/picture-in-picture
feat/tts-voiceover
feat/template-and-plan-backend
fix/build-script-grep-set-e
feat/color-grading-engine
feat/asr-auto-subtitles
feat/video-center-backend
feat/asset-batch-operations
fix/build-cache-to-driver
fix/e2e-disable-gpu
fix/build-cache-tag
fix/delete-204-response-body
fix/ci-quick-fix
ops/downgrade-runners
cleanup/phase4-backend-p0
bugfix/pip-break-system-packages-env
cleanup/phase4-frontend-p2
test-ci-verification
fix/format-all-black-isort-flake8
feature/ci-verification
cleanup/phase4-frontend-p0p1
ops/register-saas-runners
fix/ci-runs-on-label
fix/black-isort-format-fix
fix/ci-pip-and-concurrency
fix/pip-break-system-packages-compat
ops/install-cmd-agent
fix/pip-compatibility-all-runners
cleanup/phase3-frontend
feat/ci-security-scanning
feat/frontend-build-gate
fix/black-format-check-migration-safety
ci/migration-safety-mypy
ci/unify-cicd-config
docs/ci-runner-planning
feat/npm-audit-frontend
cleanup/phase3-backend
cleanup/phase2-backend
fix/runner-labels
cleanup/phase2-frontend
ci/deploy-script-versioning
feat/ci-vulture-dead-code
feat/build-optimization
feat/frontend-cache-optimization
fix/redis-url-config
feat/render-metrics
cleanup/phase1-backend-v2
cleanup/frontend-phase1-v2
fix/develop-black-format
cleanup/phase1-backend
fix/generation-task-feature-flag
cleanup/frontend-phase1
feat/docker-cache-branch-isolation
feat/ci-pr-gate-optimization
feat/stream-copy-optimization
fix/ffmpeg-timeout-protection
feat/internal-render-download-api
fix/dedup-float32-json
fix/render-compare-p1
fix/render-edit-plan-bugs
feature/fix-format-render-adapter
feat/unified-render-phase2
feat/unified-render-phase1
feat/ci-notify-all-jobs-v2
feat/ci-notify-all-jobs
fix/asset-status-enum-compat
fix/generation-project-asset-download
ci/runner-fix
fix/classification-status-done-enum
ci/runner-label-fix
debug/cmd-agent
temp/runner-expander
temp/cmd-agent-fix
temp/expand-runner
feat/ci-split-v2
feat/ci-split-integration-tests
fix/voice-clone-source-audio-url-sign
feat/task-queue-rate-limit
fix/voice-clone-integration-test-assertions
feat/ci-coverage-gate-and-notify
fix/ci-validate-cache-exclude
debug/cosyvoice-418-request-logging
fix/cosyvoice-v3-flash-model
fix/generation-task-enqueue-failure
fix/cosyvoice-v3-voice-names
fix/cosyvoice-full-rewrite
feature/generation-logging-minimal
fix/p02-deep-root-cause
fix/p03-fps-setpts-order
fix/p02-oss-credential-validation
feat/worker-concurrency-env
fix/p02-p03-deep-fix
fix/generated-video-url-403
fix/oneclick-gen-p0-fixes
fix/ingest-job-library-id-length
feat/app-version-in-dockerfile
fix/cryptography-version
fix/generation-task-status
feature/ci-optimization
feature/test-quality
feature/ci-full-audit-fix
feature/optimize-docker-tags
feat/use-local-registry-mirrors
feat/add-p1-api-tests
feat/add-p1-e2e-tests
feat/add-daily-health-check
feat/add-performance-baseline
feat/add-p0-e2e-tests
fix/chunked-upload-route-order
feat/add-p0-api-tests
fix/config-standardization
feat/editing-planner-frontend
fix/editing-planner-mock-data
feat/video-editing-modes-design
v0.1.130
v0.1.129
v0.1.128
v0.1.127
v2.1.0-test.9
v2.1.0-test.8
v2.1.0-test.7
v2.1.0-test.6
v2.1.0-test.4
v2.1.0-test.3
v2.1.0-test.2
v2.1.0-test.1
v0.1.126
v0.1.125
v0.1.124
v0.1.123
v0.1.122
v0.1.121
v0.1.120
v0.1.119
v0.1.118
v0.1.117
v0.1.116
v0.1.115
v0.1.114
v0.1.113
v0.1.112
v0.1.111
v0.1.110
v0.1.109
v0.1.108
v0.1.107
v0.1.106
v0.1.105
v0.1.104
v0.1.103
v0.1.102
v0.1.101
v0.1.99
v0.1.91
v0.1.89
v0.1.88
v0.1.87
v0.1.86
v0.1.85
v0.1.84
v0.1.83
v0.1.82
v0.1.81
v0.1.80
v0.1.79
v0.1.78
v0.1.77
v0.1.76
v0.1.75
v0.1.74
v0.1.72
v0.1.71
v0.1.70
v0.1.69
v0.1.68
v0.1.66
v0.1.65
v0.1.60
v0.1.59
v0.1.58
v0.1.57
v0.1.56
v0.1.55
v0.1.54
v0.1.53
v0.1.52
v0.1.51
v0.1.50
v0.1.49
v0.1.48
v0.1.47
v0.1.46
v0.1.45
v0.1.44
v0.1.43
v0.1.42
v0.1.41
v0.1.40
v0.1.39
v0.1.38
v0.1.37
v0.1.36
v0.1.35
v0.1.34
v0.1.33
v0.1.32
v0.1.31
v0.1.30
v0.1.29
v0.1.28
v0.1.27
v0.1.26
v0.1.25
v0.1.24
v0.1.23
v0.1.22
v0.1.21
v0.1.20
v0.1.19
v0.1.18
v0.1.17
v0.1.16
v0.1.15
v0.1.14
v0.1.13
v0.1.12
v0.1.11
v0.1.10
v0.1.9
v0.1.8
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: xiaoxia/xiaoxia-saas#1282
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
需求概述
支持用户一次性生成多个预览视频,每个视频有独立的标题、配音、封面。单视频模式下体验与现有完全一致。
核心设计
生成数量提前到第1步
素材共用,AI随机剪辑
配音灵活配置
标题与预览合并为一步
每个预览独立封面
确认生成
步骤流程
新6步流程:
单视频模式下与现有7步流程体验一致(只是标题和预览合并为一步,步骤数减少)。
技术实现要点
已确认的现有架构
<video>上需要改动
前端
Step1 模板选择
步骤调整
数据结构
previewCount: number(全局状态,第1步确定)previewTitles: string[](每个预览的标题文字,长度=previewCount)previewCovers: CoverConfig[](每个预览的封面,长度=previewCount)titleSettings保持单个对象(字体、颜色、位置、大小等样式全局共享)voiceLibraryId: string共用模式,或voiceLibraryIds: string[]独立模式Step3 配音
新Step4 标题+预览
Step5 封面
Step6 确认生成
后端
预览生成接口 (
/generation/preview)preview_count参数,批量创建N个预览任务voice_library_id(独立配音模式)封面生成接口 (
/generation/generate-cover)task_id(指定哪个预览视频)和title_text(该预览的标题)正式生成接口
AI剪辑随机性
验收标准
相关代码
前端
apps/web/src/pages/generate/constants.ts— 步骤定义apps/web/src/pages/generate/GeneratePage.tsx— 主页面状态管理apps/web/src/pages/generate/components/GenerateStepContent.tsx— 步骤内容路由apps/web/src/pages/generate/components/Step1TemplateSelect.tsx— 模板选择(需加数量选择器)apps/web/src/pages/generate/components/Step5VoiceSelect.tsx— 配音选择(需支持独立模式)apps/web/src/pages/generate/components/Step4TitleSettings.tsx— 标题设置(需重构)apps/web/src/pages/generate/components/Step5GeneratePreview.tsx— 预览展示(需与标题合并)apps/web/src/pages/generate/components/Step6CoverSettings.tsx— 封面(需支持多封面)apps/web/src/pages/generate/components/Step7ConfirmGenerate.tsx— 确认生成(需支持批量)apps/web/src/pages/generate/components/PreviewVideoPanel.tsx— 预览播放器+TitleOverlayapps/web/src/pages/generate/hooks/useStep5Preview.ts— 多预览Hookapps/web/src/pages/generate/hooks/useGenerateFormState/— 表单状态apps/web/src/api/generation/types.ts— API类型定义后端
apps/api/app/api/routes/generation_cover.py— 封面生成接口apps/worker/worker_app/tasks/generation.py— 视频生成任务apps/worker/video_processing/render_adapter.py— 渲染适配器apps/worker/video_processing/thumbnail_generator.py— 封面帧抽取+标题叠加关联
后端实现方案更新(2026-08-29 代码核实 + PR2 方案)
现状代码核实(已逐行确认)
useStep5Preview循环调POST /generation/preview。后端 schema 虽已有preview_count字段(1~10,schemas/generation_task.py:176),但预览接口实际只创建 1 个任务,preview_count仅写日志,未做批量循环。count>1(generation_tasks.py批量循环for _ in range(count))中,每个任务共用同一个source_edit_plan_id(前端不传时兜底逻辑还会把同 template 下最新 plan 关联给所有任务);_render_from_edit_plan按 plan_id 渲染同一套 clips → N 个视频的素材片段区间完全一模一样,不满足"每个预览版本剪辑内容不同"。f655508f,staging 已部署验收):used_segments持久化到素材 metadata 的used_time_ranges字段(apps/api/app/services/asset_segment_tracker.py);_calc_random_start_time(packages/domain/plan_generator_utils.py)新增on_exhausted回调,100 次避不开 → 重置该素材历史 → 重试一次;title_config/voice_library_id/cover_url/video_title(generation_tasks.pyCreateGenerationTaskCommand 循环内取 request 单值)。要实现"每个视频独立标题/配音/封面",后端需支持按任务索引传数组。PR2:批量生成各自独立 EditPlan(本工单后端主任务)
目标:N 个预览 / N 条正式生成各自有独立 plan,片段区间互不相同;与工单"素材共用、AI 随机剪辑、保证每个版本不同"完全对齐。
改动点:
预览接口支持真正批量(
apps/api/app/api/routes/generation_preview.py)preview_count在后端循环创建 N 个任务(替代/兼容前端 N 次调用;前端可逐步改为一次请求);batch_id(正式批量已有此机制,预览对齐)。每个任务克隆独立 EditPlan
EditPlanService.create_plan+replace_all_clips_transactional,同事务);_calc_random_start_time,传入 PR1 的持久化区间asset_segment_tracker.get_used_segments(db, asset_ids)+make_reset_callback轮回回调 → 每个版本起点独立,且跨版本、跨任务区间互不重叠;source_edit_plan_id指向各自的克隆 plan;正式批量生成对齐(
apps/api/app/api/routes/generation_tasks.py,count>1 循环 ~421 行)独立标题/配音/封面透传(支撑工单"每个视频独立标题/配音/封面")
title_configs: list[dict]、voice_library_ids: list[str]、cover_urls: list[str](长度=数量,缺省回落共用单值,向后兼容);_sync_task_config_to_plan已按 task 维度同步,确认不串。前端配合(工单前端部分已列):预览批量可改为一次请求传
preview_count;确认页勾选后批量提交携带各自 title/voice/cover。后端验收标准:
preview_count=3创建 3 个任务、3 个不同 plan_id,同 batch_idcount>1同样各自独立 plan依赖:PR #1543(片段区间持久化去重 + 轮回)已合并,本方案直接复用其 tracker 与回调机制。