# How to request element optimisation https://api-docs.lumar.io/docs/graphql/request-element-optimisation Element optimisation requests use AI to generate better title, meta description and H1 tag for a page, based on the search queries. To create an element optimisation request, an Account must have AI features enabled. Additionally, your Account role must be an Editor or higher. Requesting element optimisation and retrieving the results using API is done in 3 steps: ## 1. Create an element optimisation request Use the `createElementOptimisationRequest` mutation to create an element optimisation request and start the generation process. Input requires you to pass `Crawl.id` and `CrawlUrl.urlDigest`. Optionally, you can pass up to 5 `CrawlSearchQuery.searchQueryDigest` values to pick the search queries you want to optimise the page for. By default, the generation process uses the top 5 search queries ordered by clicks. ## 2. Wait for the generation to finish At first, element optimisation request status will be `Created`. When the generation process starts, it will change to `Generating`. Finally, after the process finishes, the value will be `Generated`. The whole process usually takes just a couple of seconds. ## 3. Retrieve the element optimisation request results Use the `getElementOptimisationRequest` query to retrieve element optimisation request by `id`. Results include relevance values calculated for the chosen search queries, suggested optimised elements, and the relevance of the optimised elements. You can create multiple element optimisation requests for each crawl URL, using different search queries. To retrieve multiple element optimisation requests, you need to get a report stat and filter crawl URLs by the URL digest.