@danhachuel/thunderbolt 0.7.58 → 0.7.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/app/main.py CHANGED
@@ -1578,7 +1578,7 @@ def render_channel_video_defaults(channel: dict) -> None:
1578
1578
  source = channel_video_source_value(channel.get("default_video_source") or channel.get("style_wide"))
1579
1579
  aspect_ratio = str(channel.get("default_video_aspect_ratio") or channel.get("video_aspect_ratio") or "Landscape 16:9")
1580
1580
  encoder = str(channel.get("default_video_encoder") or VIDEO_ENCODER_OPTIONS[0])
1581
- maximum_clip_duration = int(channel.get("default_maximum_clip_duration") or 10)
1581
+ maximum_clip_duration = int(channel.get("default_maximum_clip_duration") or 5)
1582
1582
  videos_per_run = int(channel.get("default_videos_per_run") or 1)
1583
1583
  concatenation_mode = str(channel.get("default_video_concatenation_mode") or VIDEO_CONCATENATION_OPTIONS[0])
1584
1584
  transition_mode = str(channel.get("default_video_transition_mode") or VIDEO_TRANSITION_OPTIONS[0])
@@ -97,6 +97,12 @@ def create_channel(name: str, url: str = "", metadata: dict[str, Any] | None = N
97
97
  }
98
98
  if metadata:
99
99
  channel.update({k: v for k, v in metadata.items() if k in channel and k != "id"})
100
+ if str(channel.get("platform") or "").strip().casefold() == "youtube":
101
+ channel.setdefault("default_maximum_clip_duration", 5)
102
+ channel.setdefault("default_video_aspect_ratio", "Landscape 16:9")
103
+ channel.setdefault("default_enable_subtitles", True)
104
+ channel.setdefault("default_background_music_source", "Sem música")
105
+ channel.setdefault("average_video_time", "20:00")
100
106
  channels = read_json("channels.json", [])
101
107
  channels.append(channel)
102
108
  write_json("channels.json", channels)
@@ -208,10 +214,15 @@ def create_tasks_for_batch(batch: dict[str, Any]) -> list[dict[str, Any]]:
208
214
  "default_subtitle_font_size": 60,
209
215
  "default_subtitle_outline": "#000000",
210
216
  "default_subtitle_outline_width": 1.5,
211
- "default_background_music_source": "Sem música",
212
- "default_background_music_volume": "20%",
217
+ "default_background_music_source": "Sem música",
218
+ "default_background_music_volume": "20%",
213
219
  }.items()
214
220
  }
221
+ if str(channel.get("platform") or "").strip().casefold() == "youtube":
222
+ channel_generation_defaults.update({
223
+ "maximum_clip_duration": channel.get("default_maximum_clip_duration", 5),
224
+ "video_aspect_ratio": channel.get("default_video_aspect_ratio", "Landscape 16:9"),
225
+ })
215
226
  configured_generation_settings = options.get("generation_settings") if isinstance(options.get("generation_settings"), dict) else {}
216
227
  payload_generation_settings = payload.get("generation_settings") if isinstance(payload.get("generation_settings"), dict) else {}
217
228
  generation_settings = {**channel_generation_defaults, **configured_generation_settings, **payload_generation_settings}
@@ -519,6 +530,9 @@ def _refresh_task_channel_video_settings(task: dict[str, Any]) -> None:
519
530
  }
520
531
  for setting_name, (channel_key, default) in channel_defaults.items():
521
532
  generation_settings[setting_name] = channel.get(channel_key, default)
533
+ if str(channel.get("platform") or "").strip().casefold() == "youtube":
534
+ generation_settings["maximum_clip_duration"] = channel.get("default_maximum_clip_duration", 5)
535
+ generation_settings["video_aspect_ratio"] = channel.get("default_video_aspect_ratio", "Landscape 16:9")
522
536
  task["generation_settings"] = generation_settings
523
537
  task["voice"] = channel.get("default_voice") or channel.get("voice") or task.get("voice", "")
524
538
  task["thumbnail_blueprint_id"] = (
@@ -6,7 +6,7 @@ from pathlib import Path
6
6
  from typing import Any
7
7
 
8
8
  WORDS_PER_MINUTE = 150
9
- DEFAULT_AVERAGE_VIDEO_TIME = "12:00"
9
+ DEFAULT_AVERAGE_VIDEO_TIME = "20:00"
10
10
  DEFAULT_TIKTOK_AVERAGE_VIDEO_TIME = "01:20"
11
11
  AVERAGE_VIDEO_TIME_KEY = "average_video_time"
12
12
  AVERAGE_VIDEO_WORD_COUNT_KEY = "average_video_word_count"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danhachuel/thunderbolt",
3
- "version": "0.7.58",
3
+ "version": "0.7.59",
4
4
  "description": "Thunderbolt — interface local para operação de canais faceless e motor MoneyPrinterTurbo",
5
5
  "license": "MIT",
6
6
  "main": "scripts/cli.mjs",