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

# FLUX.2 Flex Text to Image

> Explore image concepts with FLUX.2 Flex, using descriptive prompts to shape composition and style in 1K or 2K output.

<Tip>
  1. Submit the request with `VIDGO_API_KEY`. A `task_id` is returned immediately. Keep it until the task reaches `finished` or `failed`.
  2. Use [Query Task Status](/api-manual/task-management/status) to retrieve the result. If you provide a `callback_url`, Vidgo sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails.
</Tip>

# FLUX.2 Flex Text to Image

Explore image concepts with FLUX.2 Flex, using descriptive prompts to shape composition and style in 1K or 2K output.

## Available Models

* **blackforestlabs/flux-2-flex/text-to-image** - Generate images from text prompts.

## Output Options

### Image Size

* `size`: Required. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `auto`.

### Resolution

* `resolution`: Required. Accepted values: `1K`, `2K`.

## Key Features

* Generate images from text prompts.
* Choose from `1K`, `2K` output resolutions.

## Advanced Parameters

Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`.

Send the input fields listed on this page.

### Prompt

* `prompt`: Required. Describe the desired image. Length: **3-5,000 characters**.

## Verified Example

This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN.

![Tide Pool Field Notebook](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/text-to-image/v1/02/output.jpg)

```json theme={null}
{
  "code": 200,
  "data": {
    "task_id": "SBR3R4D3GOFPXM1Z",
    "status": "finished",
    "files": [
      {
        "file_type": "image",
        "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/text-to-image/v1/02/output.jpg"
      }
    ],
    "created_time": "2026-09-26T11:07:50",
    "error_message": null,
    "progress": 100
  }
}
```


## OpenAPI

````yaml api-manual/image-series/blackforestlabs-flux-2-flex-text-to-image.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - FLUX.2 Flex Text to Image
  description: >-
    Explore image concepts with FLUX.2 Flex, using descriptive prompts to shape
    composition and style in 1K or 2K output.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Image Series
      summary: FLUX.2 Flex Text to Image
      description: >-
        Send the fields shown for this workflow. Place `prompt`, `size`, and
        `resolution` inside `input`.
      operationId: submit_blackforestlabs_flux_2_flex_text_to_image
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              properties:
                model:
                  type: string
                  example: blackforestlabs/flux-2-flex/text-to-image
                input:
                  type: object
                  required:
                    - prompt
                    - resolution
                    - size
                  properties:
                    prompt:
                      type: string
                      minLength: 3
                      maxLength: 5000
                      description: >-
                        Text description of the image to generate, 3-5,000
                        characters.
                    size:
                      type: string
                      enum:
                        - '1:1'
                        - '4:3'
                        - '3:4'
                        - '16:9'
                        - '9:16'
                        - '3:2'
                        - '2:3'
                        - auto
                      description: Aspect ratio of the output image.
                    resolution:
                      type: string
                      enum:
                        - 1K
                        - 2K
                      description: Output image resolution.
                  additionalProperties: false
                callback_url:
                  type: string
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint for task completion
                    notifications. HTTPS is recommended. Omit, use null, or use
                    an empty string to disable callbacks.
              description: >-
                Keep model and callback_url at the root. Place workflow
                parameters inside input.
            examples:
              default:
                summary: Tide Pool Field Notebook
                value:
                  model: blackforestlabs/flux-2-flex/text-to-image
                  input:
                    prompt: >-
                      An overhead photograph of an open naturalist's field
                      notebook lying on a sun-warmed basalt rock beside a tide
                      pool. The two cream, lightly textured pages are filled
                      with delicate pencil and watercolour studies: on the left
                      page a purple ochre sea star, a giant green anemone with
                      open tentacles, and a hermit crab in a turban-snail shell;
                      on the right page a cluster of goose barnacles, a small
                      tidepool sculpin, and a strand of rockweed. Each drawing
                      has a neat handwritten ink label: "Pisaster ochraceus",
                      "Anthopleura xanthogrammica", "Pagurus samuelis",
                      "Pollicipes polymerus", "Oligocottus maculosus", "Fucus
                      distichus". Across the top of the left page, the
                      handwritten heading reads exactly "LOW TIDE 0.3 m - 14
                      MAY". Small measurement ticks and fine arrows point to
                      anatomical details. A graphite pencil, a small brass
                      magnifier and a water brush rest on the pages; a few drops
                      of seawater and grains of sand sit near the paper edge.
                      Soft overcast light, true-to-life paper texture, visible
                      watercolour blooms and pencil grain, legible correctly
                      spelled handwriting, no other text, no logos, no
                      watermark.
                    size: '4:3'
                    resolution: 1K
              flex-text-to-image-01:
                summary: Alpine Trail Signpost
                value:
                  model: blackforestlabs/flux-2-flex/text-to-image
                  input:
                    prompt: >-
                      A photorealistic mid shot of a weathered larch-wood trail
                      signpost at a high Alpine mountain pass in late afternoon.
                      One small square metal plate at the top of the post and
                      three arrow-shaped boards below it, each with crisp
                      carved, white-painted capital lettering. Each board
                      carries only its own single line of text, and nothing is
                      repeated anywhere else:

                      Top square plate: "SENTIERO 443"

                      Top arrow, pointing left: "RIFUGIO NUVOLAU 1 h 20"

                      Middle arrow, pointing right: "PASSO GIAU 45 min"

                      Bottom arrow, pointing left: "LAGO FEDERA 1 h 50"

                      The wood shows deep silver-grey grain, cracks, rusted
                      bolts and patches of orange and pale-green lichen. Behind
                      the post, jagged dolomite peaks glow pink in alpenglow
                      above a scree slope, and a narrow dirt path leads away
                      with two tiny out-of-focus hikers. Low warm sun from the
                      right, shallow depth of field on the signs, 50mm lens.
                      Lettering sharp and correctly spelled, no other words or
                      numbers, no logos, no watermark.
                    size: '3:4'
                    resolution: 1K
              flex-text-to-image-03:
                summary: Orbital Cockpit Console
                value:
                  model: blackforestlabs/flux-2-flex/text-to-image
                  input:
                    prompt: >-
                      A cinematic view from the pilot's seat of a retro-futurist
                      research spacecraft cockpit in orbit above the night side
                      of Earth. A curved instrument console spans the frame,
                      built from brushed aluminium, olive-green enamel panels
                      and chunky toggle switches with metal guards. Only four
                      backlit amber labels appear on the console, each exactly
                      once: on the far left panel "O2 21.4%", above a round
                      analog gauge left of centre "COOLANT °C" with the needle
                      at 22, directly right of the central screen "NAV LOCK",
                      and on the far right panel "DOCK 14.2 m/s". All other
                      switches and panels are unlabeled. The central small green
                      monochrome screen shows a wireframe orbit trace with no
                      text. Through the wide front window, city lights trace
                      coastlines on the dark Earth below and a thin blue
                      atmospheric line glows along the horizon. The pilot's
                      gloved hands rest near a throttle lever at the bottom
                      edge. Subtle scratches, worn paint around the switches and
                      dust drifting in the soft cabin light. Sharp, legible
                      labels in a clean engineering typeface, physically
                      plausible lighting, no other text, no logos, no watermark.
                    size: '16:9'
                    resolution: 1K
              callback:
                summary: Receive a completion callback
                value:
                  model: blackforestlabs/flux-2-flex/text-to-image
                  input:
                    prompt: >-
                      An overhead photograph of an open naturalist's field
                      notebook lying on a sun-warmed basalt rock beside a tide
                      pool. The two cream, lightly textured pages are filled
                      with delicate pencil and watercolour studies: on the left
                      page a purple ochre sea star, a giant green anemone with
                      open tentacles, and a hermit crab in a turban-snail shell;
                      on the right page a cluster of goose barnacles, a small
                      tidepool sculpin, and a strand of rockweed. Each drawing
                      has a neat handwritten ink label: "Pisaster ochraceus",
                      "Anthopleura xanthogrammica", "Pagurus samuelis",
                      "Pollicipes polymerus", "Oligocottus maculosus", "Fucus
                      distichus". Across the top of the left page, the
                      handwritten heading reads exactly "LOW TIDE 0.3 m - 14
                      MAY". Small measurement ticks and fine arrows point to
                      anatomical details. A graphite pencil, a small brass
                      magnifier and a water brush rest on the pages; a few drops
                      of seawater and grains of sand sit near the paper edge.
                      Soft overcast light, true-to-life paper texture, visible
                      watercolour blooms and pencil grain, legible correctly
                      spelled handwriting, no other text, no logos, no
                      watermark.
                    size: '4:3'
                    resolution: 1K
                  callback_url: https://your-domain.com/callback
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                      status:
                        type: string
                        enum:
                          - not_started
                          - running
                          - finished
                          - failed
                      created_time:
                        type: string
                        format: date-time
              example:
                code: 200
                data:
                  task_id: SBR3R4D3GOFPXM1Z
                  status: running
                  created_time: '2026-09-26T11:07:50'
        '400':
          description: Invalid input, inaccessible media, or insufficient credits
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '502':
          description: Unable to create the generation task
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '503':
          description: Model configuration or capability is not approved
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Use VIDGO_API_KEY.

````