euiia commited on
Commit
3135a9e
·
verified ·
1 Parent(s): e03c986

Update aduc_orchestrator.py

Browse files
Files changed (1) hide show
  1. aduc_orchestrator.py +10 -46
aduc_orchestrator.py CHANGED
@@ -127,16 +127,6 @@ class AducOrchestrator:
127
  progress: gr.Progress) -> Tuple[List[str], str, Any]:
128
  """
129
  Delega ao Roteirista (Gemini) a tarefa de criar o roteiro (storyboard).
130
-
131
- Args:
132
- prompt (str): A ideia geral do filme fornecida pelo usuário.
133
- num_keyframes (int): O número de cenas a serem criadas.
134
- ref_image_paths (List[str]): Caminhos para as imagens de referência.
135
- progress (gr.Progress): Objeto do Gradio para reportar progresso.
136
-
137
- Returns:
138
- Tuple[List[str], str, Any]: O storyboard, o caminho da primeira imagem de referência,
139
- e um update para a UI do Gradio.
140
  """
141
  logger.info(f"Ato 1, Cena 1: Roteiro. Instruindo o Roteirista (Gemini) a criar {num_keyframes} cenas a partir de: '{prompt}'")
142
  progress(0.2, desc="Consultando Roteirista IA (Gemini)...")
@@ -147,8 +137,6 @@ class AducOrchestrator:
147
  self.director.update_state("storyboard", storyboard)
148
  self.director.update_state("processed_ref_paths", ref_image_paths)
149
 
150
- # Retorna o storyboard, a primeira imagem como referência inicial, e um comando
151
- # para tornar o próximo acordeão da UI visível.
152
  return storyboard, ref_image_paths[0], gr.update(visible=True, open=True)
153
 
154
  def task_select_keyframes(self, storyboard: List[str], base_ref_paths: List[str],
@@ -156,14 +144,6 @@ class AducOrchestrator:
156
  """
157
  Delega ao Editor/Fotógrafo (Gemini) a tarefa de selecionar as melhores imagens
158
  de um "banco de cenas" para corresponder ao roteiro (Modo Fotógrafo).
159
-
160
- Args:
161
- storyboard (List[str]): O roteiro gerado.
162
- base_ref_paths (List[str]): Imagens de referência principais.
163
- pool_ref_paths (List[str]): O conjunto de imagens para seleção.
164
-
165
- Returns:
166
- List[str]: Uma lista ordenada de caminhos de imagem selecionados como keyframes.
167
  """
168
  logger.info(f"Ato 1, Cena 2 (Modo Fotógrafo): Instruindo o Editor (Gemini) a selecionar {len(storyboard)} keyframes.")
169
 
@@ -178,16 +158,6 @@ class AducOrchestrator:
178
  """
179
  Delega ao Diretor de Arte (ImageSpecialist) a tarefa de gerar os keyframes
180
  visuais a partir do roteiro (Modo Diretor de Arte).
181
-
182
- Args:
183
- storyboard (List[str]): O roteiro gerado.
184
- initial_ref_path (str): A imagem inicial que serve como base para o primeiro keyframe.
185
- global_prompt (str): O prompt geral do filme.
186
- keyframe_resolution (int): A resolução (em pixels) para os keyframes gerados.
187
- progress_callback_factory (callable, optional): Uma função para criar callbacks de progresso.
188
-
189
- Returns:
190
- List[str]: Uma lista de caminhos para os keyframes gerados e salvos.
191
  """
192
  logger.info("Ato 1, Cena 2 (Modo Diretor de Arte): Delegando ao Especialista de Imagem.")
193
 
@@ -208,24 +178,16 @@ class AducOrchestrator:
208
 
209
  def task_produce_final_movie_with_feedback(self, keyframes: List[str], global_prompt: str, seconds_per_fragment: float,
210
  trim_percent: int, handler_strength: float,
211
- destination_convergence_strength: float, video_resolution: int,
212
- use_continuity_director: bool, progress: gr.Progress) -> Generator[Dict[str, Any], None, None]:
 
 
213
  """
214
- Delega ao Editor/Cineasta (Deformes4DEngine) a produção final do filme,
215
- gerando e retornando feedback sobre cada fragmento criado.
216
-
217
- Args:
218
- (Vários): Parâmetros de controle para a geração de vídeo.
219
- progress (gr.Progress): Objeto do Gradio para reportar progresso.
220
-
221
- Yields:
222
- Generator[Dict[str, Any], None, None]: Dicionários contendo o caminho para
223
- cada fragmento gerado ou o caminho final do filme.
224
  """
225
  logger.info("Maestro: Delegando a produção do filme completo ao Deformes4DEngine.")
226
  storyboard = self.director.get_state("storyboard", [])
227
 
228
- # O gerador do Deformes4DEngine retorna atualizações de progresso.
229
  for update in self.editor.generate_full_movie(
230
  keyframes=keyframes,
231
  global_prompt=global_prompt,
@@ -234,13 +196,15 @@ class AducOrchestrator:
234
  trim_percent=trim_percent,
235
  handler_strength=handler_strength,
236
  destination_convergence_strength=destination_convergence_strength,
 
 
 
 
237
  video_resolution=video_resolution,
238
  use_continuity_director=use_continuity_director,
239
  progress=progress
240
  ):
241
- if "fragment_path" in update and update["fragment_path"]:
242
- yield {"fragment_path": update["fragment_path"]}
243
- elif "final_path" in update and update["final_path"]:
244
  final_movie_path = update["final_path"]
245
  self.director.update_state("final_video_path", final_movie_path)
246
  yield {"final_path": final_movie_path}
 
127
  progress: gr.Progress) -> Tuple[List[str], str, Any]:
