Automate image creation with JSON-LD Recipe from nutriwi.com
For the case of structured data of the Recipe type, we chose Nutriwi.com. Nutriwi is a French participatory platform for sharing recipes, focusing on the nutritional aspect of cooking.
For the different recipes published on the web platform, we have access to a lot of information related to the recipe, from the name to the steps, through the nutritional information, we can select a lot of information.
{
"@type": "Recipe",
"name": "Pâtes à la sauce tomate et basilic",
"recipeCategory": "Plat principal",
"image": "https://www.nutriwi.com/img/recettes/19931535_pates-a-la-sauce-tomate-et-basilic.jpg",
"prepTime": "PT5M",
"cookTime": "PT15M",
"totalTime": "PT20M",
"recipeYield": 2,
"recipeInstructions": [
{
"@type": "HowToStep",
"name": "Étape n°1",
"text": "Faire cuire les penne "
},
{
"@type": "HowToStep",
"name": "Étape n°2",
"text": "Faire chauffer la sauce tomate"
},
{
"@type": "HowToStep",
"name": "Étape n°3",
"text": "Mélanger le tout dans une casserole et servir à l'assiette"
}
],
"recipeCuisine": "France",
"nutrition": {
"@type": "NutritionInformation",
"calories": "205 kcal",
"carbohydrateContent": "36 g",
"servingSize": "2g",
"sodiumContent": "null mg",
"saturatedFatContent": "0 g",
"proteinContent": "7 g",
"fatContent": "3 g",
"sugarContent": "4 g"
}
...
}
In this practical case, we will put ourselves in the situation where we want to share our recipes on Instagram, an ideal social network for sharing cooking recipes, which we will be able to industrialise.
The first thing to define in our context is the size we want to give to our image. According to the Instagram documentation, the ideal size for an image on the platform is set between 320 and 1080px wide with a ratio of 1:1. We will use the Medium size set at 500px with a ratio of 1:1.
In order to keep Nutriwi's graphic charter, we can use their background image available at the following address: https://www.nutriwi.com/background.png, which will dress up our background. Through this image, we will keep a background on all our images generated from the template we will create.
Next comes the choice of the data we wish to display and use. Depending on the type of Instagram post you want to create and your marketing strategy, the data you select will be of crucial importance. If you are on a strategy of acquiring followers on the platform, sharing the recipe with the steps can be interesting. If you are more focused on driving traffic to your website through the use of Instagram, you need to make your followers want to go there. In this example we will opt for the second option.
We will select the most important parts of the recipe, which are the name, the image, the description and the kcal. The purpose of this information is to summarise our recipe in a single image, and to encourage people who see the image to search our platform for the full recipe if it appeals to them.
The next step is the placement and design of our elements. This is a very strategic step, as it must respect the graphic charter of our platform, the elements must all bring value to our image and they must be seen and attract the eye.
The elements must obviously be displayed in their respective types (image links in image format, and texts in text format) so that they can be perfectly customisable.
After several minutes (less than ten minutes), we were able to apply simple, different styles that highlight the different elements we want to display. We kept the initial graphic charter and the colours of the platform.
Once we are happy with the rendering, we can save our work with a simple click, so that we can reuse it later on with other recipes.
In the end we managed to create a template that respected our Instagram strategy and our graphic charter. This took less than fifteen minutes in total and will allow us to generate as many recipe images as we want to share while keeping our format. Each image generated will now only take us a few seconds, the time to retrieve the information, apply the template and finally upload the image in the format we want.