IP Library › Granted Patent US 12,387,038
Granted Patent B2
US 12,387,038 · App. 17/620,939 · Granted Aug 12, 2025

Systems and methods of generating a design based on a user search query

Inventors: Adam Schuck (Sydney, AU); William Radford (Sydney, AU); Cameron Adams (Rozelle, AU); Melanie Joy Perkins (Sydney, AU)
Assignee: CANVA PTY LTD
G06F40/186G06F40/106G06F40/205G06T11/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,387,038
App. No.
17/620,939
Filed
Dec 20, 2021
Granted
Aug 12, 2025
Kind
B2
Art Unit
2118
USPC
715/243
Abstract

An apparatus includes network interface and a processor. The network interface is configured to receive first user input indicating a first search query. The processor is configured to identify one or more first keywords by parsing the first search query, to select a first design template based on the one or more first keywords, and to select first design content based on the one or more first keywords. The first design content includes at least one of a first font, a first fill, or a first image. The processor is also configured to generate a first design based on the first design template and to update the first design based on the first design content. The processor is configured to generate a first graphical user interface (GUI) including a first design image of the first design and to provide the first GUI via the network interface to a client device.

Claims (107)

1. An apparatus comprising:

a network interface configured to receive a first user input from a client device and a second user input, the first user input being text input defining a first search query and the second user input indicating a second search query; and

a processor configured to:

identify one or more first keywords by parsing the first search query;

after identifying the one or more first keywords, select a first design template based on specific keywords of the one or more first keywords;

after identifying the one or more first keywords, select first design content based on the specific keywords of the one or more first keywords, the first design content including at least one first image;

after selecting first design template, generate a first design based on the first design template, wherein generating the first design includes, based on determining that the first design template includes a first design element having a first content role, adding a second design element having the first content role to the first design;

after generating the first design and before presenting the first design to the client device, generate a first updated version of the first design based on the first design content;

after generating the first updated version of the first design, generate a first graphical user interface (GUI) including a first design image of the first updated version of the first design;

after generating the first GUI, provide the first GUI via the network interface to the client device;

identify one or more second keywords by parsing the second search query;

select a second design template based on the one or more second keywords;

generate a second updated version of the first design by applying the second design template to the first design;

generate a second GUI that includes a second design image of the second updated version of the first design; and

provide the second GUI to the client device,

wherein generating the second updated version of the first design by applying the second design template to the first design includes:

generating a content signature of the first design, the content signature indicating that the second design element of the first design has the first content role;

generating a second design based on the second design template, wherein generating the second design includes, based on determining that the second design template includes a third design element having the first content role, adding a fourth design element having the first content role to the second design;

updating the second design by applying the content signature to the second design, wherein applying the content signature to the second design includes transferring content from the second design element to the fourth design element; and

designating the second design as the second updated version of the first design.

2. The apparatus of claim 1 , wherein the network interface is further configured to receive a selection of the first design image, wherein the processor is further configured to:

in response to receiving the selection of the first design image, generate a third GUI that includes one or more options to edit the first updated version of the first design; and

provide the third GUI via the network interface to the client device.

3. The apparatus of claim 2 , wherein the processor is further configured to, in response to receiving a selection of a save option of the third GUI, update search selection data to indicate that the first updated version of the first design is saved by a user and that the first updated version of the first design is based on the first search query, the first design template, and the first design content.

4. The apparatus of claim 1 , wherein the processor is further configured to select the first design template based at least in part on determining that a tag of the first design template matches at least one of the one or more first keywords.

5. The apparatus of claim 1 , wherein the processor is further configured to select the first design content based at least in part on determining that a tag of the first design content matches at least one of the one or more first keywords.

6. The apparatus of claim 1 , wherein the processor is further configured to:

identify a first plurality of design templates based on the one or more first keywords; and

determine scores of the first plurality of design templates, the scores including a first score of the first design template,

wherein the first design template is selected based at least in part on determining that the first score satisfies a score threshold.

7. The apparatus of claim 6 , wherein the processor is further configured to determine the first score based on a count of the one or more first keywords that match at least one tag of the first design template.

8. The apparatus of claim 6 , wherein the processor is further configured to:

retrieve search selection data indicating that a third design was saved by a user at a first time and that the third design is based on a third search query and the first design template; and

determine, at a second time, the first score based on a comparison of the first time and the second time, a comparison of the first search query and the third search query, a comparison of first user characteristics of the user and second user characteristics of a logged-in user, or a combination thereof.

9. The apparatus of claim 1 , wherein the processor is further configured to:

select a third design template based on the one or more first keywords;

select second design content based on the one or more first keywords;

generate a third design based on the third design template; and

generate an updated version of the third design based on the second design content,

wherein the first GUI includes a third design image of the updated version of the third design.

10. The apparatus of claim 1 , wherein the network interface is further configured to receive third user input indicating a third search query, and wherein the processor is further configured to:

identify one or more third keywords by parsing the third search query;

select second design content based on the one or more third keywords;

generate a third updated version of the first design based on the second design content;

generate a third GUI that includes a third design image of the third updated version of the first design; and

provide the third GUI to the client device.

11. The apparatus of claim 10 , wherein the second design content includes at least one of a second font, a second fill, or a second image, and wherein generating the third updated version of the first design based on the second design content includes replacing at least one of a first font, a first fill, or the first image in the first design with a corresponding one of the second font, the second fill, or the second image.

12. A method comprising:

receiving, at a first device from a second device, a first user input being text input defining a first search query and a second user input indicating a second search query;

identifying, at the first device, one or more first keywords by parsing the first search query;

after identifying the one or more first keywords, selecting, at the first device, a first design template based on specific keywords of the one or more first keywords;

after identifying the one or more first keywords, selecting, at the first device, first design content based on the specific keywords of the one or more first keywords, the first design content including at least one first image;

