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

# Générations

> Soumettez, suivez, listez et annulez des générations Fanify Hub.

## Soumettre une génération

```bash theme={null}
curl https://fanifyai.com/api/v1/hub/generations \
  -H "Authorization: Bearer $FANIFY_API_KEY" \
  -H "Idempotency-Key: 0192f3a4-8c1e-7b2a-9f10-2b6d4e0c9a11" \
  -H "Content-Type: application/json" \
  -d '{"model":"nano-banana-2","input":{"prompt":"a cat","aspect_ratio":"16:9","resolution":"2K"}}'
```

Une soumission acceptée renvoie `201`. Les statuts produits en V1 sont `queued`, `running`, `succeeded`, `failed` et `canceled`. La valeur `awaiting_supply` est réservée à une version future et n'est jamais produite en V1.

<Tip>
  Utilisez une valeur `Idempotency-Key` unique et stable par génération. Un rejeu terminé renvoie la génération existante avec `200`.
</Tip>

La même clé avec un corps différent renvoie `422 idempotency_conflict`. Une génération encore en cours renvoie `503 generation_in_progress` avec `Retry-After: 5`.

## Lire et lister

* `GET /api/v1/hub/generations/{id}` lit une génération.
* `GET /api/v1/hub/generations` liste les générations les plus récentes.
* Les filtres disponibles sont `limit`, `cursor`, `status`, `from`, `to`, `model` et `media_only`.
* `media_only=true` exclut les exécutions LLM avant la pagination et le calcul de `total_billed`.
* `next_cursor` permet de charger la page suivante. Il est opaque et ne doit pas être modifié.

## Annuler

`POST /api/v1/hub/generations/{id}/cancel` annule uniquement une génération `queued`. Les autres états renvoient `409 not_cancelable`.

## Compatibilité Chat Completions

`POST /api/v1/hub/chat/completions` accepte les champs compatibles OpenAI et transmet les champs supplémentaires au fournisseur. Utilisez `stream: false` ou omettez `stream`. Le paramètre `n` doit être omis. Une réponse `200` contient aussi :

```text theme={null}
X-Fanify-Generation-Id: 0192f3a4-8c1e-7b2a-9f10-2b6d4e0c9a11
X-Fanify-Billed-Cost: 0.000041
```

L'alias accepte aussi `Idempotency-Key`. Un rejeu terminé renvoie la complétion existante. Un rejeu en cours renvoie `503 generation_in_progress` avec `Retry-After: 5`. La même clé avec un autre corps renvoie `422 idempotency_conflict`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.