video_heygen_elevenlabs_workflow.py
1 #!/usr/bin/env python3 2 """Run the HeyGen + ElevenLabs YAML workflow. 3 4 This loads the YAML workflow and registers the praisonai_tools 5 functions so the YAML parser can resolve them by name. 6 7 Usage: 8 export HEYGEN_API_KEY=your_key 9 export ELEVENLABS_API_KEY=your_key 10 export OPENAI_API_KEY=your_key 11 python video_heygen_elevenlabs_workflow.py 12 """ 13 14 import os 15 from pathlib import Path 16 17 from praisonai_tools import ( 18 elevenlabs_speak_to_file, 19 heygen_upload_asset, 20 heygen_generate_video_with_audio, 21 heygen_wait_for_video, 22 ) 23 from praisonaiagents.workflows.yaml_parser import YAMLWorkflowParser 24 25 # Register praisonai_tools functions for YAML tool resolution 26 tool_registry = { 27 "elevenlabs_speak_to_file": elevenlabs_speak_to_file, 28 "heygen_upload_asset": heygen_upload_asset, 29 "heygen_generate_video_with_audio": heygen_generate_video_with_audio, 30 "heygen_wait_for_video": heygen_wait_for_video, 31 } 32 33 # Parse YAML workflow 34 yaml_path = Path(__file__).parent / "video_heygen_elevenlabs.yaml" 35 parser = YAMLWorkflowParser(tool_registry=tool_registry) 36 workflow = parser.parse_file(yaml_path) 37 38 print("=" * 60) 39 print("HeyGen + ElevenLabs YAML Workflow") 40 print("=" * 60) 41 42 # Run the workflow 43 result = workflow.start() 44 45 print("\n" + "=" * 60) 46 print("WORKFLOW RESULT:") 47 print("=" * 60) 48 print(result)