import argparse import os from scripts.swap import run_swap def parse_args(): parser = argparse.ArgumentParser(description="Face Swap con Roop (por imagen)") parser.add_argument("-s", "--source", required=True, help="Ruta al rostro base (RB)") parser.add_argument("-t", "--target", required=True, help="Ruta a la imagen objetivo") parser.add_argument("-o", "--output", required=True, help="Ruta para guardar el resultado") parser.add_argument("--execution-provider", default="cpu", help="cpu o cuda") parser.add_argument("--frame-processor", nargs="+", default=["face_swapper"], help="Procesadores: face_swapper, face_enhancer") return parser.parse_args() def main(): args = parse_args() os.makedirs(os.path.dirname(args.output), exist_ok=True) result = run_swap( target_path=args.target, source_path=args.source, output_path=args.output, execution_provider=args.execution_provider, frame_processors=args.frame_processor ) if result: print(f"✅ Proceso exitoso: {args.target} → {args.output}") else: print(f"❌ Falló el proceso con {args.target}") if __name__ == "__main__": main()