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

# Create Image

> Generate or edit images with Ideogram 4.5.

**Key Features:**
- Text-to-image and image editing in the same endpoint: send up to 5
  images; the first one is edited and the rest guide the edit
- Accurate text rendering for posters, logos and typography
- 13 aspect ratios at about 4 megapixels, plus `auto` to follow the
  input image

**Best for:**
- Designs with legible text, from scratch or from an existing image
- Instruction-based edits of an image guided by references

**Credits:** the price is set by `quality` (`very_low`, `low`, `medium` or
`high`). The other parameters do not affect it. `very_low` is only
available when images are sent.




## OpenAPI

````yaml POST /v1/ai/text-to-image/ideogram-4-5
openapi: 3.0.0
info:
  description: >-
    The Magnific API is your gateway to a vast collection of high-quality
    digital resources for your applications and projects. As a leading platform,
    it offers a wide range of graphics, including vectors, photos,
    illustrations, icons, PSD templates, and more, all curated by talented
    designers from around the world.
  title: Magnific API
  version: 1.0.0
servers:
  - description: B2B API Production V1
    url: https://api.magnific.com
security:
  - magnificApiKey: []
paths:
  /v1/ai/text-to-image/ideogram-4-5:
    post:
      tags:
        - text-to-image
      summary: Create image from text - Ideogram 4.5
      description: >
        Generate or edit images with Ideogram 4.5.


        **Key Features:**

        - Text-to-image and image editing in the same endpoint: send up to 5
          images; the first one is edited and the rest guide the edit
        - Accurate text rendering for posters, logos and typography

        - 13 aspect ratios at about 4 megapixels, plus `auto` to follow the
          input image

        **Best for:**

        - Designs with legible text, from scratch or from an existing image

        - Instruction-based edits of an image guided by references


        **Credits:** the price is set by `quality` (`very_low`, `low`, `medium`
        or

        `high`). The other parameters do not affect it. `very_low` is only

        available when images are sent.
      operationId: create_image_from_text_ideogram_4_5
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/tti-ideogram-4-5-request'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                success - in progress task:
                  $ref: '#/components/examples/200-task-in-progress'
              schema:
                $ref: >-
                  #/components/schemas/get_style_transfer_task_status_200_response
          description: >-
            OK - The request has succeeded and the Ideogram 4.5 process has
            started.
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
components:
  schemas:
    tti-ideogram-4-5-request:
      properties:
        prompt:
          description: >
            Text description of the image to generate, or of the edit to apply.
            When

            `images` are sent, refer to them by position: "image 1" is the first
            one

            (the image being edited) and "image 2" onwards are the references.
          example: >-
            Turn image 1 into a vintage travel poster with the text "Ideogram
            4.5" in bold art deco letters
          maxLength: 10000
          minLength: 1
          type: string
        webhook_url:
          description: >
            Optional callback URL that will receive asynchronous notifications
            whenever the task changes status. The payload sent to this URL is
            the same as the corresponding GET endpoint response, but without the
            data field.
          example: https://www.example.com/webhook
          format: uri
          type: string
        images:
          description: >
            Optional input images. Without them the request is text-to-image.
            With

            them, the first image is the one being edited and the rest guide the

            edit as references.


            **Image requirements:**

            - Maximum 5 images

            - Supported formats: PNG, JPEG, WebP

            - Aspect ratio between 1:6 and 6:1

            - Public HTTPS URL or base64-encoded string
          example:
            - https://example.com/source.png
          items:
            example: https://example.com/source.png
            type: string
          maxItems: 5
          minItems: 1
          type: array
        aspect_ratio:
          default: auto
          description: >
            Aspect ratio for the generated image, on a canvas of about 4
            megapixels.


            **Available ratios:**

            - `auto`: Let the model choose (default). With `images` it follows
            the
              first image; without them it picks the canvas that best fits the prompt.
            - `1:1`: Square, 2048x2048

            - `4:5`, `5:4`: Photo print

            - `3:4`, `4:3`: Standard

            - `2:3`, `3:2`: Classic photo

            - `9:16`, `16:9`: Social stories/Widescreen

            - `1:2`, `2:1`, `1:3`, `3:1`: Banners and vertical panels
          enum:
            - auto
            - '1:1'
            - '4:5'
            - '5:4'
            - '3:4'
            - '4:3'
            - '2:3'
            - '3:2'
            - '9:16'
            - '16:9'
            - '1:2'
            - '2:1'
            - '1:3'
            - '3:1'
          example: auto
          type: string
        quality:
          default: medium
          description: >
            Quality tier. It sets the price of the generation.


            **Available tiers:**

            - `very_low`: Cheapest and fastest. Only available when `images` are
            sent
              (editing); a text-only request with it is rejected.
            - `low`

            - `medium`: Default

            - `high`: Best quality, slowest
          enum:
            - very_low
            - low
            - medium
            - high
          example: medium
          type: string
        magic_prompt:
          default: auto
          description: >
            Whether Ideogram's Magic Prompt rewrites the prompt into a more
            detailed

            one before generating. `auto` lets the model decide; use `off` for

            verbatim edit instructions. It does not affect the price.
          enum:
            - auto
            - 'on'
            - 'off'
          example: auto
          type: string
        seed:
          description: Seed for reproducible results. When omitted, a random seed is used.
          example: 42
          maximum: 2147483647
          minimum: 0
          type: integer
      required:
        - prompt
      title: Ideogram 4.5 Text-to-Image Request
      type: object
    get_style_transfer_task_status_200_response:
      example:
        data:
          generated:
            - https://openapi-generator.tech
            - https://openapi-generator.tech
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
      properties:
        data:
          $ref: '#/components/schemas/task-detail'
      required:
        - data
      type: object
    task-detail:
      allOf:
        - $ref: '#/components/schemas/task'
        - properties:
            generated:
              items:
                description: URL of the generated image
                format: uri
                type: string
              type: array
          required:
            - generated
          type: object
      example:
        generated:
          - https://openapi-generator.tech
          - https://openapi-generator.tech
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
    inline_object:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    inline_object_1:
      properties:
        problem:
          $ref: '#/components/schemas/inline_object_1_problem'
      type: object
    inline_object_2:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    inline_object_3:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    task:
      example:
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
      properties:
        task_id:
          description: Task identifier
          format: uuid
          type: string
        status:
          description: Task status
          enum:
            - CREATED
            - IN_PROGRESS
            - COMPLETED
            - FAILED
          type: string
      required:
        - status
        - task_id
      type: object
    inline_object_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: '#/components/schemas/inline_object_1_problem_invalid_params_inner'
          type: array
      required:
        - invalid_params
        - message
      type: object
    inline_object_1_problem_invalid_params_inner:
      properties:
        name:
          description: Name of the invalid parameter.
          example: page
          type: string
        field:
          description: Field of the invalid parameter. Mirrors `name`.
          example: page
          type: string
        reason:
          example: Parameter 'page' must be greater than 0
          type: string
      required:
        - field
        - name
        - reason
      type: object
  examples:
    200-task-in-progress:
      summary: Success - Task in progress
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: IN_PROGRESS
  responses:
    400-bad-request:
      content:
        application/json:
          examples:
            invalid_page:
              summary: Parameter 'page' is not valid
              value:
                message: Parameter 'page' must be greater than 0
            invalid_query:
              summary: Parameter 'query' is not valid
              value:
                message: Parameter 'query' must not be empty
            invalid_filter:
              summary: Parameter 'filter' is not valid
              value:
                message: Parameter 'filter' is not valid
            generic_bad_request:
              summary: Bad Request
              value:
                message: Parameter ':attribute' is not valid
          schema:
            $ref: '#/components/schemas/inline_object'
        application/problem+json:
          examples:
            invalid_page:
              summary: Parameter 'page' is not valid
              value:
                message: Validation error
                invalid_params:
                  - field: page
                    reason: Parameter 'page' must be greater than 0
                  - field: per_page
                    reason: Parameter 'per_page' must be greater than 0
          schema:
            $ref: '#/components/schemas/inline_object_1'
      description: >-
        Bad Request - The server could not understand the request due to invalid
        syntax.
    401-unauthorized:
      content:
        application/json:
          examples:
            invalid_api_key:
              summary: API key is not valid
              value:
                message: Invalid API key
            missing_api_key:
              summary: API key is not provided
              value:
                message: Missing API key
          schema:
            $ref: '#/components/schemas/inline_object'
      description: >-
        Unauthorized - The client must authenticate itself to get the requested
        response.
    500-internal-server-error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_2'
      description: >-
        Internal Server Error - The server has encountered a situation it
        doesn't know how to handle.
    503-service-unavailable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_3'
      description: Service Unavailable
  securitySchemes:
    magnificApiKey:
      description: >
        Your Magnific API key. Required for authentication. [Learn how to obtain
        an API key](https://docs.magnific.com/quickstart)
      in: header
      name: x-magnific-api-key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.