128
  """
129
  Delega ao Roteirista (Gemini) a tarefa de criar o roteiro (storyboard).
 
 
 
 
 
 
 
 
 
 
130
  """
131
  logger.info(f"Ato 1, Cena 1: Roteiro. Instruindo o Roteirista (Gemini) a criar {num_keyframes} cenas a partir de: '{prompt}'")
132
  progress(0.2, desc="Consultando Roteirista IA (Gemini)...")
 
137
  self.director.update_state("storyboard", storyboard)
138
  self.director.update_state("processed_ref_paths", ref_image_paths)
139
 
 
 
140
  return storyboard, ref_image_paths[0], gr.update(visible=True, open=True)
141
 
142
  def task_select_keyframes(self, storyboard: List[str], base_ref_paths: List[str],
 
144
  """
145
  Delega ao Editor/Fotógrafo (Gemini) a tarefa de selecionar as melhores imagens
146
  de um "banco de cenas" para corresponder ao roteiro (Modo Fotógrafo).
 
 
 
 
 
 
 
 
147
  """
148
  logger.info(f"Ato 1, Cena 2 (Modo Fotógrafo): Instruindo o Editor (Gemini) a selecionar {len(storyboard)} keyframes.")
149
 
 
158
  """
159
  Delega ao Diretor de Arte (ImageSpecialist) a tarefa de gerar os keyframes
160
  visuais a partir do roteiro (Modo Diretor de Arte).
 
 
 
 
 
 
 
 
 
 
161
  """
162
  logger.info("Ato 1, Cena 2 (Modo Diretor de Arte): Delegando ao Especialista de Imagem.")
163
 
 
178
 
179
  def task_produce_final_movie_with_feedback(self, keyframes: List[str], global_prompt: str, seconds_per_fragment: float,
180
  trim_percent: int, handler_strength: float,
181
+ destination_convergence_strength: float,
182
+ use_upscaler: bool, use_refiner: bool, use_hd: bool, use_audio: bool,
183
+ video_resolution: int, use_continuity_director: bool,
184
+ progress: gr.Progress) -> Generator[Dict[str, Any], None, None]:
185
  """
186
+ Delega ao Editor/Cineasta (Deformes4DEngine) a produção final do filme.
 
 
 
 
 
 
 
 
 
187
  """
188
  logger.info("Maestro: Delegando a produção do filme completo ao Deformes4DEngine.")
189
  storyboard = self.director.get_state("storyboard", [])
190
 
 
191
  for update in self.editor.generate_full_movie(
192
  keyframes=keyframes,
193
  global_prompt=global_prompt,
 
196
  trim_percent=trim_percent,
197
  handler_strength=handler_strength,
198
  destination_convergence_strength=destination_convergence_strength,
199
+ use_upscaler=use_upscaler,
200
+ use_refiner=use_refiner,
201
+ use_hd=use_hd,
202
+ use_audio=use_audio,
203
  video_resolution=video_resolution,
204
  use_continuity_director=use_continuity_director,
205
  progress=progress
206
  ):
207
+ if "final_path" in update and update["final_path"]:
 
 
208
  final_movie_path = update["final_path"]
209
  self.director.update_state("final_video_path", final_movie_path)
210
  yield {"final_path": final_movie_path}