{"x-fal-media":{"receive":[{"settings":{"frameRate":24,"height":704,"width":1280},"kind":"video"}],"perspective":"client","send":[]},"x-fal-wma":{"ended":{"$ref":"#/channels/control/messages/server.stream_exhausted"},"profileVersion":"0.1","perspective":"client","commandWorld":{"errors":{"descriptionField":"/error","message":{"$ref":"#/channels/control/messages/server.error"}},"updates":{"inputField":"/prompt","payloadTemplate":{"type":"prompt"},"policy":"serial","message":{"$ref":"#/channels/control/messages/client.prompt"},"replay":"never","applied":{"$ref":"#/channels/control/messages/server.prompt_applied"}},"ready":"first-frame","startup":"automatic","setup":{"limit":"once-per-session","message":{"$ref":"#/channels/control/messages/client.configure"},"replay":"never","applied":{"$ref":"#/channels/control/messages/server.configured"}},"commands":{"stateField":"/active","message":{"$ref":"#/channels/control/messages/client.commands"},"activatedField":"/activated"},"reset":{"inputField":"/prompt","payloadTemplate":{"type":"reset"},"policy":"serial","message":{"$ref":"#/channels/control/messages/client.reset"},"replay":"never","applied":{"$ref":"#/channels/control/messages/server.reset_applied"}},"stop":{"$ref":"#/channels/control/messages/client.stop"}},"requiredFeatures":["command-world/1"]},"defaultContentType":"application/json","x-fal-openapi":{"url":"./openapi.json","operationId":"start_session_start_session_post"},"operations":{"sendControl":{"messages":[{"$ref":"#/channels/control/messages/client.action"},{"$ref":"#/channels/control/messages/client.commands"},{"$ref":"#/channels/control/messages/client.configure"},{"$ref":"#/channels/control/messages/client.input"},{"$ref":"#/channels/control/messages/client.keys"},{"$ref":"#/channels/control/messages/client.ping"},{"$ref":"#/channels/control/messages/client.prompt"},{"$ref":"#/channels/control/messages/client.reset"},{"$ref":"#/channels/control/messages/client.stop"}],"action":"send","channel":{"$ref":"#/channels/control"}},"receiveEvents":{"messages":[{"$ref":"#/channels/control/messages/server.configured"},{"$ref":"#/channels/control/messages/server.controls_state"},{"$ref":"#/channels/control/messages/server.error"},{"$ref":"#/channels/control/messages/server.game_state"},{"$ref":"#/channels/control/messages/server.pong"},{"$ref":"#/channels/control/messages/server.prompt_applied"},{"$ref":"#/channels/control/messages/server.reset_applied"},{"$ref":"#/channels/control/messages/server.session_info"},{"$ref":"#/channels/control/messages/server.stats"},{"$ref":"#/channels/control/messages/server.stream_exhausted"}],"action":"receive","channel":{"$ref":"#/channels/control"}}},"asyncapi":"3.1.0","channels":{"control":{"address":"fal","messages":{"client.keys":{"$ref":"#/components/messages/client.keys"},"server.reset_applied":{"$ref":"#/components/messages/server.reset_applied"},"server.error":{"$ref":"#/components/messages/server.error"},"server.configured":{"$ref":"#/components/messages/server.configured"},"client.ping":{"$ref":"#/components/messages/client.ping"},"client.configure":{"$ref":"#/components/messages/client.configure"},"client.reset":{"$ref":"#/components/messages/client.reset"},"client.input":{"$ref":"#/components/messages/client.input"},"client.action":{"$ref":"#/components/messages/client.action"},"server.game_state":{"$ref":"#/components/messages/server.game_state"},"client.stop":{"$ref":"#/components/messages/client.stop"},"server.session_info":{"$ref":"#/components/messages/server.session_info"},"client.prompt":{"$ref":"#/components/messages/client.prompt"},"server.stream_exhausted":{"$ref":"#/components/messages/server.stream_exhausted"},"client.commands":{"$ref":"#/components/messages/client.commands"},"server.pong":{"$ref":"#/components/messages/server.pong"},"server.prompt_applied":{"$ref":"#/components/messages/server.prompt_applied"},"server.stats":{"$ref":"#/components/messages/server.stats"},"server.controls_state":{"$ref":"#/components/messages/server.controls_state"}},"servers":[{"$ref":"#/servers/session"}]}},"info":{"description":"Client contract for the WebRTC session created by the linked OpenAPI operation.","version":"1.0.0","title":"EdenLive5BGame realtime client API"},"components":{"schemas":{"EdenLive5BGameServerPromptAppliedMessage":{"required":["type"],"properties":{"type":{"default":"prompt_applied","const":"prompt_applied","type":"string","title":"Type"}},"type":"object","title":"PromptAppliedMessage"},"EdenLive5BGameServerGameInfo":{"required":["id","title","description","prompt","controls","instructions","actions"],"properties":{"prompt":{"type":"string","title":"Prompt"},"thumbnail_url":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"description":{"type":"string","title":"Description"},"instructions":{"items":{"type":"string"},"type":"array","title":"Instructions"},"title":{"type":"string","title":"Title"},"controls":{"items":{"$ref":"#/components/schemas/EdenLive5BGameServerControlInfo"},"type":"array","title":"Controls"},"actions":{"items":{"type":"string"},"type":"array","title":"Actions"},"id":{"type":"string","title":"Id"}},"type":"object","title":"GameInfo"},"EdenLive5BGameServerGameStateMessage":{"description":"Game state at an output frame; frames are numbered from session start.","required":["type","frame","round","state"],"properties":{"type":{"default":"game_state","const":"game_state","type":"string","title":"Type"},"round":{"type":"integer","title":"Round"},"frame":{"type":"integer","title":"Frame"},"state":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"State"}},"type":"object","title":"GameStateMessage"},"EdenLive5BGameClientGameCommandsMessage":{"description":"Semantic command-state report.\n\n``active`` contains commands currently held by the user and ``activated``\ncontains edge-triggered commands since the previous report. A browser may\nmap a keyboard, gamepad, touch control, or agent action to these names.","required":["type"],"properties":{"active":{"items":{"enum":["forward","backward","left","right","look_up","look_down","look_left","look_right","fire","jump","ability_1","ability_2","ability_3","ability_4"],"type":"string"},"maxItems":14,"type":"array","title":"Active"},"activated":{"items":{"enum":["forward","backward","left","right","look_up","look_down","look_left","look_right","fire","jump","ability_1","ability_2","ability_3","ability_4"],"type":"string"},"maxItems":14,"type":"array","title":"Activated"},"type":{"const":"commands","type":"string","title":"Type"}},"x-fal-ui":{"conflictGroups":[["forward","backward"],["left","right"],["look_up","look_down"],["look_left","look_right"]]},"type":"object","title":"GameCommandsMessage"},"EdenLive5BGameClientPingMessage":{"description":"Latency probe; the server echoes ``ts`` back in a ``pong`` payload.","required":["type"],"properties":{"ts":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts"},"type":{"const":"ping","type":"string","title":"Type"}},"type":"object","title":"PingMessage"},"EdenLive5BGameServerResetAppliedMessage":{"required":["type"],"properties":{"game":{"default":null,"anyOf":[{"$ref":"#/components/schemas/EdenLive5BGameServerGameInfo"},{"type":"null"}]},"type":{"default":"reset_applied","const":"reset_applied","type":"string","title":"Type"}},"type":"object","title":"ResetAppliedMessage"},"EdenLive5BGameServerStatsMessage":{"required":["type","chunk","chunk_ms","generation_fps","realtime_factor","queue_frames"],"properties":{"prompt_ms":{"default":null,"description":"Per-chunk prompt update time with dynamic_prompt, unchanged chunks included (moving average).","anyOf":[{"type":"number"},{"type":"null"}],"title":"Prompt Ms"},"generate_ms":{"default":null,"description":"Model time per chunk (moving average).","anyOf":[{"type":"number"},{"type":"null"}],"title":"Generate Ms"},"pipelined":{"default":null,"description":"The next chunk renders while this one generates (throughput mode).","anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pipelined"},"render_ms":{"default":null,"description":"Game render time per chunk (moving average).","anyOf":[{"type":"number"},{"type":"null"}],"title":"Render Ms"},"realtime_factor":{"description":"Generated frames per second / target fps.","type":"number","title":"Realtime Factor"},"billable_units":{"default":null,"description":"Seconds of video billed so far this session (queued for playback); the final total settles when the session closes.","anyOf":[{"type":"number"},{"type":"null"}],"title":"Billable Units"},"latency_ms":{"default":null,"description":"Input or control capture to frame handoff, median.","anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Ms"},"chunk_ms":{"type":"number","title":"Chunk Ms"},"type":{"default":"stats","const":"stats","type":"string","title":"Type"},"input_latency_ms":{"default":null,"description":"Game control message arrival to the handoff of the first frame it changes, median.","anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Latency Ms"},"chunk":{"type":"integer","title":"Chunk"},"loop_lag_ms":{"default":null,"description":"Server event-loop lag, p95 over the stats window.","anyOf":[{"type":"number"},{"type":"null"}],"title":"Loop Lag Ms"},"queue_frames":{"type":"integer","title":"Queue Frames"},"generation_fps":{"type":"number","title":"Generation Fps"}},"type":"object","title":"StatsMessage"},"EdenLive5BGameServerConfiguredMessage":{"required":["type"],"properties":{"game":{"default":null,"anyOf":[{"$ref":"#/components/schemas/EdenLive5BGameServerGameInfo"},{"type":"null"}]},"type":{"default":"configured","const":"configured","type":"string","title":"Type"}},"type":"object","title":"ConfiguredMessage"},"EdenLive5BGameServerControlErrorMessage":{"required":["type","error"],"properties":{"retryable":{"default":null,"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Retryable"},"type":{"default":"error","const":"error","type":"string","title":"Type"},"error":{"type":"string","title":"Error"}},"type":"object","title":"ControlErrorMessage"},"EdenLive5BGameClientInputEventModel":{"additionalProperties":false,"required":["name"],"description":"One raw input event; see ``GameController.push_input``.","properties":{"x":{"default":null,"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"title":"X"},"kind":{"default":"key","enum":["key","action","pointer"],"type":"string","title":"Kind"},"y":{"default":null,"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"title":"Y"},"name":{"type":"string","maxLength":32,"minLength":1,"title":"Name"},"phase":{"default":"press","enum":["down","up","press"],"type":"string","title":"Phase"}},"type":"object","title":"InputEventModel"},"EdenLive5BGameClientGameConfigureMessage":{"additionalProperties":false,"required":["type"],"description":"Pick the game and how it is presented, once per connection; await ``configured``.","properties":{"prompt":{"default":null,"description":"Override the game's built-in scene description.","x-fal-ui":{"order":3,"advanced":true,"field":"textarea"},"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Scene description"},"condition_capture":{"default":"output","enum":["output","encoder","encoder_half"],"description":"Resolution the game frames the model conditions on are captured at: 'output', 'encoder' (the control encoder's input, which every capture is resized to) or 'encoder_half'. Smaller captures render faster; sizes are in /game/info.","x-fal-ui":{"order":6,"advanced":true,"hidden":true},"type":"string","title":"Condition capture"},"game":{"default":null,"description":"Game id from /game/info. Defaults to the first game.","x-fal-ui":{"order":0},"anyOf":[{"enum":["freeze","spiders","pulse","deepwater","kaiju","arcadeduel","desert","snowball","puppy","cat","drone","herding"],"type":"string"},{"type":"null"}],"title":"Game"},"type":{"default":"configure","const":"configure","x-fal-ui":{"hidden":true},"type":"string","title":"Type"},"hud":{"default":"baked","enum":["baked","client","none"],"description":"'baked' draws the game's HUD into the video; 'client' only sends game_state messages so the client draws its own UI; 'none' sends neither.","x-fal-ui":{"order":1,"hidden":true},"type":"string","title":"HUD"},"image_url":{"default":null,"description":"Override the game's photoreal opening frame.","x-fal-ui":{"order":4,"advanced":true,"field":"image"},"anyOf":[{"type":"string","maxLength":60000},{"type":"null"}],"title":"Opening frame"},"autopilot":{"default":false,"description":"Let the game play itself; held player input overrides it.","x-fal-ui":{"order":2},"type":"boolean","title":"Autopilot"},"seed":{"default":null,"x-fal-ui":{"order":5,"advanced":true},"anyOf":[{"maximum":2147483647,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Seed"},"dynamic_prompt":{"default":true,"description":"Before each chunk, re-encode the prompt as the scene description plus the game's description of what happened in that chunk (shots, hits, turns). Adds the text-encode time to input latency on chunks whose description changed.","x-fal-ui":{"order":7,"advanced":true},"type":"boolean","title":"Dynamic prompt"}},"type":"object","title":"GameConfigureMessage"},"EdenLive5BGameServerControlsStateMessage":{"description":"The current game's complete control set, sent after ``configured`` and\n``reset_applied`` and whenever the game changes its controls mid-round.\n\nOnly controls with a ``command`` can be pressed with ``commands``; clients\nshow and bind those, and drop the rest of the vocabulary.","required":["type","controls"],"properties":{"pointer":{"default":null,"description":"Mouse input the client should offer: 'click' presses buttons the baked HUD draws; absent offers none.","anyOf":[{"enum":["click","capture"],"type":"string"},{"type":"null"}],"title":"Pointer"},"controls":{"items":{"$ref":"#/components/schemas/EdenLive5BGameServerControlInfo"},"type":"array","title":"Controls"},"type":{"default":"controls_state","const":"controls_state","type":"string","title":"Type"}},"type":"object","title":"ControlsStateMessage"},"EdenLive5BGameClientGameInputMessage":{"additionalProperties":false,"required":["type","events"],"description":"Ordered raw input events for custom game clients.\n\nClicks on the baked HUD arrive as ``pointer`` presses (see ``MessageUI``).","properties":{"events":{"items":{"$ref":"#/components/schemas/EdenLive5BGameClientInputEventModel"},"maxItems":64,"minItems":1,"type":"array","title":"Events"},"type":{"default":"input","const":"input","x-fal-ui":{"hidden":true},"type":"string","title":"Type"}},"x-fal-ui":{"pointer":"click"},"type":"object","title":"GameInputMessage"},"EdenLive5BGameClientPromptMessage":{"additionalProperties":false,"required":["type","prompt"],"description":"Change the scene description; applied at the next chunk boundary.","properties":{"prompt":{"description":"Text the model renders the scene with. Keeps the current world.","type":"string","maxLength":2000,"x-fal-ui":{"order":0,"field":"textarea"},"minLength":1,"title":"Scene description"},"type":{"default":"prompt","const":"prompt","x-fal-ui":{"hidden":true},"type":"string","title":"Type"}},"type":"object","title":"PromptMessage"},"EdenLive5BGameServerPongMessage":{"description":"Reply to a ``ping``, echoing the client's timestamp for RTT measurement.\n\nThe echoed timestamp has two wire spellings: apps that handle ``ping``\nthemselves echo ``ts``; the fallback handler in\n:class:`registry.wma.sdk.Session` replies with ``client_ts``. Clients read\nwhichever is present. ``server_ts`` is the (unsynchronized) runner clock; it\nonly shows how the round trip divides once the client has an offset estimate.","required":["type"],"properties":{"client_ts":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}],"title":"Client Ts"},"server_ts":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}],"title":"Server Ts"},"ts":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts"},"type":{"default":"pong","const":"pong","type":"string","title":"Type"}},"type":"object","title":"PongMessage"},"EdenLive5BGameServerSessionInfoMessage":{"required":["type","session","info"],"properties":{"info":{"type":"object","title":"Info"},"session":{"enum":["video","game"],"type":"string","title":"Session"},"type":{"default":"session_info","const":"session_info","type":"string","title":"Type"}},"type":"object","title":"SessionInfoMessage"},"EdenLive5BGameClientGameKeysMessage":{"description":"Legacy physical-key report retained for existing WMA clients.","required":["type"],"type":"object","properties":{"activated":{"items":{"enum":["W","A","S","D","ARROWUP","ARROWDOWN","ARROWLEFT","ARROWRIGHT","F"," ","E","SHIFT","R","G","P","ESCAPE"],"type":"string"},"maxItems":16,"type":"array","title":"Activated"},"pressed":{"items":{"enum":["W","A","S","D","ARROWUP","ARROWDOWN","ARROWLEFT","ARROWRIGHT","F"," ","E","SHIFT","R","G","P","ESCAPE"],"type":"string"},"maxItems":16,"type":"array","title":"Pressed"},"type":{"const":"keys","type":"string","title":"Type"}},"deprecated":true,"title":"GameKeysMessage"},"EdenLive5BGameClientStopMessage":{"additionalProperties":false,"required":["type"],"description":"End the session.","properties":{"type":{"default":"stop","const":"stop","x-fal-ui":{"hidden":true},"type":"string","title":"Type"}},"type":"object","title":"StopMessage"},"EdenLive5BGameClientGameResetMessage":{"additionalProperties":false,"required":["type"],"description":"Restart the round (and the model), optionally switching game or settings.","properties":{"prompt":{"default":null,"description":"Override the game's built-in scene description.","x-fal-ui":{"order":3,"advanced":true,"field":"textarea"},"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Scene description"},"condition_capture":{"default":null,"x-fal-ui":{"hidden":true},"anyOf":[{"enum":["output","encoder","encoder_half"],"type":"string"},{"type":"null"}],"title":"Condition Capture"},"game":{"default":null,"description":"Game id from /game/info. Defaults to the first game.","x-fal-ui":{"order":0},"anyOf":[{"enum":["freeze","spiders","pulse","deepwater","kaiju","arcadeduel","desert","snowball","puppy","cat","drone","herding"],"type":"string"},{"type":"null"}],"title":"Game"},"type":{"default":"reset","const":"reset","x-fal-ui":{"hidden":true},"type":"string","title":"Type"},"hud":{"default":null,"x-fal-ui":{"hidden":true},"anyOf":[{"enum":["baked","client","none"],"type":"string"},{"type":"null"}],"title":"Hud"},"image_url":{"default":null,"description":"Override the game's photoreal opening frame.","x-fal-ui":{"order":4,"advanced":true,"field":"image"},"anyOf":[{"type":"string","maxLength":60000},{"type":"null"}],"title":"Opening frame"},"autopilot":{"default":null,"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Autopilot"},"seed":{"default":null,"x-fal-ui":{"order":5,"advanced":true},"anyOf":[{"maximum":2147483647,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Seed"},"dynamic_prompt":{"default":null,"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dynamic Prompt"}},"type":"object","title":"GameResetMessage"},"EdenLive5BGameServerStreamExhaustedMessage":{"description":"The model has no more frames to send and the current peer is closing.\nClients must negotiate a new session to continue.","required":["type"],"properties":{"type":{"default":"stream_exhausted","const":"stream_exhausted","type":"string","title":"Type"}},"type":"object","title":"StreamExhaustedMessage"},"EdenLive5BGameServerControlInfo":{"required":["key","label"],"properties":{"label":{"type":"string","title":"Label"},"command":{"default":null,"description":"Semantic command name.","anyOf":[{"type":"string"},{"type":"null"}],"title":"Command"},"key":{"type":"string","title":"Key"},"hold":{"default":true,"type":"boolean","title":"Hold"}},"type":"object","title":"ControlInfo"},"EdenLive5BGameClientGameActionMessage":{"additionalProperties":false,"required":["type","action"],"description":"A game UI action, e.g. a \"Play again\" or \"Pause\" button.","properties":{"action":{"description":"One of the game's actions from session_info (restart, pause).","type":"string","maxLength":32,"minLength":1,"title":"Action"},"type":{"default":"action","const":"action","x-fal-ui":{"hidden":true},"type":"string","title":"Type"}},"type":"object","title":"GameActionMessage"}},"messages":{"client.keys":{"name":"keys","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientGameKeysMessage"},"title":"Client keys message"},"server.reset_applied":{"name":"reset_applied","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerResetAppliedMessage"},"title":"Server reset_applied message"},"server.error":{"name":"error","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerControlErrorMessage"},"title":"Server error message"},"server.configured":{"name":"configured","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerConfiguredMessage"},"title":"Server configured message"},"client.ping":{"name":"ping","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientPingMessage"},"title":"Client ping message"},"client.configure":{"examples":[{"summary":"Freeze stepping stones across a lava lake and reach the far platform.","name":"Cryo Crossing","x-fal-ui":{"order":0,"thumbnail_alt":"Cryo Crossing opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-freeze-d6f5c32657b5.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"freeze","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Explore a torch-lit cavern and fight giant spiders with an axe.","name":"Spider Hollow","x-fal-ui":{"order":1,"thumbnail_alt":"Spider Hollow opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-spiders-598ea594283f.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"spiders","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Fight street robots with twin pulse pistols, blink and recall.","name":"Pulse Skirmish","x-fal-ui":{"order":2,"thumbnail_alt":"Pulse Skirmish opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-pulse-a8ac525eba97.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"pulse","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Use electrical shocks and a pipe wrench in an underwater machine room.","name":"Deepwater Shock","x-fal-ui":{"order":3,"thumbnail_alt":"Deepwater Shock opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-deepwater-7cac603c3b0a.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"deepwater","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Breathe fire and stomp through a miniature city as a giant monster.","name":"Kaiju Rampage","x-fal-ui":{"order":4,"thumbnail_alt":"Kaiju Rampage opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-kaiju-757a8f5b2218.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"kaiju","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Fight a martial arts duel with combos, kicks and energy attacks.","name":"Arcade Duel","x-fal-ui":{"order":5,"thumbnail_alt":"Arcade Duel opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-arcadeduel-c6b1896c1ca0.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"arcadeduel","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Clear a desert passage with a rifle, cover and flashbangs.","name":"Desert Crossfire","x-fal-ui":{"order":6,"thumbnail_alt":"Desert Crossfire opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-desert-8b07e594af6f.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"desert","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Roll a growing snowball across a quiet snowfield, leaving a trail toward a cabin.","name":"A Snowy Way Home","x-fal-ui":{"order":7,"thumbnail_alt":"A Snowy Way Home opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-snowball-2071a57bb661.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"snowball","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Guide a puppy through fourteen gentle automatic hops to the highest island.","name":"One Small Hop","x-fal-ui":{"order":8,"thumbnail_alt":"One Small Hop opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-puppy-6554dd673213.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"puppy","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Move a curious kitten around a balcony and knock down three flower pots.","name":"Just One Little Push","x-fal-ui":{"order":9,"thumbnail_alt":"Just One Little Push opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-cat-13a26920d69c.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"cat","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Fly through a forest in first person and follow the navigation map to a clearing.","name":"Find the Forest Clearing","x-fal-ui":{"order":10,"thumbnail_alt":"Find the Forest Clearing opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-drone-6b8a16e1d7e0.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"drone","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}},{"summary":"Guide three sheep into their pen with a sheepdog, using movement and barks.","name":"Bring the Flock Home","x-fal-ui":{"order":11,"thumbnail_alt":"Bring the Flock Home opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-herding-bfb56c6cfbdb.jpg","category":"Games","tags":["Playable"]},"payload":{"condition_capture":"output","game":"herding","autopilot":false,"dynamic_prompt":true,"type":"configure","hud":"baked"}}],"summary":"Pick a game to play.","name":"configure","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientGameConfigureMessage"},"title":"Choose game"},"client.reset":{"examples":[{"summary":"Freeze stepping stones across a lava lake and reach the far platform.","name":"Cryo Crossing","x-fal-ui":{"order":0,"thumbnail_alt":"Cryo Crossing opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-freeze-d6f5c32657b5.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"freeze","type":"reset"}},{"summary":"Explore a torch-lit cavern and fight giant spiders with an axe.","name":"Spider Hollow","x-fal-ui":{"order":1,"thumbnail_alt":"Spider Hollow opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-spiders-598ea594283f.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"spiders","type":"reset"}},{"summary":"Fight street robots with twin pulse pistols, blink and recall.","name":"Pulse Skirmish","x-fal-ui":{"order":2,"thumbnail_alt":"Pulse Skirmish opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-pulse-a8ac525eba97.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"pulse","type":"reset"}},{"summary":"Use electrical shocks and a pipe wrench in an underwater machine room.","name":"Deepwater Shock","x-fal-ui":{"order":3,"thumbnail_alt":"Deepwater Shock opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-deepwater-7cac603c3b0a.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"deepwater","type":"reset"}},{"summary":"Breathe fire and stomp through a miniature city as a giant monster.","name":"Kaiju Rampage","x-fal-ui":{"order":4,"thumbnail_alt":"Kaiju Rampage opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-kaiju-757a8f5b2218.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"kaiju","type":"reset"}},{"summary":"Fight a martial arts duel with combos, kicks and energy attacks.","name":"Arcade Duel","x-fal-ui":{"order":5,"thumbnail_alt":"Arcade Duel opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-arcadeduel-c6b1896c1ca0.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"arcadeduel","type":"reset"}},{"summary":"Clear a desert passage with a rifle, cover and flashbangs.","name":"Desert Crossfire","x-fal-ui":{"order":6,"thumbnail_alt":"Desert Crossfire opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-desert-8b07e594af6f.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"desert","type":"reset"}},{"summary":"Roll a growing snowball across a quiet snowfield, leaving a trail toward a cabin.","name":"A Snowy Way Home","x-fal-ui":{"order":7,"thumbnail_alt":"A Snowy Way Home opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-snowball-2071a57bb661.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"snowball","type":"reset"}},{"summary":"Guide a puppy through fourteen gentle automatic hops to the highest island.","name":"One Small Hop","x-fal-ui":{"order":8,"thumbnail_alt":"One Small Hop opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-puppy-6554dd673213.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"puppy","type":"reset"}},{"summary":"Move a curious kitten around a balcony and knock down three flower pots.","name":"Just One Little Push","x-fal-ui":{"order":9,"thumbnail_alt":"Just One Little Push opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-cat-13a26920d69c.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"cat","type":"reset"}},{"summary":"Fly through a forest in first person and follow the navigation map to a clearing.","name":"Find the Forest Clearing","x-fal-ui":{"order":10,"thumbnail_alt":"Find the Forest Clearing opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-drone-6b8a16e1d7e0.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"drone","type":"reset"}},{"summary":"Guide three sheep into their pen with a sheepdog, using movement and barks.","name":"Bring the Flock Home","x-fal-ui":{"order":11,"thumbnail_alt":"Bring the Flock Home opening frame","thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/eden-live-herding-bfb56c6cfbdb.jpg","category":"Games","tags":["Playable"]},"payload":{"game":"herding","type":"reset"}}],"summary":"Restart the round or switch games.","name":"reset","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientGameResetMessage"},"title":"Restart"},"client.input":{"name":"input","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientGameInputMessage"},"title":"Client input message"},"client.action":{"examples":[{"name":"play-again","payload":{"action":"restart","type":"action"}}],"summary":"Press a game UI button.","name":"action","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientGameActionMessage"},"title":"Game action"},"server.game_state":{"name":"game_state","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerGameStateMessage"},"title":"Server game_state message"},"client.stop":{"name":"stop","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientStopMessage"},"title":"End session"},"server.session_info":{"name":"session_info","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerSessionInfoMessage"},"title":"Server session_info message"},"client.prompt":{"summary":"Change the scene description.","name":"prompt","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientPromptMessage"},"title":"Update prompt"},"server.stream_exhausted":{"name":"stream_exhausted","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerStreamExhaustedMessage"},"title":"Server stream_exhausted message"},"client.commands":{"examples":[{"name":"move-and-fire","payload":{"active":["forward","fire"],"activated":[],"type":"commands"}}],"summary":"Move, look and use abilities.","name":"commands","payload":{"$ref":"#/components/schemas/EdenLive5BGameClientGameCommandsMessage"},"title":"Controls"},"server.pong":{"name":"pong","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerPongMessage"},"title":"Server pong message"},"server.prompt_applied":{"name":"prompt_applied","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerPromptAppliedMessage"},"title":"Server prompt_applied message"},"server.stats":{"name":"stats","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerStatsMessage"},"title":"Server stats message"},"server.controls_state":{"name":"controls_state","payload":{"$ref":"#/components/schemas/EdenLive5BGameServerControlsStateMessage"},"title":"Server controls_state message"}}},"servers":{"session":{"description":"Runtime-assigned WebRTC peer negotiated over HTTP.","x-fal-negotiated-by":"start_session_start_session_post","protocol":"webrtc","variables":{"sessionHost":{"default":"runtime-assigned.invalid","description":"Logical peer supplied by the OpenAPI session negotiation."}},"host":"{sessionHost}"}}}