/v1/leases/{lease}/swipePOSTfrom to to: fast start, lifted while still
moving, so feeds like TikTok and lists keep going. Speed, easing and a slight sideways
bow are random on every call; durationMs fixes the speed. Use it for Home Screen
pages, feeds, carousels, pickers and sliders. For exact drag and drop use hold-drag.ghosthand tunnel url --new-token. The unix socket needs no token1Min: > 0Max: 1"it-IT"Min length: 2wait-text-timeout: the input was
sent and is never repeated."About"Min length: 1waitText, counted from the end of the input. Needs waitText.5000Min: 1Max: 60000waitText), wait until the screen is still, then return its image
in screenshot of the result, in the scale space.waitText), wait until the screen is still, then return its OCR
text in screen of the result. OCR runs on the native frame, boxes are in the scale
space. With screenshot, both come from the same frame.falseapplication/jsonrequiredscale space (screen points by default)207Min: 0scale space (screen points by default)448Min: 0scale space (screen points by default)207Min: 0scale space (screen points by default)448Min: 016Max: 10000tapped 207,448screenshot was askedscale spacescale spacescreentext was askedscale spacescale spacescale spacescale space0Max: 1title and detail are for people.curl -X POST "https://ghosthand.dev/macs/studio/v1/leases/42/swipe" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "from": { "x": 207, "y": 300 }, "to": { "x": 207, "y": 600 }, "durationMs": 400 }'
{ "message": "tapped 98,443", "logs": [ "found \"General\" at 98,443" ], "screen": { "width": 414, "height": 896, "lines": [ { "text": "General", "x": 158, "y": 56, "width": 98, "height": 22, "confidence": 1 }, { "text": "About", "x": 66, "y": 145, "width": 50, "height": 20, "confidence": 1 } ] } }