AI Agent
|
abce6c2a92
|
feat: 实现四种视频剪辑模式
- 添加一镜到底(one_take)、画中画(pip)、口播(voice_over)、口播+画中画(voice_pip)四种剪辑模式
- 在GenerationTaskModel中添加editing_mode字段
- 在generation.py中实现从素材库下载视频的逻辑
- 使用FFmpeg进行视频处理,支持720p输出
支持的剪辑模式:
- one_take: 顺序拼接视频,可选淡入淡出转场
- pip: 主视频全屏+画中画叠加其他视频
- voice_over: 背景模糊画面+配音
- voice_pip: 口播视频画中画+背景画面
|
2026-06-26 20:16:22 +08:00 |
|
xiaoxia
|
bc89d757da
|
fix(P1-3,P1-4): fix DB connection leak and implement real metadata extraction
|
2026-06-26 17:53:08 +08:00 |
|
Xiaoxia AI
|
6e8394d749
|
style: sort Python imports for CI
|
2026-06-24 19:57:19 +08:00 |
|
Xiaoxia AI
|
f85e389ced
|
style: format Python files for CI
|
2026-06-24 19:54:36 +08:00 |
|
Xiaoxia AI
|
0f59b412bc
|
feat(plans): add edit plan preview workflow
|
2026-06-24 10:10:25 +08:00 |
|
Xiaoxia AI
|
8acbd6c8a7
|
feat(results): add generated video management
|
2026-06-24 06:28:06 +08:00 |
|
Xiaoxia AI
|
17021c351f
|
feat(titles): complete title selection workflow
|
2026-06-24 00:55:00 +08:00 |
|
Xiaoxia AI
|
f2a9b0868b
|
feat(assets): track generation usage review state
|
2026-06-23 21:52:47 +08:00 |
|
Xiaoxia AI
|
73591f7e91
|
fix(worker): mark ingested assets ready
|
2026-06-23 13:12:17 +08:00 |
|
Xiaoxia AI
|
159ebae0f2
|
fix(upload): support mov assets and large web uploads
|
2026-06-23 11:44:10 +08:00 |
|
Xiaoxia AI
|
ea92092d12
|
chore(security): triage bandit findings
|
2026-06-21 13:38:46 +08:00 |
|
Xiaoxia AI
|
ebae5f51b0
|
fix(schema): forbid auto create schema in deployed envs
|
2026-06-21 07:36:46 +08:00 |
|
Xiaoxia AI
|
bfbaddbd9a
|
style: normalize python formatting gates
|
2026-06-21 06:52:19 +08:00 |
|
Xiaoxia AI
|
0809a079c5
|
refactor(db): introduce alembic schema baseline
|
2026-06-21 06:48:16 +08:00 |
|
Xiaoxia AI
|
1e3a52fa17
|
fix(worker): persist generated mp4 without oss
|
2026-06-20 23:17:52 +08:00 |
|
Xiaoxia AI
|
3afe9689f7
|
feat(worker): generate real mp4 outputs
|
2026-06-20 22:42:07 +08:00 |
|
Xiaoxia AI
|
48fbe3d287
|
fix(worker): register generation task
|
2026-06-20 19:43:08 +08:00 |
|
Xiaoxia AI
|
5e047972cd
|
fix(phase7): resolve remaining TODOs - session_id in JWT and repository injection
|
2026-06-19 09:47:20 +08:00 |
|
Xiaoxia AI
|
acfa82b995
|
fix: serialize schema init for postgres
|
2026-06-15 19:41:57 +08:00 |
|
Xiaoxia AI
|
f0ee5c6184
|
feat: persist ingest flow in postgres
|
2026-06-15 19:34:47 +08:00 |
|
Xiaoxia AI
|
88db1a7753
|
fix: register worker tasks explicitly
|
2026-06-15 19:14:54 +08:00 |
|
Xiaoxia AI
|
4475677763
|
chore: wire deployment to environment-based configuration
|
2026-06-15 18:40:56 +08:00 |
|
Xiaoxia AI
|
a8177c1268
|
feat: add asset classification pipeline
- domain: ClassificationJob entity with AssetClassification enum (scenic, product, person, animal, food, tech, sport, music, other)
- ports: ClassificationJobRepository interface
- application: SubmitClassificationJobUseCase
- adapters: InMemoryClassificationJobRepository
- worker: classify_asset task with mock classification logic
- tests: full classification pipeline test
- all 8 integration tests passing
|
2026-06-15 15:39:28 +08:00 |
|
Xiaoxia AI
|
43fd071e3b
|
feat: implement ingest asset worker task
- worker: real ingest_asset logic (metadata extraction mock, Asset creation, IngestJob status update)
- API: ingest_jobs route now enqueues async task via ingest_asset.delay()
- tests: full ingest pipeline test (submit -> process -> verify asset + job status)
- all 5 integration tests passing
|
2026-06-15 15:20:58 +08:00 |
|
Xiaoxia AI
|
b5a62ee9a3
|
feat: initial SaaS scaffold
- domain: User, Workspace, Project, AssetLibrary, Asset, IngestJob
- ports: repository interfaces
- application: use cases
- adapters: in-memory
- API: FastAPI 5 routes
- worker: Celery ingest_asset
- tests: 4 passing
|
2026-06-15 15:17:40 +08:00 |
|