Skip to content

API reference

Generate image

images.GenerateImageWriteMember delegation

Generate an image from a prompt using workspace credits. Returns a temporary URL accessible to the caller. If generation is still running, retry with the same request ID to collect the result.

POST/v1/operations/images.GenerateImage
On this page

Access & visibility

Allow images.GenerateImage on your API key.

Acting member required. Send Brigg-Act-As with an approved member account ID. The key supplies permissions; the member selects whose data is used.

The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.

Set up authentication · Choose permissions

Request fields

Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.

promptstringRequired

What to draw. No words inside the image.

At least 1 character. At most 4000 characters.

aspect_ratiostringOptional

Requested image proportions, using one of the supported values.

Allowed: "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9".

sizestringOptional

Resolution; 1K when omitted. Bigger costs the org more.

Allowed: "1K", "2K", "4K".

reference_filesarray of objectOptional

Pictures that steer the generation — a product photo to keep faithful, a sketch, a style to follow. Pictures only, never a document.

At most 3 items.

Item fields
namestringRequired

Display name.

At least 1 character. At most 120 characters.

media_typestringRequired

image/png, image/jpeg, image/gif or image/webp.

At least 1 character.

datastringRequired

The bytes, base64.

At least 1 character.

Response

Returns 200 OK with a JSON body.

urlstringRequired

A short-lived, caller-private download URL for the bytes.

extstringRequired

png / jpg / … from the bytes.

bytesnumberOptional

Size of the generated image in bytes.

Errors & retries

Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.

For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.

HTTP status Code What to do
400 invalid_json Send a JSON object with Content-Type: application/json.
400 invalid_input Check the request fields and types. Supply a stable Idempotency-Key containing 1–200 characters.
401 invalid_key The workspace API key is missing, invalid or revoked.
403 forbidden Check the key’s operation and resource grants. Supply Brigg-Act-As with a member authorized by the key’s delegation grant. The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.
404 not_found The requested operation or resource is not available to this credential.
429 rate_limited Wait for Retry-After before retrying. Reuse the original Idempotency-Key.

Next steps

Download OpenAPI · Versioning & retirement

JSON schemas

Use the complete schemas for validation or client generation.

Full request JSON schema
{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000,
      "description": "What to draw. No words inside the image."
    },
    "aspect_ratio": {
      "type": "string",
      "enum": [
        "1:1",
        "2:3",
        "3:2",
        "3:4",
        "4:3",
        "4:5",
        "5:4",
        "9:16",
        "16:9",
        "21:9"
      ],
      "description": "Requested image proportions, using one of the supported values."
    },
    "size": {
      "type": "string",
      "enum": [
        "1K",
        "2K",
        "4K"
      ],
      "description": "Resolution; 1K when omitted. Bigger costs the org more."
    },
    "reference_files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Display name."
          },
          "media_type": {
            "type": "string",
            "minLength": 1,
            "description": "image/png, image/jpeg, image/gif or image/webp."
          },
          "data": {
            "type": "string",
            "minLength": 1,
            "description": "The bytes, base64."
          }
        },
        "required": [
          "name",
          "media_type",
          "data"
        ],
        "additionalProperties": false
      },
      "maxItems": 3,
      "description": "Pictures that steer the generation — a product photo to keep faithful, a sketch, a style to follow. Pictures only, never a document."
    }
  },
  "required": [
    "prompt"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "prompt": "A quiet mountain lake at sunrise"
    }
  ]
}
Full response JSON schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "A short-lived, caller-private download URL for the bytes."
    },
    "ext": {
      "type": "string",
      "description": "png / jpg / … from the bytes."
    },
    "bytes": {
      "type": "number",
      "description": "Size of the generated image in bytes."
    }
  },
  "required": [
    "url",
    "ext"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "url": "https://example.com",
      "ext": "png"
    }
  ]
}

Search by operation name or what you want to build.

Use arrow keys to browse. Enter opens a result.