<!--
Generated by DrawGPT.
Free, open source, AI generated images in SVG, PNG, and HTML Canvas format.
https://drawgpt.ai
Created: 2025-05-16T23:21:00+00:00
-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
<title>Surfer's Paradise: Riding the Perfect Wave</title>
<desc>When a surfer says they're "board" with life, they just need to catch the next wave! Hang ten and enjoy the ride!</desc>
<metadata type="keywords">surfing, waves, beach, ocean, summer</metadata>
<!-- Sky -->
<rect id="sky" class="sky" x="0" y="0" width="512" height="300" fill="#87CEEB">
<animate attributeName="fill" values="#87CEEB;#FF9966;#87CEEB" dur="5s" repeatCount="indefinite" />
</rect>
<!-- Sun -->
<circle id="sun" class="sun" cx="430" cy="80" r="40" fill="#FFFF00">
<animate attributeName="r" values="40;42;40" dur="5s" repeatCount="indefinite" />
<animate attributeName="fill" values="#FFFF00;#FFA500;#FFFF00" dur="5s" repeatCount="indefinite" />
</circle>
<!-- Sun rays -->
<g id="sunrays" class="sunrays">
<animate attributeName="opacity" values="0.7;1;0.7" dur="5s" repeatCount="indefinite" />
<line x1="430" y1="20" x2="430" y2="10" stroke="#FFFF00" stroke-width="3" />
<line x1="430" y1="150" x2="430" y2="140" stroke="#FFFF00" stroke-width="3" />
<line x1="370" y1="80" x2="360" y2="80" stroke="#FFFF00" stroke-width="3" />
<line x1="490" y1="80" x2="500" y2="80" stroke="#FFFF00" stroke-width="3" />
<line x1="387" y1="37" x2="380" y2="30" stroke="#FFFF00" stroke-width="3" />
<line x1="473" y1="123" x2="480" y2="130" stroke="#FFFF00" stroke-width="3" />
<line x1="387" y1="123" x2="380" y2="130" stroke="#FFFF00" stroke-width="3" />
<line x1="473" y1="37" x2="480" y2="30" stroke="#FFFF00" stroke-width="3" />
</g>
<!-- Clouds -->
<g id="cloud1" class="cloud">
<animate attributeName="transform" type="translate" values="0,0; 20,0; 0,0" dur="5s" repeatCount="indefinite" />
<ellipse cx="100" cy="70" rx="30" ry="20" fill="white" />
<ellipse cx="70" cy="70" rx="20" ry="15" fill="white" />
<ellipse cx="130" cy="70" rx="20" ry="15" fill="white" />
</g>
<g id="cloud2" class="cloud">
<animate attributeName="transform" type="translate" values="0,0; -15,0; 0,0" dur="5s" repeatCount="indefinite" />
<ellipse cx="320" cy="50" rx="25" ry="15" fill="white" />
<ellipse cx="290" cy="50" rx="15" ry="10" fill="white" />
<ellipse cx="350" cy="50" rx="15" ry="10" fill="white" />
</g>
<!-- Ocean -->
<rect id="ocean" class="ocean" x="0" y="300" width="512" height="212" fill="#1E90FF">
<animate attributeName="fill" values="#1E90FF;#0066CC;#1E90FF" dur="5s" repeatCount="indefinite" />
</rect>
<!-- Beach -->
<path id="beach" class="beach" d="M0,350 C100,320 200,340 300,330 C400,320 512,350 512,350 L512,512 L0,512 Z" fill="#F5DEB3" />
<!-- Waves -->
<g id="waves" class="waves">
<path id="wave1" class="wave" d="M0,300 C60,280 120,320 180,300 C240,280 300,320 360,300 C420,280 480,320 512,300 L512,350 L0,350 Z" fill="#4169E1">
<animate attributeName="d" values="M0,300 C60,280 120,320 180,300 C240,280 300,320 360,300 C420,280 480,320 512,300 L512,350 L0,350 Z;
M0,300 C60,320 120,280 180,300 C240,320 300,280 360,300 C420,320 480,280 512,300 L512,350 L0,350 Z;
M0,300 C60,280 120,320 180,300 C240,280 300,320 360,300 C420,280 480,320 512,300 L512,350 L0,350 Z"
dur="5s" repeatCount="indefinite" />
</path>
<path id="wave2" class="wave" d="M0,320 C40,300 80,340 120,320 C160,300 200,340 240,320 C280,300 320,340 360,320 C400,300 440,340 480,320 C520,300 560,340 600,320 L600,350 L0,350 Z" fill="#6495ED" opacity="0.7">
<animate attributeName="d" values="M0,320 C40,300 80,340 120,320 C160,300 200,340 240,320 C280,300 320,340 360,320 C400,300 440,340 480,320 C520,300 560,340 600,320 L600,350 L0,350 Z;
M0,320 C40,340 80,300 120,320 C160,340 200,300 240,320 C280,340 320,300 360,320 C400,340 440,300 480,320 C520,340 560,300 600,320 L600,350 L0,350 Z;
M0,320 C40,300 80,340 120,320 C160,300 200,340 240,320 C280,300 320,340 360,320 C400,300 440,340 480,320 C520,300 560,340 600,320 L600,350 L0,350 Z"
dur="5s" repeatCount="indefinite" />
</path>
<path id="wave3" class="wave" d="M0,330 C30,320 60,340 90,330 C120,320 150,340 180,330 C210,320 240,340 270,330 C300,320 330,340 360,330 C390,320 420,340 450,330 C480,320 510,340 540,330 L540,350 L0,350 Z" fill="#87CEFA" opacity="0.5">
<animate attributeName="d" values="M0,330 C30,320 60,340 90,330 C120,320 150,340 180,330 C210,320 240,340 270,330 C300,320 330,340 360,330 C390,320 420,340 450,330 C480,320 510,340 540,330 L540,350 L0,350 Z;
M0,330 C30,340 60,320 90,330 C120,340 150,320 180,330 C210,340 240,320 270,330 C300,340 330,320 360,330 C390,340 420,320 450,330 C480,340 510,320 540,330 L540,350 L0,350 Z;
M0,330 C30,320 60,340 90,330 C120,320 150,340 180,330 C210,320 240,340 270,330 C300,320 330,340 360,330 C390,320 420,340 450,330 C480,320 510,340 540,330 L540,350 L0,350 Z"
dur="5s" repeatCount="indefinite" />
</path>
</g>
<!-- Surfboard -->
<g id="surfboard" class="surfboard">
<animate attributeName="transform" type="translate" values="0,0; -20,-10; 0,0" dur="5s" repeatCount="indefinite" />
<path d="M220,310 C230,305 250,300 270,305 C290,310 300,320 310,330 C280,335 250,335 220,330 Z" fill="#FF6347" />
<line x1="270" y1="305" x2="270" y2="330" stroke="#8B4513" stroke-width="2" />
</g>
<!-- Surfer -->
<g id="surfer" class="surfer">
<animate attributeName="transform" type="translate" values="0,0; -20,-10; 0,0" dur="5s" repeatCount="indefinite" />
<!-- Body -->
<path id="body" class="body" d="M250,290 C255,280 260,285 265,290 C270,295 270,305 265,310 C260,315 255,310 250,305 Z" fill="#FFD700" />
<!-- Head -->
<circle id="head" class="head" cx="260" cy="280" r="8" fill="#FFA07A" />
<!-- Arms -->
<path id="arms" class="arms" d="M255,290 C250,285 245,280 240,285 M265,290 C270,285 275,290 280,295" stroke="#FFD700" stroke-width="3" stroke-linecap="round" />
<!-- Legs -->
<path id="legs" class="legs" d="M255,310 C250,315 245,320 245,325 M265,310 C270,315 275,320 280,325" stroke="#FFD700" stroke-width="3" stroke-linecap="round" />
<!-- Wetsuit details -->
<path id="wetsuit-details" class="wetsuit-details" d="M255,295 L265,295" stroke="#000" stroke-width="1" opacity="0.5" />
</g>
<!-- Palm trees -->
<g id="palm1" class="palm-tree">
<path id="trunk1" class="trunk" d="M100,400 C105,380 110,360 105,340" stroke="#8B4513" stroke-width="10" fill="none" />
<path id="leaves1" class="leaves" d="M105,340 C85,330 65,335 55,345 M105,340 C125,330 145,335 155,345 M105,340 C95,320 95,310 105,300 M105,340 C115,320 115,310 105,300" stroke="#228B22" stroke-width="5" fill="none">
<animate attributeName="d" values="M105,340 C85,330 65,335 55,345 M105,340 C125,330 145,335 155,345 M105,340 C95,320 95,310 105,300 M105,340 C115,320 115,310 105,300;
M105,340 C90,335 70,345 60,355 M105,340 C120,335 140,345 150,355 M105,340 C100,325 100,315 110,305 M105,340 C110,325 110,315 100,305;
M105,340 C85,330 65,335 55,345 M105,340 C125,330 145,335 155,345 M105,340 C95,320 95,310 105,300 M105,340 C115,320 115,310 105,300"
dur="5s" repeatCount="indefinite" />
</path>
</g>
<g id="palm2" class="palm-tree">
<path id="trunk2" class="trunk" d="M450,420 C445,400 440,380 445,360" stroke="#8B4513" stroke-width="10" fill="none" />
<path id="leaves2" class="leaves" d="M445,360 C465,350 485,355 495,365 M445,360 C425,350 405,355 395,365 M445,360 C455,340 455,330 445,320 M445,360 C435,340 435,330 445,320" stroke="#228B22" stroke-width="5" fill="none">
<animate attributeName="d" values="M445,360 C465,350 485,355 495,365 M445,360 C425,350 405,355 395,365 M445,360 C455,340 455,330 445,320 M445,360 C435,340 435,330 445,320;
M445,360 C460,355 480,365 490,375 M445,360 C430,355 410,365 400,375 M445,360 C450,345 450,335 440,325 M445,360 C440,345 440,335 450,325;
M445,360 C465,350 485,355 495,365 M445,360 C425,350 405,355 395,365 M445,360 C455,340 455,330 445,320 M445,360 C435,340 435,330 445,320"
dur="5s" repeatCount="indefinite" />
</path>
</g>
<!-- Beach ball -->
<g id="beachball" class="beachball">
<animate attributeName="transform" type="rotate" values="0 400 450; 360 400 450; 0 400 450" dur="5s" repeatCount="indefinite" />
<circle cx="400" cy="450" r="15" fill="#FFFFFF" />
<path d="M400,435 A15,15 0 0,1 415,450 L400,450 Z" fill="#FF0000" />
<path d="M400,435 A15,15 0 0,0 385,450 L400,450 Z" fill="#0000FF" />
<path d="M400,465 A15,15 0 0,0 415,450 L400,450 Z" fill="#FFFF00" />
<path d="M400,465 A15,15 0 0,1 385,450 L400,450 Z" fill="#00FF00" />
</g>
<!-- Seagulls -->
<g id="seagull1" class="seagull">
<animate attributeName="transform" type="translate" values="0,0; 50,10; 100,0; 150,-10; 200,0; 250,10; 300,0; 350,-10; 400,0; 450,10; 500,0; 550,-10; 600,0" dur="5s" repeatCount="indefinite" />
<path d="M50,100 C55,95 60,95 65,100 C70,95 75,95 80,100" stroke="#000" stroke-width="2" fill="none" />
</g>
<g id="seagull2" class="seagull">
<animate attributeName="transform" type="translate" values="100,0; 150,10; 200,0; 250,-10; 300,0; 350,10; 400,0; 450,-10; 500,0; 550,10; 600,0; 650,-10; 700,0" dur="5s" repeatCount="indefinite" />
<path d="M150,120 C155,115 160,115 165,120 C170,115 175,115 180,120" stroke="#000" stroke-width="2" fill="none" />
</g>
<!-- Small fish jumping -->
<g id="fish" class="fish">
<animate attributeName="transform" type="translate" values="0,0; 0,-20; 0,0" dur="5s" repeatCount="indefinite" />
<path d="M330,340 C335,335 340,335 345,340 L350,335 L345,340 C340,345 335,345 330,340 Z" fill="#FF4500">
<animate attributeName="fill" values="#FF4500;#FF6347;#FF4500" dur="5s" repeatCount="indefinite" />
</path>
</g>
<!-- Water splashes -->
<g id="splashes" class="splashes">
<animate attributeName="opacity" values="0;1;0" dur="5s" repeatCount="indefinite" />
<circle cx="240" cy="320" r="3" fill="white" />
<circle cx="250" cy="325" r="2" fill="white" />
<circle cx="260" cy="318" r="4" fill="white" />
<circle cx="270" cy="322" r="3" fill="white" />
<circle cx="280" cy="319" r="2" fill="white" />
</g>
</svg>
These are recent AI images made by the community! These may use any AI model including DALL-E 3, Flux, Stable Diffusion, GPT-4, o1, and more and may be anything from simple animated SVGs to PNGs.
DrawGPT is a an AI art generator that uses GPT-4, o1, o3, DALL-E 3, Gemini 2.0, Imagegen 3.0, Flux, Stable Diffusion, and Custom GPTs, ChatGPT, and other large language models to generate new images from text prompts.
This does not require access to premium AI model subscriptions, it is able to be used by anyone with an internet connection and tokens. This allows everyone to get access to the very best AI art generation technology.
Artificial intelligence may create strange or unusual images. It is being used to generated images for advertising, entertainment, gaming, marketing, and fun right now!
Because Draw GPT has access to do many models we assume the model providers have followed best practices when attributing or utilizing data and images in the training data.
Yes! You can use the images for commercial purposes! And so can Draw GPT.
DrawGPT can draw anything you can think of and more! Just type your text prompt in to the textbox exactly like ChatGPT and see what the AI gives you! Seriously, you can get GPT to draw just about anything for you that you can type in the box.
DrawGPT creates images in PNG, SVG, and Javascript format for download and use. This is different than other AI art projects that only create images in PNG format; being able to get a scene graph via Javascript draw commands is a unique feature of this project and getting any AI art in SVG vector format is unique to DrawGPT.
Many people use this to generate quick art for simple projects, video game assets, new business logos, and more. It is also used to generate images for advertising, entertainment, gaming, marketing, creating art for ads and blog posts with AI and fun.
Want to learn more about DrawGPT, the types of possible image renders, and how to use DrawGPT in your next project as a developer?
Check out our AI image generation API!
DrawGPT is runs on an AI that has never actually "seen" an image as embodied AI in its life!
This method of drawing images using raw code is not a great way to draw complex images with lots of structure. It may be able to make photograph quality artwork and professional illustrations with AI but it can fail when using certain types of typography.
Yes and no. Same same but different.
ChatGPT runs on the same model that this project uses, so this is like using ChatGPT to generate images, but it is a different instance of the model. This means that the AI is not precisly the same but it is the same quality AI, image generation AI, large language model, and overall AI art that ChatGPT is using and that Chat GPT can draw.
What is the difference? ChatGPT is specifically wired up to be conversational and track a conversation thread across multiple user prompts. Images in ChatGPT using DALL-E 3 are not saved to the Intenet and made available publicly.
In comparison DrawGPT does not remember things from prompt to prompt, each image is a unique image that does not reference any of the images or prompts previously supplied.
You can do what you want it's your party.
We humbly ask that you backlink to DrawGPT if you do use our images in any promotion or commercial ways, but it is not required.
At the moment all images & Javascript code generated by this tool under the CC0 License with outrageous added term that the license can be revoked or retroactively changed at any time without warning for any image.
Yes! You can use the images for commercial purposes! And so can DrawGPT.
Images & prompts may be made made public.
Depending on the situation the prompts themselves are stored internally for research purposes.
Employees at OpenAI and DrawGPT have access to any prompts you submit.
DO NOT SUBMIT PERSONAL INFORMATION.