Appearance
Image Generation
Endpoint
POST /api/v1/ai/imagesRequest body:
typescript
{
prompt: string,
provider: "openai" | "stability",
size?: string, // e.g. "1024x1024"
}Providers
| Provider | Default model | Notes |
|---|---|---|
openai | dall-e-3 | OPENAI_API_KEY required. Pass size directly to the API. |
stability | stable-diffusion-xl-1024-v1-0 | STABILITY_API_KEY required. Default size 1024×1024, cfg_scale 7, steps 30. Response is base64; saved by saveAiImage(). |
Output
The generated image is downloaded (OpenAI) or decoded (Stability) and persisted via downloadFileFromUrl() / saveAiImage() into the Files Library. The response returns the file metadata (fileId, url).
Rate limit
5 generations per user per minute, enforced in-process (in-memory map in aiImage.controller.ts).
Cost
5 credits per call.