Skip to content

Image Generation

Endpoint

POST /api/v1/ai/images

Request body:

typescript
{
  prompt: string,
  provider: "openai" | "stability",
  size?: string,                 // e.g. "1024x1024"
}

Providers

ProviderDefault modelNotes
openaidall-e-3OPENAI_API_KEY required. Pass size directly to the API.
stabilitystable-diffusion-xl-1024-v1-0STABILITY_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.