180 lines
3.4 KiB
Markdown
180 lines
3.4 KiB
Markdown
# Job File Format
|
|
|
|
Job files define batch content generation parameters using JSON format.
|
|
|
|
## Structure
|
|
|
|
```json
|
|
{
|
|
"jobs": [
|
|
{
|
|
"project_id": 1,
|
|
"tiers": {
|
|
"tier1": {
|
|
"count": 5,
|
|
"min_word_count": 2000,
|
|
"max_word_count": 2500,
|
|
"min_h2_tags": 3,
|
|
"max_h2_tags": 5,
|
|
"min_h3_tags": 5,
|
|
"max_h3_tags": 10
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Fields
|
|
|
|
### Job Level
|
|
- `project_id` (required): The project ID to generate content for
|
|
- `tiers` (required): Dictionary of tier configurations
|
|
|
|
### Tier Level
|
|
- `count` (required): Number of articles to generate for this tier
|
|
- `min_word_count` (optional): Minimum word count (uses defaults if not specified)
|
|
- `max_word_count` (optional): Maximum word count (uses defaults if not specified)
|
|
- `min_h2_tags` (optional): Minimum H2 headings (uses defaults if not specified)
|
|
- `max_h2_tags` (optional): Maximum H2 headings (uses defaults if not specified)
|
|
- `min_h3_tags` (optional): Minimum H3 subheadings total (uses defaults if not specified)
|
|
- `max_h3_tags` (optional): Maximum H3 subheadings total (uses defaults if not specified)
|
|
|
|
## Tier Defaults
|
|
|
|
If tier parameters are not specified, these defaults are used:
|
|
|
|
### tier1
|
|
- `min_word_count`: 2000
|
|
- `max_word_count`: 2500
|
|
- `min_h2_tags`: 3
|
|
- `max_h2_tags`: 5
|
|
- `min_h3_tags`: 5
|
|
- `max_h3_tags`: 10
|
|
|
|
### tier2
|
|
- `min_word_count`: 1500
|
|
- `max_word_count`: 2000
|
|
- `min_h2_tags`: 2
|
|
- `max_h2_tags`: 4
|
|
- `min_h3_tags`: 3
|
|
- `max_h3_tags`: 8
|
|
|
|
### tier3
|
|
- `min_word_count`: 1000
|
|
- `max_word_count`: 1500
|
|
- `min_h2_tags`: 2
|
|
- `max_h2_tags`: 3
|
|
- `min_h3_tags`: 2
|
|
- `max_h3_tags`: 6
|
|
|
|
## Examples
|
|
|
|
### Simple: Single Tier with Defaults
|
|
```json
|
|
{
|
|
"jobs": [
|
|
{
|
|
"project_id": 1,
|
|
"tiers": {
|
|
"tier1": {
|
|
"count": 5
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Custom Word Counts
|
|
```json
|
|
{
|
|
"jobs": [
|
|
{
|
|
"project_id": 1,
|
|
"tiers": {
|
|
"tier1": {
|
|
"count": 3,
|
|
"min_word_count": 2500,
|
|
"max_word_count": 3000
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Multi-Tier
|
|
```json
|
|
{
|
|
"jobs": [
|
|
{
|
|
"project_id": 1,
|
|
"tiers": {
|
|
"tier1": {
|
|
"count": 5
|
|
},
|
|
"tier2": {
|
|
"count": 10
|
|
},
|
|
"tier3": {
|
|
"count": 15
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Multiple Projects
|
|
```json
|
|
{
|
|
"jobs": [
|
|
{
|
|
"project_id": 1,
|
|
"tiers": {
|
|
"tier1": {
|
|
"count": 5
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"project_id": 2,
|
|
"tiers": {
|
|
"tier1": {
|
|
"count": 3
|
|
},
|
|
"tier2": {
|
|
"count": 8
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Usage
|
|
|
|
Run batch generation with:
|
|
|
|
```bash
|
|
python main.py generate-batch --job-file jobs/example_tier1_batch.json --username youruser --password yourpass
|
|
```
|
|
|
|
### Options
|
|
- `--job-file, -j`: Path to job JSON file (required)
|
|
- `--username, -u`: Username for authentication
|
|
- `--password, -p`: Password for authentication
|
|
- `--debug`: Save AI responses to debug_output/
|
|
- `--continue-on-error`: Continue processing if article generation fails
|
|
- `--model, -m`: AI model to use (default: gpt-4o-mini)
|
|
|
|
### Debug Mode
|
|
|
|
When using `--debug`, AI responses are saved to `debug_output/`:
|
|
- `title_project{id}_tier{tier}_article{n}_{timestamp}.txt`
|
|
- `outline_project{id}_tier{tier}_article{n}_{timestamp}.json`
|
|
- `content_project{id}_tier{tier}_article{n}_{timestamp}.html`
|
|
- `augmented_project{id}_tier{tier}_article{n}_{timestamp}.html` (if augmented)
|
|
|