scene = Scene( duration=float, # seconds background=str|dict, # asset id or color music=str, # background audio asset id transition="fade"|"cut"|"wipe" ) Represents a Vyond character with rigging.
npm install puppeteer project.render_mp4( output_path="video.mp4", headless=True, quality="high", watermark=False ) Rendering uses headless Chrome to load a local Vyond-like player and record canvas frames. frames = project.render_frames(start=0, end=10.0, fps=24) # frames is list of PIL Images 7. API Reference (Selected) | Class | Method | Description | |--------------|--------------------------------------|--------------------------------------| | Project | add_scene(scene) | Append scene to timeline | | Project | render_mp4(path) | Render final video | | Scene | add_dialog(char, text, start, end) | Add speech bubble + lipsync | | Character | set_expression(expr) | Change facial expression | | Character | walk_to(x, y, duration) | Auto-walk with tweening | | Prop | fade_in(duration) | Opacity animation | goanimate wrapper 2.0.0
char = Character( id=str, # unique per scene style="business_female"|"casual_male"|etc, position=(x, y), # screen percentage or px scale=1.0, facing="left"|"right" ) char.set_expression("happy"|"sad"|"angry"|"surprised") char.set_pose("standing"|"sitting"|"walking") char.look_at(target_x, target_y) 4.4 Actions & Timeline Events Actions are timed behaviors. API Reference (Selected) | Class | Method |
from goanimate import Action Action.WAVE_HAND Action.NOD_HEAD Action.SHRUG Action.POINT_UP Action.JUMP Action.WALK_TO(x, y, duration) scene.add_dialog( character=bob, text="Hello world!", start=1.0, end=3.5, tts_voice="en-US_JamesV3", # IBM Watson / Azure style auto_lipsync=True ) If auto_lipsync=True , the wrapper generates mouth shape keyframes based on phonemes. 5. Advanced Usage 5.1 Camera Controls camera = scene.camera camera.pan_to(x=200, y=300, duration=2.0) camera.zoom(level=1.5, duration=1.0) camera.shake(intensity=0.2, duration=0.5) 5.2 Props and Assets from goanimate import Prop laptop = Prop( asset_id="laptop_01", position=(500, 400), layer="foreground"|"midground"|"background" ) scene.add_prop(laptop) scene.animate_prop(laptop, "rotate", angle=45, duration=1.0) 5.3 Conditional Logic & Variables Use variable substitution to create dynamic videos: Advanced Usage 5
project.set_variable("customer_name", "Alice") scene.add_dialog(bob, "Hello, customer_name!", start=0, end=2) greeting_template = Scene.from_template("greeting.json", variables="name": "User") project.add_scene(greeting_template) 6. Export & Rendering 6.1 JSON Export (for Vyond Studio) project.save_json("import_me.json") # Manually upload to Vyond Studio's JSON importer 6.2 Direct MP4 Rendering Requires Node.js and Puppeteer: