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

# Create a Flash VSR task

> Create an asynchronous Flash VSR task to upscale a public MP4 video.



## OpenAPI

````yaml openapi/flash-vsr-video.yaml POST /contents/generations/tasks
openapi: 3.1.0
info:
  title: Flash VSR video API
  version: 1.0.0
  description: Provider-specific GENGEN reference for Flash VSR video upscaling.
servers:
  - url: https://gengen.farm/api/gengen/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /contents/generations/tasks:
    post:
      summary: Create a Flash VSR task
      description: >
        Create an asynchronous Flash VSR task through the shared GENGEN video

        endpoint. This page intentionally exposes only the Flash VSR model,
        mode,

        source asset, and output controls.


        GENGEN validates the public MP4 source and reads its duration before
        task

        creation. URLs resolving to private or link-local addresses are
        rejected.


        [Try Flash VSR in the API
        Explorer](https://gengen.farm/api-explorer/demos/flash-vsr-generation).
      operationId: createFlashVsrTask
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFlashVsrTaskRequest'
            example:
              model: flashvsr
              mode: video_super_resolution
              assets:
                sourceVideo: https://example.com/source.mp4
              controls:
                resolution: 4k
      responses:
        '200':
          description: The task was accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoTask'
              example:
                id: flashvsr:550e8400-e29b-41d4-a716-446655440000
                model: flashvsr
                status: pending
                outputs:
                  videos: []
                  images: []
                createdAt: '2026-06-24T08:00:00.000Z'
                updatedAt: '2026-06-24T08:00:00.000Z'
                statusUpdateTime: '2026-06-24T08:00:00.000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-codeSamples:
        - lang: bash
          label: Upscale a video
          source: |
            curl --request POST \
              --url https://gengen.farm/api/gengen/v1/contents/generations/tasks \
              --header 'Authorization: Bearer gengen_live_xxxxxxxxxxxxxxxx' \
              --header 'Content-Type: application/json' \
              --data '{
                "model": "flashvsr",
                "mode": "video_super_resolution",
                "assets": {
                  "sourceVideo": "https://example.com/source.mp4"
                },
                "controls": {
                  "resolution": "4k"
                }
              }'
components:
  schemas:
    CreateFlashVsrTaskRequest:
      type: object
      required:
        - model
        - assets
        - controls
      properties:
        model:
          type: string
          const: flashvsr
        mode:
          type: string
          const: video_super_resolution
          default: video_super_resolution
        assets:
          $ref: '#/components/schemas/FlashVsrAssets'
        controls:
          $ref: '#/components/schemas/FlashVsrControls'
      additionalProperties: false
    VideoTask:
      type: object
      required:
        - id
        - model
        - status
        - outputs
      properties:
        id:
          type: string
        model:
          type: string
        status:
          type: string
        outputs:
          $ref: '#/components/schemas/GenerationOutputs'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        statusUpdateTime:
          type: string
          format: date-time
      additionalProperties: true
    FlashVsrAssets:
      type: object
      required:
        - sourceVideo
      properties:
        sourceVideo:
          type: string
          format: uri
          description: |
            Public HTTP(S) URL for an MP4 video up to 250 MB. Base64, data URLs,
            `asset://` references, and other video containers are not supported.
      additionalProperties: false
    FlashVsrControls:
      type: object
      required:
        - resolution
      properties:
        resolution:
          type: string
          description: |
            Supported values:

            - `720p` — HD output
            - `1080p` — Full HD output
            - `2k` — 2K output
            - `4k` — Ultra HD output
          enum:
            - 720p
            - 1080p
            - 2k
            - 4k
      additionalProperties: false
    GenerationOutputs:
      type: object
      required:
        - videos
        - images
      properties:
        videos:
          type: array
          items:
            type: string
            format: uri
        images:
          type: array
          items:
            type: string
            format: uri
      additionalProperties: true
    Error:
      type: object
      properties:
        error_code:
          type: string
        error:
          type: string
        error_params:
          type: object
          additionalProperties: true
      additionalProperties: true
  responses:
    BadRequest:
      description: The Flash VSR request is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: The bearer token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    PaymentRequired:
      description: The workspace does not have enough available balance.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The API key is not authorized for this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    UnexpectedError:
      description: GENGEN or Flash VSR could not complete the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: GENGEN API key
      description: A workspace API key beginning with `gengen_live_`.

````