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

# Get an image

> Get an image by ID; use this endpoint to poll for generation results. When `status` is `completed`, `imageUrl` contains a short redirect URL such as `/img/{id}`. Use `wait=true` to hold the connection until the image reaches a terminal status. When `status` is `failed` and `failureReason` is `content_safety`, the provider's content filter blocked the prompt. Revise the prompt or retry with model `standard`, which is more permissive.



## OpenAPI

````yaml https://www.trybloom.ai/api/v1/spec.json get /images/{id}
openapi: 3.1.1
info:
  title: Bloom API
  version: 1.0.0
servers:
  - url: https://www.trybloom.ai/api/v1
security:
  - apiKey: []
  - bearer: []
tags:
  - name: Account
    description: >-
      Inspect the authenticated account — profile, credit balance, and
      accessible workspaces.
  - name: Brands
    description: Manage brands and brand identity.
  - name: Images
    description: Generate, edit, and retrieve images.
paths:
  /images/{id}:
    get:
      tags:
        - Images
      summary: Get an image
      description: >-
        Get an image by ID; use this endpoint to poll for generation results.
        When `status` is `completed`, `imageUrl` contains a short redirect URL
        such as `/img/{id}`. Use `wait=true` to hold the connection until the
        image reaches a terminal status. When `status` is `failed` and
        `failureReason` is `content_safety`, the provider's content filter
        blocked the prompt. Revise the prompt or retry with model `standard`,
        which is more permissive.
      operationId: images.get
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: Image ID — works for generated, uploaded, and scraped images
        - name: wait
          in: query
          schema:
            anyOf:
              - type: boolean
              - enum:
                  - '0'
                  - '1'
                  - 'true'
                  - 'false'
                type: string
            default: false
            description: Hold the connection until the resource reaches a terminal status
          allowEmptyValue: true
          allowReserved: true
        - name: timeout
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 295
            default: 120
            description: Max seconds to wait (default 120, max 295)
          allowEmptyValue: true
          allowReserved: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      source:
                        enum:
                          - generated
                          - uploaded
                          - scraped
                        type: string
                      status:
                        anyOf:
                          - enum:
                              - pending
                              - generating
                              - completed
                              - failed
                            type: string
                          - type: 'null'
                      failureReason:
                        anyOf:
                          - enum:
                              - content_safety
                              - rate_limited
                            type: string
                          - type: 'null'
                      prompt:
                        anyOf:
                          - type: string
                          - type: 'null'
                      description:
                        anyOf:
                          - type: string
                          - type: 'null'
                      imageUrl:
                        anyOf:
                          - type: string
                          - type: 'null'
                      aspectRatio:
                        anyOf:
                          - enum:
                              - '1:1'
                              - '2:3'
                              - '3:2'
                              - '3:4'
                              - '4:3'
                              - '4:5'
                              - '5:4'
                              - '9:16'
                              - '16:9'
                              - '21:9'
                            type: string
                          - type: 'null'
                      width:
                        anyOf:
                          - type: number
                          - type: 'null'
                      height:
                        anyOf:
                          - type: number
                          - type: 'null'
                      actionType:
                        anyOf:
                          - enum:
                              - generation
                              - edit
                              - resize
                              - variant
                              - recreate
                              - remove-background
                              - vectorize
                            type: string
                          - type: 'null'
                      variantGroupId:
                        anyOf:
                          - type: string
                            format: uuid
                          - type: 'null'
                      workspaceId:
                        anyOf:
                          - type: string
                          - type: 'null'
                      workspaceName:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                        x-native-type: date
                    required:
                      - id
                      - source
                      - status
                      - failureReason
                      - prompt
                      - description
                      - imageUrl
                      - aspectRatio
                      - width
                      - height
                      - actionType
                      - variantGroupId
                      - workspaceId
                      - workspaceName
                      - createdAt
                required:
                  - data
        '401':
          description: '401'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesGet401ErrorResponse'
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesGet403ErrorResponse'
        '404':
          description: '404'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesGet404ErrorResponse'
        '429':
          description: '429'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesGet429ErrorResponse'
          headers:
            Retry-After:
              description: >-
                Seconds until the API-key request limit resets. Present only
                when the request-rate limiter can calculate the delay.
              schema:
                type: integer
                minimum: 0
components:
  schemas:
    ImagesGet401ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: UNAUTHORIZED
                    status:
                      const: 401
                    message:
                      type: string
                      default: Invalid or missing API credentials
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    ImagesGet403ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: ACCOUNT_BANNED
                    status:
                      const: 403
                    message:
                      type: string
                      default: This account has been suspended.
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      const: FORBIDDEN
                    status:
                      const: 403
                    message:
                      type: string
                      default: Plan upgrade required
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    ImagesGet404ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: IMAGE_NOT_FOUND
                    status:
                      const: 404
                    message:
                      type: string
                      default: Image not found
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    ImagesGet429ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: TOO_MANY_REQUESTS
                    status:
                      const: 429
                    message:
                      type: string
                      default: Rate limit exceeded
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    ApiError:
      type: object
      properties:
        code:
          type: string
        status:
          type: integer
        message:
          type: string
        data: {}
      required:
        - code
        - status
        - message
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 'Bloom API key, for example `x-api-key: bloom_sk_...`.'
    bearer:
      type: http
      scheme: bearer
      description: Bloom API key (`Bearer bloom_sk_...`) or Bloom OAuth access token.

````