202 Accepted response within milliseconds, and the final assets are delivered to your webhook endpoint once the AI Engine finishes, typically within 3–10 seconds. You must have a valid project_id from the Projects API before calling this endpoint.
Generate a Brand
POST https://api.nomiq.com/v1/brands/generate
Validates your request, enqueues a generation job against the AI Engine, and immediately returns a job object in the queued state. The completed brand assets are never returned in this response — configure a webhook URL to receive them asynchronously.
Request Body
The unique identifier of an existing project (prefix
proj_) where the generated assets will be stored. Obtain this from POST /v1/projects. Returns 404 if the project does not exist in your workspace.A semantic, natural-language description of the brand you want to generate. The AI Engine uses this as the sole creative brief — be specific about industry, aesthetic, colors, and typography. Maximum 2,000 characters. See the Prompt Engineering guide for best practices.
An HTTPS URL to receive the
generation.success or generation.failed event for this specific job. When provided, this overrides the default webhook URL configured in Workspace Settings for this request only. Must be a valid, publicly reachable HTTPS endpoint.The ID of a Memory Node from a previous generation (prefix
mem_). When supplied, the AI Engine loads the prior generation’s style seed and applies your new prompt as an incremental refinement rather than a fresh generation. See the Memory API for details.Example Request
The following example dispatches a generation job for a Brooklyn cold brew coffee shop. Pass your realproject_id in place of proj_1A2b3C4d5E.
Response (202 Accepted)
The API responds immediately withHTTP 202 Accepted. The response body contains the job object in its initial queued state — the final assets are not present at this stage.
Response Fields
Always
"job".The unique identifier for this generation job (prefix
job_). This ID is included in the webhook payload so you can correlate the async result with the original request.The project ID this job belongs to, echoed from your request.
The current state of the job. Immediately after dispatch this will always be
"queued". Possible values are queued, processing, succeeded, and failed — the final state is reported in the webhook payload, not via polling.Unix timestamp (seconds) recording when the job was enqueued.
Rate Limits
Generation requests consume significant GPU resources and are subject to strict per-minute rate limits based on your subscription tier. If you exceed the limit, the API returnsHTTP 429 with a Retry-After header indicating when you may resume.
Rate limit headers are included on every response:
Next Steps
Webhooks
Configure your server to receive completed brand assets and handle signature verification.
Memory API
Pass a Memory ID to iterate on an existing generation instead of starting from scratch.