import gradio as gr import os from e2b_desktop import Sandbox E2B_API_KEY = os.environ["E2B_API_KEY"] DEFAULT_MAX_TOKENS = 512 SANDBOXES = {} TMP_DIR = './tmp/' if not os.path.exists(TMP_DIR): os.makedirs(TMP_DIR) custom_css = """ /* Outer wrapper to handle centering without scrolling */ .sandbox-outer-wrapper { display: flex; justify-content: center; width: 100%; padding: 20px 0; overflow: hidden; /* Changed from overflow-x: auto */ } .sandbox-container { position: relative; width: 800px; height: 500px; flex-shrink: 0; /* Prevents container from shrinking */ overflow: hidden; } .sandbox-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } .sandbox-iframe { position: absolute; top: 10%; left: 25%; width: 1032px; height: 776px; border: 4px solid #444444; transform-origin: 0 0; transform: scale(0.392); } """ def update_placeholder_text(): desktop = Sandbox(api_key=E2B_API_KEY, resolution=(1024, 768), dpi=96) desktop.stream.start(require_auth=True) auth_key = desktop.stream.get_auth_key() stream_url = desktop.stream.get_url(auth_key=auth_key) html_content = f"""