CF created an umbrella brand called CF Spark and worked with ML6 to develop a range of custom, easy-to-use image generation services that addressed specific needs such as pattern generation and design variations. To date, customers have issued close to 10 million prompts, generating more than 40 million images, over 4 million of which they have published for sharing with others on the platform.
Creative Fabrica is an online marketplace for creators searching for high-quality digital assets for their personal or professional projects in graphical or web design, handicraft, needlework or other. They offer over 125,000 fonts and over 6.5 million graphics while boasting over 4 million registered users from around the world including USA, Europe, Asia and Africa.
When AI image generation took off with services such as DALL-E and Midjourney, Creative Fabrica (CF), an online marketplace for graphical digital assets saw a big opportunity. Being a gateway to a community of millions of creators, they were uniquely positioned to take advantage of the generative AI revolution. It could allow them to empower their audience by making it easier for them to create original, high-quality content for the CF marketplace. This, in turn, could attract additional subscribers and increase revenue.
Creative Fabrica (CF) wished to create a collection of custom generative AI tools tailored to the specific crafting needs of their customers. Generative AI technologies like Stable Diffusion were still very experimental at the time and fine-tuning them added an additional layer of complexity. This brought a number of challenges.
A first, important challenge was related to positioning and strategy. Several image generation services were already available and it was important for CF to clearly position themselves vis-à-vis these competitors.
Second, open source AI image generation models such as Stable Diffusion were brand new in 2022 and serving them in a production environment was untrodden territory for CF. Hence a partner with experience in setting up such services from scratch was needed.
Third and finally, serving multi-billion parameter neural networks is very different from serving an online marketplace website. Generating an image using AI takes several seconds on a fully dedicated high-power graphical processing unit (gpu). Generating eight images in parallel requires eight times that number. With potentially thousands or tens of thousands of concurrent users sending requests, the infrastructure needed to be extremely robust. Moreover, the solution also needed to be highly scalable. When America would wake up, for example, the number of users could rise exponentially in a very short time period and massive amounts of infrastructure would have to be spun up swiftly.
To address the need for clear positioning vis-à-vis existing services, Creative Fabrica (CF) created an umbrella brand called CF Spark (referring to the ability of AI to spark one’s imagination), grouping a range of AI productivity tools aiming to ‘unleash their users’ creativity’. In order to succeed, the services needed to be both distinctive and tailored to the specific needs and abilities of the CF audience. Rather than creating a complex interface with many whistles and bells, CF chose to offer a series of clearly identifiable, easy-to-use image generation services leveraging the specific affordances of AI such as parallel image generation and addressing specific needs such as pattern generation, transparent clean-cut clipart and design variations. For the technical development of these custom services, CF turned to ML6, which had extensive experience in developing and in fine-tuning large models and in generative AI through its gener8.ai brand. ML6 helped CF amongst other services by creating a custom clean cut file clipart generation model, an efficient, high-speed outpainting service and an upscaler.
To deal with the relative novelty of AI image generation software, together with ML6, CF decided to use the open source Diffusers library by Hugging Face, which in the meantime has become the de facto standard for these types of setups. Moreover, by creating a custom API encapsulated in a docker container, it was possible to strike the right balance between customization and robustness.
Finally, to address the technological challenges associated with serving large neural networks to high numbers of concurrent users the CF infrastructure team worked with ML6 to come up with a setup on AWS which processes in the fastest and most efficient way possible. Amazon EC2 gives access to high-power GPUs in a very efficient way. Amazon ECS automatically scaled the solution to meet spikes in user activity. Being able to use a combination of spot and on-demand instances allowed to be cost very effective. Lastly, Amazon Simple Queue Service enabled the solution to easily decouple the AI microservices from the rest of the technology stack. With the elasticity and scalability of Amazon ECS and Amazon SQS, Creative Fabrica could focus on the value and the speed of innovation, without having to worry about the overhead caused by having to manage a complex infrastructure.
To date, customers have issued close to 10 million prompts, generating more than 40 million images, over 4 million of which they have published for sharing with others on the platform.
For this project, Creative Fabrica chose ML6 because of its pre-existing expertise in generative AI and its agile, hands-on way of working. While being a digital native and having lots of technical expertise, serving AI models, especially large-scale neural networks, was new for Creative Fabrica. ML6 worked closely together with the team at Creative Fabrica, and was able to share its experience and upskill the team during the project.