after selecting the first design template, generating, at the first device, a first design based on the first design template, wherein generating the first design includes, based on determining that the first design template includes a first design element having a first content role, adding a second design element having the first content role to the first design;

after generating the first design and before presenting the first design to the second device, generating, at the first device, a first updated version of the first design based on the first design content;

generating, at the first device, a first graphical user interface (GUI) including a first design image of the first updated version of the first design;

providing the first GUI from the first device to the second device;

identifying one or more second keywords by parsing the second search query;

selecting a second design template based on the one or more second keywords;

generating a second updated version of the first design by applying the second design template to the first design;

generating a second GUI that includes a second design image of the second updated version of the first design; and

providing the second GUI to the client device,

wherein generating the second updated version of the first design by applying the second design template to the first design includes:

generating a content signature of the first design, the content signature indicating that the second design element of the first design has the first content role;

generating a second design based on the second design template, wherein the generating the second design includes, based on determining that the second design template includes a third design element having the first content role, adding a fourth design element having the first content role to the second design;

updating the second design by applying the content signature to the second design, wherein applying the content signature to the second design includes transferring content from the second design element to the fourth design element; and

designating the second design as the second updated version of the first design.

13. The method of claim 12 , further comprising:

receiving, at the first device from the second device, a selection of the first design image;

in response to receiving the selection of the first design image, generating a third GUI that includes one or more options to edit the first updated version of the first design; and

providing the third GUI from the first device to the second device.

14. The method of claim 12 , further comprising selecting the first design template based at least in part on determining that a tag of the first design template matches at least one of the one or more first keywords.

15. The method of claim 12 , further comprising:

identifying, at the first device, a first plurality of design templates based on the one or more first keywords; and

determining scores of the first plurality of design templates, the scores including a first score of the first design template,

wherein the first design template is selected based at least in part on determining that the first score satisfies a score threshold.

16. A computer-readable storage device storing instructions that, when executed by a processor cause the processor to perform operations comprising:

receiving a first user input being text input defining a first search query and a second user input indicating a second search query;

identifying one or more first keywords by parsing the first search query;

after identifying the one or more first keywords, selecting a first design template based on specific keywords of the one or more first keywords;

after identifying the one or more first keywords, selecting first design content based on the specific keywords of the one or more first keywords, the first design content including at least one first image;

after selecting first design template, generating a first design based on the first design template, wherein generating the first design includes, based on determining that the first design template includes a first design element having a first content role, adding a second design element having the first content role to the first design;

after generating the first design and before presenting the first design to a client device, generating a first updated version of the first design based on the first design content;

after generating a first updated version of the first design, generating a first graphical user interface (GUI) including a first image of the first updated version of the first design;

after generating the first GUI, providing the first GUI to a client device;

identifying one or more second keywords by parsing the second search query;

selecting a second design template based on the one or more second keywords;

generating a second updated version of the first design by applying the second design template to the first design;

generating a second GUI that includes a second design image of the second updated version of the first design; and

providing the second GUI to the client device;

wherein generating the second updated version of the first design by applying the second design template to the first design includes:

generating a content signature of the first design, the content signature indicating that the second design element of the first design has the first content role;

generating a second design based on the second design template, wherein the generating the second design includes, based on determining that the second design template includes a third design element having the first content role. adding a fourth design element having the first content role to the second design;

updating the second design by applying the content signature to the second design, wherein applying the content signature to the second design includes transferring content from the second design element to the fourth design element; and

designating the second design as the second updated version of the first design.

17. The computer-readable storage device of claim 16 , wherein the operations further comprise:

selecting a third design template based on the one or more first keywords;

selecting second design content based on the one or more first keywords;

generating a third design based on the third design template; and

generating an updated version of the third design based on the second design content,

wherein the first GUI includes a third design image of the updated version of the third design.

18. The computer-readable storage device of claim 16 , wherein the operations further comprise:

receiving third user input indicating a third search query;

identifying one or more third keywords by parsing the third search query;

selecting second design content based on the one or more third keywords;

generating a third updated version of the first design based on the second design content;

generating a third GUI that includes a third design image of the third updated version of the first design; and

providing the third GUI to the client device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2021
From: SCHUCK, ADAM; RADFORD, WILLIAM; ADAMS, CAMERON; PERKINS, MELANIE JOY
To: CANVA PTY LTD
Reel/Frame 058432/0536 →
Continuity (2)
Provisional Application 62868104 · Jun 28, 2019
Related Publication 20220327282A1 · Oct 13, 2022
References Cited (16)
US 9396235B1 · Wald · 2016 [cited by examiner]
US 10013403B2 · Masuko · 2018 [cited by examiner]
US 10140392B1 · Bowen · 2018 [cited by applicant]
US 10157408B2 · Varley · 2018 [cited by applicant]
US 11720942B1 · Bazzani · 2023 [cited by examiner]
US 20050104897A1 · Walker · 2005 [cited by examiner]
US 20050122543A1 · Walker · 2005 [cited by examiner]
US 20090147297A1 · Stevenson · 2009 [cited by examiner]
US 20090327875A1 · Kinkoh · 2009 [cited by examiner]
US 20100114691A1 · Wu · 2010 [cited by examiner]
US 20100235338A1 · Gabriel · 2010 [cited by examiner]
US 20130124547A1 · Kasterstein · 2013 [cited by examiner]
US 20190043231A1 · Uzgin · 2019 [cited by examiner]
US 20210342338A1 · Nocedal De La Garza · 2021 [cited by examiner]
US 20220222418A1 · Ziraknejad · 2022 [cited by examiner]
International Search Report and Written Opinion for PCT/AU2020/050651 mailed Aug. 17, 2020. [cited by applicant]