Skip to content
Back to skills

Arch Video Cut

ASecurity

Automatic architecture video editing workflow with self-learning preferences

  • 92 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 29, 2026
toolspythonbash

Works with

  • cli

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 8 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add aAAaqwq/AGI-Super-Team --skill arch-video-cut --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Arch Video Cut?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Arch Video Cut
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/aaaaqwq-arch-video-cut/badge)](https://www.skillsdirectory.com/skills/aaaaqwq-arch-video-cut)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: arch-video-cut
description: Automatic architecture video editing workflow with self-learning preferences
---

# arch-video-cut

Automatic Architecture Video Editing Workflow with Self-Learning Preferences

---

## Description

Automatically complete the full architecture video editing workflow: multi-video merging, speech-to-text subtitles, background music mixing, and dual output (landscape + portrait). Built-in self-learning system remembers your editing preferences.

**Core Features:**
- 🎬 Auto merge multiple videos + duration compression
- πŸŽ™οΈ Speech transcription or custom subtitles
- 🎡 Smart background music generation + mixing
- πŸ“± Dual output: landscape (16:9) + portrait (3:4)
- 🧠 Self-evolving preference system

---

## Usage

### Quick Start

```bash
cd ~/.openclaw/workspace/skills/arch-video-cut
python3 scripts/full_workflow.py
```

### Prerequisites

1. **Install dependencies:**
```bash
brew install ffmpeg-full  # Required for libass subtitle support
pip3 install faster-whisper  # Optional: for speech transcription
```

2. **Prepare materials:**
- Audio file: `~/Desktop/ζ–°ε½•ιŸ³ XX.m4a` (narration voiceover)
- Video folder: `data/m1/` (architecture video clips to merge)

3. **Configure preferences (optional):**
```bash
python3 scripts/manage_preferences.py set
```

---

## Commands

| Command | Description |
|------|------|
| `python3 scripts/full_workflow.py` | Execute full editing workflow |
| `python3 scripts/manage_preferences.py show` | View current preferences |
| `python3 scripts/manage_preferences.py set` | Interactive preference editor |
| `python3 scripts/manage_preferences.py reset` | Reset to defaults |

---

## Configuration

### Preferences

Edit `config/user_preferences.json` or run `manage_preferences.py set`:

```json
{
  "video": {
    "target_duration": 20.0,      // Target duration in seconds
    "vertical_format": "3:4",     // Portrait aspect ratio
    "vertical_resolution": "1080x1440"
  },
  "subtitles": {
    "horizontal_font_size": 14,   // Landscape font size (px)
    "vertical_font_size": 10,     // Portrait font size (px)
    "font_name": "STHeiti",       // Font family
    "auto_wrap": true,            // Auto word wrap
    "margin_v": 30                // Bottom margin (px)
  },
  "audio": {
    "background_music_volume": 0.15,  // BGM volume (0-1)
    "fade_in_duration": 2,            // Fade-in duration (sec)
    "fade_out_duration": 2            // Fade-out duration (sec)
  }
}
```

### Custom Subtitles

Edit the `subtitles_text` array in `transcribe_audio()` function:

```python
subtitles_text = [
    "These six renovation projects were transformed from abandoned schools",
    "Historic buildings, red brick houses, tile-roof homes, single-story factories, and rural self-built houses",
    "Through minimalist design approaches and low-cost renovation strategies",
    "Giving old buildings new life",
    "While balancing contemporary aesthetics and market demands",
]
```

---

## Output

**Output location:** `data/` folder

| File | Description |
|------|------|
| `edited_video_final_with_subtitles.mp4` | Landscape version (16:9) |
| `edited_video_final_with_subtitles_3x4.mp4` | Portrait version (3:4) |

**Example output:**
```
βœ… All done!
πŸ“ Output: data/edited_video_final_with_subtitles.mp4
πŸ“Š Size: 16.0MB
🎬 Duration: 20.04 seconds
```

---

## Workflow

```
1. Merge videos β†’ Compress to target duration
2. Generate subtitles β†’ Allocate timeline based on audio duration
3. Generate BGM β†’ Piano chords + fade in/out
4. Mix audio β†’ Voiceover + background music
5. Burn subtitles β†’ Landscape + Portrait versions
```

**Total processing time:** ~2-3 minutes (depends on video count and duration)

---

## Self-Learning

Built-in preference learning system automatically records your editing habits:

- πŸ“ Saves configuration after each edit
- πŸ“Š Keeps last 20 adjustment records
- πŸ”„ Auto-applies preferences on next run
- πŸŽ›οΈ Modify anytime via `manage_preferences.py`

**View learning history:**
```bash
python3 scripts/manage_preferences.py show
```

---

## Examples

### Example 1: Quick Edit
```bash
# Place 5 video clips in data/m1/
# Place voiceover audio at ~/Desktop/ζ–°ε½•ιŸ³ 74.m4a
cd ~/.openclaw/workspace/skills/arch-video-cut
python3 scripts/full_workflow.py
```

### Example 2: Adjust Font Size
```bash
# Interactive modification
python3 scripts/manage_preferences.py set
# Input: horizontal font size 18px

# Re-edit with new font automatically applied
python3 scripts/full_workflow.py
```

### Example 3: Create 30-Second Version
```bash
# Modify preference
python3 scripts/manage_preferences.py set
# Input: target duration 30 seconds

# Edit
python3 scripts/full_workflow.py
```

---

## Troubleshooting

### ❌ ffmpeg-full not found
```bash
brew install ffmpeg-full  # Required for libass subtitle support
```

### ❌ Subtitles not showing
Check if `ffmpeg-full` is installed (system ffmpeg doesn't support libass)

### ❌ Transcription failed
```bash
pip3 install faster-whisper
# Or skip transcription and edit subtitle text directly in script
```

### ❌ Wrong video aspect ratio
Modify `vertical_format` in `config/user_preferences.json`

---

## Files

```
arch-video-cut/
β”œβ”€β”€ SKILL.md                    # This file
β”œβ”€β”€ SELF_LEARNING_GUIDE.md      # Self-learning detailed guide
β”œβ”€β”€ README.md                   # Quick start guide
β”œβ”€β”€ config/
β”‚   └── user_preferences.json   # User preferences
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ full_workflow.py        # Main editing script
β”‚   β”œβ”€β”€ preference_learner.py   # Preference learner
β”‚   └── manage_preferences.py   # Preference manager
└── data/
    β”œβ”€β”€ m1/                     # Input video folder
    β”œβ”€β”€ temp_edit/              # Temporary files
    └── *.mp4                   # Output videos
```

---

## Version

**v1.0.0** - 2026-03-18

- βœ… Multi-video merge + duration compression
- βœ… Custom subtitle text
- βœ… Background music generation + mixing
- βœ… Landscape + Portrait dual output
- βœ… Self-evolving preference system

---

## Author

**WildUrban Architect - Linwangming**

**Website:** http://www.ual-studio.com/

---

_Make tools adapt to you, not you to tools._ 🧠

Files in this skill

  • .clawdhub/origin.json146 B
  • README.md877 B
  • SELF_LEARNING_GUIDE.md4.4 KB
  • SKILL.md6.1 KB
  • _meta.json133 B
  • scripts/full_workflow.py10.3 KB
  • scripts/manage_preferences.py2.4 KB
  • scripts/preference_learner.py5.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…