// Loona as Belle from Beauty and the Beast
// A fiery twist on a classic tale!
// Drawing Belle's iconic yellow dress on Loona
ctx.fillStyle = "#FFD700"; // Setting the fill color to yellow
ctx.beginPath();
ctx.moveTo(178, 320); // Starting point for the dress shape
ctx.lineTo(178, 512); // Bottom left corner
ctx.lineTo(334, 512); // Bottom right corner
ctx.lineTo(334, 320); // Top right corner
ctx.closePath();
ctx.fill();
// Drawing Loona's devil horns and tail
ctx.fillStyle = "#FF0000"; // Setting the fill color to red
ctx.beginPath();
ctx.moveTo(98, 128); // Starting point for the left horn
ctx.lineTo(128, 0); // Top of the left horn
ctx.lineTo(158, 128); // Right side of the left horn
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(384, 128); // Starting point for the right horn
ctx.lineTo(354, 0); // Top of the right horn
ctx.lineTo(324, 128); // Left side of the right horn
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(256, 512); // Starting point for the tail
ctx.lineTo(256, 384); // Top of the tail
ctx.lineTo(192, 448); // Left side of the tail
ctx.lineTo(256, 512); // Right side of the tail
ctx.closePath();
ctx.fill();
// Drawing Loona's face
ctx.fillStyle = "#FFC0CB"; // Setting the fill color to a light pink
ctx.beginPath();
ctx.arc(256, 256, 128, 0, Math.PI * 2); // Drawing a circle for the face
ctx.closePath();
ctx.fill();
// Adding Loona's devilish grin
ctx.strokeStyle = "#000000"; // Setting the stroke color to black
ctx.lineWidth = 4; // Setting the stroke width to 4 pixels
ctx.beginPath();
ctx.arc(256, 320, 64, Math.PI / 4, (3 * Math.PI) / 4); // Drawing a curved line for the grin
ctx.stroke();
// Adding Loona's devilish eyes
ctx.fillStyle = "#000000"; // Setting the fill color to black
ctx.beginPath();
ctx.arc(224, 224, 16, 0, Math.PI * 2); // Drawing the left eye
ctx.arc(288, 224, 16, 0, Math.PI * 2); // Drawing the right eye
ctx.closePath();
ctx.fill();
// Adding Loona's pupil
ctx.fillStyle = "#FFFFFF"; // Setting the fill color to white
ctx.beginPath();
ctx.arc(224, 224, 8, 0, Math.PI * 2); // Drawing the left pupil
ctx.arc(288, 224, 8, 0, Math.PI * 2); // Drawing the right pupil
ctx.closePath();
ctx.fill();
// Adding Loona's devilish eyebrows
ctx.lineWidth = 2; // Setting the stroke width to 2 pixels
ctx.beginPath();
ctx.moveTo(208, 208); // Starting point for the left eyebrow
ctx.lineTo(240, 192); // Top of the left eyebrow
ctx.moveTo(272, 192); // Starting point for the right eyebrow
ctx.lineTo(304, 208); // Top of the right eyebrow
ctx.stroke();
// Adding Loona's devilish ears
ctx.fillStyle = "#FFC0CB"; // Setting the fill color to a light pink
ctx.beginPath();
ctx.arc(160, 256, 32, 0, Math.PI * 2); // Drawing the left ear
ctx.arc(352, 256, 32, 0, Math.PI * 2); // Drawing the right ear
ctx.closePath();
ctx.fill();
// Adding Loona's devilish horns' details
ctx.fillStyle = "#FF0000"; // Setting the fill color to red
ctx.beginPath();
ctx.arc(128, 0, 8, 0, Math.PI * 2); // Drawing the left horn's top detail
ctx.arc(158, 128, 8, 0, Math.PI * 2); // Drawing the left horn's bottom detail
ctx.arc(354, 0, 8, 0, Math.PI * 2); // Drawing the right horn's top detail
ctx.arc(324, 128, 8, 0, Math.PI * 2); // Drawing the right horn's bottom detail
ctx.closePath();
ctx.fill();
// Adding Loona's fiery tail details
ctx.strokeStyle = "#FF0000"; // Setting the stroke color to red
ctx.lineWidth = 2; // Setting the stroke width to 2 pixels
ctx.beginPath();
ctx.moveTo(256, 512); // Starting point for the tail detail
ctx.lineTo(256, 448); // Top of the tail detail
ctx.moveTo(232, 464); // Starting point for the left side of the tail detail
ctx.lineTo(280, 464); // Right side of the tail detail
ctx.moveTo(216, 480); // Starting point for the left side of the tail detail
ctx.lineTo(296, 480); // Right side of the tail detail
ctx.stroke();
// Adding Loona's devilish nose
ctx.strokeStyle = "#000000"; // Setting the stroke color to black
ctx.beginPath();
ctx.moveTo(256, 272); // Starting point for the nose
ctx.lineTo(256, 288); // Bottom of the nose
ctx.stroke();
// Adding Loona's devilish beauty mark
ctx.fillStyle = "#000000"; // Setting the fill color to black
ctx.beginPath();
ctx.arc(288, 304, 4, 0, Math.PI * 2); // Drawing the beauty mark
ctx.closePath();
ctx.fill();
// Adding Loona's devilish freckles
ctx.fillStyle = "#000000"; // Setting the fill color to black
ctx.beginPath();
ctx.arc(224, 304, 4, 0, Math.PI * 2); // Drawing the left freckle
ctx.arc(288, 320, 4, 0, Math.PI * 2); // Drawing the middle freckle
ctx.arc(352, 304, 4, 0, Math.PI * 2); // Drawing the right freckle
ctx.closePath();
ctx.fill();
// Adding Loona's devilish eyelashes
ctx.strokeStyle = "#000000"; // Setting the stroke color to black
ctx.beginPath();
ctx.moveTo(208, 224); // Starting point for the left eyelashes
ctx.lineTo(216, 224); // Bottom of the left eyelashes
ctx.moveTo(232, 224); // Starting point for the middle eyelashes
ctx.lineTo(240, 224); // Bottom of the middle eyelashes
ctx.moveTo(272, 224); // Starting point for the right eyelashes
ctx.lineTo(280, 224); // Bottom of the right eyelashes
ctx.stroke();
// Adding Loona's devilish mouth details
ctx.strokeStyle = "#000000"; // Setting the stroke color to black
ctx.beginPath();
ctx.moveTo(240, 320); // Starting point for the left mouth detail
ctx.lineTo(240, 336); // Bottom of the left mouth detail
ctx.moveTo(272, 320); // Starting point for the right mouth detail
ctx.lineTo(272, 336); // Bottom of the right mouth detail
ctx.stroke();
// Adding Loona's devilish tongue
ctx.fillStyle = "#FFC0CB"; // Setting the fill color to a light pink
ctx.beginPath();
ctx.arc(256, 352, 16, 0, Math.PI * 2); // Drawing the tongue
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fangs
ctx.fillStyle = "#FFFFFF"; // Setting the fill color to white
ctx.beginPath();
ctx.moveTo(240, 336); // Starting point for the left fang
ctx.lineTo(240, 352); // Bottom of the left fang
ctx.lineTo(248, 344); // Top of the left fang
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(272, 336); // Starting point for the right fang
ctx.lineTo(272, 352); // Bottom of the right fang
ctx.lineTo(264, 344); // Top of the right fang
ctx.closePath();
ctx.fill();
// Adding Loona's devilish collar
ctx.fillStyle = "#FFFFFF"; // Setting the fill color to white
ctx.beginPath();
ctx.moveTo(192, 320); // Starting point for the top of the collar
ctx.lineTo(320, 320); // Bottom of the collar
ctx.lineTo(256, 400); // Right side of the collar
ctx.closePath();
ctx.fill();
// Adding Loona's fiery details on the dress
ctx.fillStyle = "#FF0000"; // Setting the fill color to red
ctx.beginPath();
ctx.moveTo(208, 320); // Starting point for the left dress detail
ctx.lineTo(208, 512); // Bottom left corner of the left dress detail
ctx.lineTo(256, 512); // Bottom right corner of the left dress detail
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(304, 320); // Starting point for the right dress detail
ctx.lineTo(304, 512); // Bottom left corner of the right dress detail
ctx.lineTo(256, 512); // Bottom right corner of the right dress detail
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fiery details on the dress
ctx.fillStyle = "#FFC0CB"; // Setting the fill color to a light pink
ctx.beginPath();
ctx.moveTo(224, 320); // Starting point for the left fiery dress detail
ctx.lineTo(224, 512); // Bottom left corner of the left fiery dress detail
ctx.lineTo(256, 512); // Bottom right corner of the left fiery dress detail
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(288, 320); // Starting point for the right fiery dress detail
ctx.lineTo(288, 512); // Bottom left corner of the right fiery dress detail
ctx.lineTo(256, 512); // Bottom right corner of the right fiery dress detail
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fiery details on the collar
ctx.fillStyle = "#FF0000"; // Setting the fill color to red
ctx.beginPath();
ctx.moveTo(240, 320); // Starting point for the left fiery collar detail
ctx.lineTo(240, 400); // Bottom of the left fiery collar detail
ctx.lineTo(256, 400); // Right side of the left fiery collar detail
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(272, 320); // Starting point for the right fiery collar detail
ctx.lineTo(272, 400); // Bottom of the right fiery collar detail
ctx.lineTo(256, 400); // Left side of the right fiery collar detail
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fiery details on the face
ctx.fillStyle = "#FFC0CB"; // Setting the fill color to a light pink
ctx.beginPath();
ctx.moveTo(224, 256); // Starting point for the left fiery face detail
ctx.lineTo(240, 272); // Top of the left fiery face detail
ctx.lineTo(256, 256); // Right side of the left fiery face detail
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(288, 256); // Starting point for the right fiery face detail
ctx.lineTo(272, 272); // Top of the right fiery face detail
ctx.lineTo(256, 256); // Left side of the right fiery face detail
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fiery details on the ears
ctx.fillStyle = "#FF0000"; // Setting the fill color to red
ctx.beginPath();
ctx.moveTo(160, 256); // Starting point for the left fiery ear detail
ctx.lineTo(192, 256); // Right side of the left fiery ear detail
ctx.lineTo(192, 288); // Bottom of the left fiery ear detail
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(352, 256); // Starting point for the right fiery ear detail
ctx.lineTo(320, 256); // Left side of the right fiery ear detail
ctx.lineTo(320, 288); // Bottom of the right fiery ear detail
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fiery details on the horns
ctx.fillStyle = "#FFC0CB"; // Setting the fill color to a light pink
ctx.beginPath();
ctx.moveTo(128, 0); // Starting point for the left fiery horn detail
ctx.lineTo(158, 128); // Top of the left fiery horn detail
ctx.lineTo(128, 128); // Right side of the left fiery horn detail
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(354, 0); // Starting point for the right fiery horn detail
ctx.lineTo(324, 128); // Top of the right fiery horn detail
ctx.lineTo(354, 128); // Left side of the right fiery horn detail
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fiery details on the tail
ctx.fillStyle = "#FFC0CB"; // Setting the fill color to a light pink
ctx.beginPath();
ctx.moveTo(192, 448); // Starting point for the left fiery tail detail
ctx.lineTo(256, 384); // Top of the left fiery tail detail
ctx.lineTo(256, 448); // Right side of the left fiery tail detail
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.moveTo(256, 384); // Starting point for the right fiery tail detail
ctx.lineTo(320, 448); // Top of the right fiery tail detail
ctx.lineTo(256, 448); // Left side of the right fiery tail detail
ctx.closePath();
ctx.fill();
// Adding Loona's devilish fiery details on the face
ctx.fillStyle = "#FF0000"; // Setting the fill color to red
ctx.beginPath();
ctx.moveTo(240, 272); // Starting point for the left fiery face detail
ctx.lineTo(256
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.