> ## 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

> Create highly customizable images using FLUX.2 [flex] from Black Forest Labs, a flexible text-to-image model with an extended resolution range.

**Key Features:**
- Professional quality with fine-grained control
- Text-to-image generation
- Image-to-image editing (up to 4 input images)
- Wide resolution range (256-1920px) for large-format output
- Adjustable guidance and inference steps
- Selectable output format (JPEG or PNG)
- Reproducible results with seed

**Use Cases:**
- Large-format marketing materials and posters
- Product photography variations
- Concept art and illustrations
- Image editing and enhancement




## OpenAPI

````yaml POST /v1/ai/text-to-image/flux-2-flex
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/flux-2-flex:
    post:
      tags:
        - text-to-image
      summary: Flux 2 Flex - Create image from text
      description: >
        Create highly customizable images using FLUX.2 [flex] from Black Forest
        Labs, a flexible text-to-image model with an extended resolution range.


        **Key Features:**

        - Professional quality with fine-grained control

        - Text-to-image generation

        - Image-to-image editing (up to 4 input images)

        - Wide resolution range (256-1920px) for large-format output

        - Adjustable guidance and inference steps

        - Selectable output format (JPEG or PNG)

        - Reproducible results with seed


        **Use Cases:**

        - Large-format marketing materials and posters

        - Product photography variations

        - Concept art and illustrations

        - Image editing and enhancement
      operationId: create_image_flux_2_flex
      requestBody:
        content:
          application/json:
            examples:
              required-params:
                $ref: '#/components/examples/request-flux-2-flex-required-params'
              all-params:
                $ref: '#/components/examples/request-flux-2-flex-all-params'
            schema:
              $ref: '#/components/schemas/ttif2f-request-content'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create_image_from_text_flux_200_response'
          description: OK - Task created successfully
        '400':
          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/get_all_style_transfer_tasks_400_response'
            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/get_all_style_transfer_tasks_400_response_1
          description: >-
            Bad Request - The server could not understand the request due to
            invalid syntax.
        '401':
          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/get_all_style_transfer_tasks_400_response'
          description: >-
            Unauthorized - The client must authenticate itself to get the
            requested response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_500_response'
          description: >-
            Internal Server Error - The server has encountered a situation it
            doesn't know how to handle.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_503_response'
          description: Service Unavailable
components:
  examples:
    request-flux-2-flex-required-params:
      summary: Minimal request with required parameters only
      value:
        prompt: a beautiful sunset over mountains with dramatic clouds
    request-flux-2-flex-all-params:
      summary: Complete request with all parameters
      value:
        prompt: >-
          a futuristic cityscape at night with neon lights reflecting on wet
          streets, cyberpunk aesthetic, dramatic lighting, highly detailed
        width: 1920
        height: 1080
        seed: 42
        guidance: 3
        steps: 50
        safety_tolerance: 5
        prompt_upsampling: false
        output_format: png
        webhook_url: https://your-app.com/webhooks/flux-2-flex
  schemas:
    ttif2f-request-content:
      properties:
        prompt:
          description: >
            Text description of the image you want to generate.


            **FLUX.2 [flex]** offers flexible, professional-grade image
            generation with fine-grained control over guidance, steps, and a
            wide resolution range for large-format output.


            **Tips for better results:**

            - Be specific about subjects, scenes, and visual details

            - Describe lighting, atmosphere, and mood

            - Mention art style or photographic techniques if desired


            **Examples:**

            - Simple: `"a cat sitting on a windowsill"`

            - Detailed: `"a fluffy orange tabby cat sitting on a rustic wooden
            windowsill, golden hour lighting, soft focus background"`

            - Creative: `"futuristic cityscape at night with neon lights
            reflecting on wet streets, cyberpunk aesthetic, dramatic lighting"`
          example: a beautiful sunset over the ocean with dramatic clouds
          type: string
        width:
          default: 1024
          description: |
            Width of the image in pixels.

            **Valid range:** 256 to 1920 pixels
            **Default:** 1024 pixels

            **Common sizes:**
            - Square: 1024×1024
            - Landscape: 1920×1080 (16:9)
            - Portrait: 1080×1920 (9:16)
          example: 1024
          maximum: 1920
          minimum: 256
          type: integer
        height:
          default: 768
          description: >
            Height of the image in pixels.


            **Valid range:** 256 to 1920 pixels

            **Default:** 768 pixels


            **Tip:** Total megapixels affect generation cost. Higher resolution
            = higher cost.
          example: 768
          maximum: 1920
          minimum: 256
          type: integer
        seed:
          description: >
            Random seed for reproducible results.


            **Use case:** Generate variations of the same image by using the
            same seed with slightly modified prompts.


            **Valid range:** 0 to 4,294,967,295

            **Default:** Random seed (if not provided)
          example: 42
          maximum: 4294967295
          minimum: 0
          nullable: true
          type: integer
        guidance:
          default: 3
          description: >-
            Guidance scale for the generation. Higher values make the model
            follow the prompt more closely. Valid range: 1.5 to 10.0.
          maximum: 10
          minimum: 1.5
          nullable: true
          type: number
        steps:
          default: 50
          description: >-
            Number of inference steps. More steps generally produce higher
            quality but take longer. Valid range: 1 to 50.
          maximum: 50
          minimum: 1
          nullable: true
          type: integer
        safety_tolerance:
          default: 5
          description: >-
            Tolerance level for input and output moderation. Between 0 and 5, 0
            being most strict, 5 being least strict.
          maximum: 5
          minimum: 0
          nullable: true
          type: integer
        prompt_upsampling:
          default: false
          description: >
            Automatically enhance and expand your prompt for better generation
            results.


            **When to enable:**

            - Using simple, short prompts

            - Want AI to add creative details

            - Experimenting with variations


            **When to disable:**

            - Using detailed, specific prompts

            - Need exact control over output

            - Following brand guidelines
          example: false
          type: boolean
        output_format:
          description: Format of the output image
          enum:
            - jpeg
            - png
          nullable: true
          type: string
        input_image:
          description: >
            Base64-encoded input image for **image-to-image generation** or
            **image editing**.


            **Supported formats:** JPEG, PNG, WebP

            **Use cases:**

            - Modify existing images

            - Style transfer

            - Composition refinement


            **Note:** Can provide up to 4 input images using `input_image`,
            `input_image_2`, `input_image_3`, and `input_image_4`.
          nullable: true
          type: string
        input_image_2:
          description: Second base64-encoded input image for multi-image generation.
          nullable: true
          type: string
        input_image_3:
          description: Third base64-encoded input image for multi-image generation.
          nullable: true
          type: string
        input_image_4:
          description: Fourth base64-encoded input image for multi-image generation.
          nullable: true
          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
      required:
        - prompt
      type: object
    create_image_from_text_flux_200_response:
      example:
        data:
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
      properties:
        data:
          $ref: '#/components/schemas/task'
      required:
        - data
      type: object
    get_all_style_transfer_tasks_400_response:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    get_all_style_transfer_tasks_400_response_1:
      properties:
        problem:
          $ref: >-
            #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem
      type: object
    get_all_style_transfer_tasks_500_response:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    get_all_style_transfer_tasks_503_response:
      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
    get_all_style_transfer_tasks_400_response_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: >-
              #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner
          type: array
      required:
        - invalid_params
        - message
      type: object
    get_all_style_transfer_tasks_400_response_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
  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

````