File size: 2,506 Bytes
5c7d905
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d698555
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
## Setup 2 – A2E (Audio-to-Expression) Lip-Sync Generation

Generates videos using the A2E lip-sync pipeline with audio-driven facial expressions.

### Configuration Variables

#### **CAPTION_STYLE**
Defines the captioning/text style applied to generated videos.

**Available values:**
- `random`
- `caption_1`
- `caption_2`
- `caption_3`
- `caption_4`
- `caption_style_on_screen_text`

#### **CONTENT_STRATEGY_FILE**
CSV file containing content strategy entries.

- Must be placed in the **`data/`** directory
- Example:
  ```
  CONTENT_STRATEGY_FILE="content_strategies_100_300.csv"
  ```
- Full path: `data/content_strategies_100_300.csv`

#### **IS_A2E_LIP_SYNC**
Enables A2E lip-sync generation.

```
IS_A2E_LIP_SYNC=true
```

**Required** for all A2E runs.

### Running the Pipeline

#### **Local Execution**
```bash
python src/process_csv.py
```

The script reads the configured `CAPTION_STYLE`, `CONTENT_STRATEGY_FILE`, and `IS_A2E_LIP_SYNC` and begins processing.

#### **GitHub Actions Execution**

The workflow triggers when a tag beginning with `run_wip` is pushed.

**Single-job run:**
```bash
git tag run_wip0
git push origin run_wip0
```

**Parallel runs:**

Format: `run_wip_<jobIndex>_<totalJobs>`

Example for **job 0 out of 10 parallel jobs**:
```bash
git tag run_wip_0_10
git push origin run_wip_0_10
```

This ensures no two parallel jobs process the same CSV entries.

### Important Notes

- Ensure all environment variables are set before running
- A progress file is **automatically created** after each successful generation
- **Do not manually edit** the progress file
- Parallel execution relies on progress tracking and job index logic

---

## Common Elements Across All Setups

### Progress Tracking
- Progress files are stored in the `data/` directory
- Automatically created/updated after successful generation
- Used to prevent duplicate processing in parallel runs
- Should never be manually modified

### Parallel Execution
- Uses tag format: `run_wip_<jobIndex>_<totalJobs>`
- Job index starts at 0
- Each job processes a unique section of the CSV
- Safe for concurrent execution without collisions

### Workflow Trigger
All setups use the same GitHub Actions trigger: tags beginning with `run_wip`

### Environment Variable Configuration

**For local execution:** Set variables in a `.env` file in the project root.

**For GitHub Actions:** Set variables in the GitHub repository's **Variables** section (Settings → Secrets and variables → Actions → Variables).