| CPC G06T 17/20 (2013.01) [G06T 3/20 (2013.01); G06T 3/40 (2013.01); G06T 7/20 (2013.01); G06T 7/251 (2017.01); G06T 11/60 (2013.01); G06T 13/20 (2013.01); G06T 15/00 (2013.01); G06T 15/04 (2013.01); G06T 19/006 (2013.01); G06T 19/20 (2013.01); G06F 2218/00 (2023.01); G06T 2219/2004 (2013.01); G06T 2219/2012 (2013.01); G06T 2219/2016 (2013.01)] | 20 Claims |

|
1. A system comprising:
at least one hardware processor; and
a memory storing instructions which, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:
receiving, via an interactive interface including a live view of a camera feed, a first input comprising one or more text characters;
detecting a first reference surface in a three-dimensional (3D) space captured within the live view of the camera feed;
rendering a 3D caption based on the one or more text characters at a first position in the 3D space captured within the live view of the camera feed based on the first reference surface;
receiving a second input to move the 3D caption in the 3D space captured within the live view of the camera feed;
detecting a second reference surface in the 3D space captured within the live view of the camera feed based on the second input;
rendering the 3D caption at a second position in the 3D space captured within the live view of the camera feed based on the second reference surface;
capturing one or more images from the live view of the camera feed; and
generating a message that includes the one or more images with the 3D caption rendered at the second position in the 3D space captured within the live view of the camera feed.
|