> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmgenerator.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Générer llms.txt

> Ce point de terminaison génère un fichier llms.txt pour une URL donnée.

## POST /generate

Lance la génération d'un fichier `llms.txt`. Prend en charge les modes `simple` et `enhanced` selon la formule de l'utilisateur.

<Note>
  Le mode enhanced s'appuie sur l'IA pour des titres et descriptions de meilleure qualité. Il coûte le double en crédits par rapport au mode simple.
</Note>

### Corps de la requête

<ParamField body="url" type="string" required>
  URL du site pour lequel générer le fichier. Doit être valide avec le schéma http ou https.
</ParamField>

<ParamField body="options" type="object">
  Options de génération.

  <Expandable title="Propriétés options">
    <ParamField body="maxUrls" type="number" default="50">
      Nombre maximal d'URL à inclure. Plage : 1–1000.
    </ParamField>

    <ParamField body="showFullText" type="boolean" default="false">
      Inclure ou non le texte intégral de chaque page dans la sortie.
    </ParamField>

    <ParamField body="includeModificationDate" type="boolean" default="false">
      Inclure ou non les dates de dernière modification des URL.
    </ParamField>

    <ParamField body="generationMethod" type="string" default="enhanced">
      `simple` ou `enhanced`. Simple utilise les métadonnées des pages ; enhanced utilise l'IA pour améliorer titres et descriptions.
    </ParamField>

    <ParamField body="cacheAge" type="number" default="3600000">
      Durée de cache en millisecondes. Par défaut 1 heure pour accélérer l'extraction.
    </ParamField>
  </Expandable>
</ParamField>

### Réponse

<ResponseField name="jobId" type="string">
  Identifiant unique de la tâche de génération.
</ResponseField>

<ResponseField name="status" type="string">
  État de la tâche : `queued`, `processing`, `completed` ou `failed`.
</ResponseField>

<ResponseField name="progress" type="number">
  Pourcentage de progression (0–100).
</ResponseField>

<ResponseField name="message" type="string">
  Message lisible décrivant le statut.
</ResponseField>

<ResponseField name="fileUrl" type="string">
  URL du fichier `llms.txt` généré.
</ResponseField>

<ResponseField name="fullTextUrl" type="string">
  URL de la version texte intégral du fichier (si `showFullText` était activé).
</ResponseField>

<ResponseField name="siteId" type="string">
  Identifiant du site créé ou mis à jour pour cette génération.
</ResponseField>

<ResponseField name="creditsUsed" type="number">
  Nombre de crédits débités pour cette génération.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.llmgenerator.com/api/v1/generate \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
          "url": "https://www.example.com",
          "options": {
            "maxUrls": 25,
            "generationMethod": "enhanced",
            "showFullText": true
          }
        }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.llmgenerator.com/api/v1/generate', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      url: 'https://www.example.com',
      options: {
        maxUrls: 25,
        generationMethod: 'enhanced'
      }
    })
  });

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.llmgenerator.com/api/v1/generate',
      headers={
          'Authorization': 'Bearer YOUR_API_KEY',
          'Content-Type': 'application/json'
      },
      json={
          'url': 'https://www.example.com',
          'options': {
              'maxUrls': 25,
              'generationMethod': 'enhanced'
          }
      }
  )

  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json Success Response theme={null}
  {
    "jobId": "550e8400-e29b-41d4-a716-446655440000",
    "status": "completed",
    "progress": 100,
    "message": "File generated successfully",
    "fileUrl": "https://api.llmgenerator.com/api/v1/file/site_xxxxx",
    "fullTextUrl": "https://api.llmgenerator.com/api/v1/file/site_xxxxx?full=true",
    "siteId": "site_xxxxx",
    "creditsUsed": 50
  }
  ```

  ```json Insufficient Credits (402) theme={null}
  {
    "message": "Insufficient credits. Required: 50, Available: 10. Please purchase more credits to continue."
  }
  ```
</ResponseExample>
