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

# Create video

> Create a Veo 3.1 video task.

**Path:** `POST https://api.omniall.ai/v1/videos`

**Use cases:** text-to-video · first frame · first+last frame · reference images (standard model only).

Auth: `Authorization: Bearer sk-...`



## OpenAPI

````yaml openapi/veo-video.yaml POST /v1/videos
openapi: 3.1.0
info:
  title: Omniall AI — Veo video
  version: 1.0.0
  description: >-
    Google Veo 3.1 async video via OpenAI-style Video API.


    **Create:** `POST https://api.omniall.ai/v1/videos`


    **Poll:** `GET /v1/videos/{task_id}` · optional download `GET
    /v1/videos/{task_id}/content`


    Models: `veo-3.1-generate-preview`, `veo-3.1-fast-generate-preview`.


    Auth: `Authorization: Bearer sk-...`
servers:
  - url: https://api.omniall.ai
security: []
paths:
  /v1/videos:
    post:
      tags:
        - Veo
      summary: Create video
      description: >-
        Create a Veo 3.1 video task.


        **Path:** `POST https://api.omniall.ai/v1/videos`


        **Use cases:** text-to-video · first frame · first+last frame ·
        reference images (standard model only).


        Auth: `Authorization: Bearer sk-...`
      operationId: veoCreateVideo
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
            example: Bearer sk-...
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - prompt
              properties:
                model:
                  type: string
                  example: veo-3.1-generate-preview
                prompt:
                  type: string
                seconds:
                  type: string
                  description: '"4" / "6" / "8" (default "8").'
                  example: '8'
                duration:
                  type: integer
                size:
                  type: string
                  description: e.g. `1280x720`, `720x1280`.
                input_reference:
                  type: string
                  description: First-frame image.
                image:
                  type: string
                images:
                  type: array
                  items:
                    type: string
                metadata:
                  type: object
                  properties:
                    resolution:
                      type: string
                      example: 1080p
                    aspectRatio:
                      type: string
                      example: '16:9'
                    aspect_ratio:
                      type: string
                    last_frame:
                      type: string
                    last_frame_url:
                      type: string
                    mode:
                      type: string
                      description: Pass `reference` for reference-image mode.
                    negativePrompt:
                      type: string
                    negative_prompt:
                      type: string
            examples:
              text_to_video:
                summary: Text-to-video
                value:
                  model: veo-3.1-generate-preview
                  prompt: >-
                    An orange cat walks through a neon city on a rainy night,
                    cinematic push-in, ambient sound
                  seconds: '8'
                  size: 1280x720
                  metadata:
                    resolution: 1080p
                    aspectRatio: '16:9'
                    negativePrompt: blurry, watermark, distorted, low quality
              first_frame:
                summary: First frame
                value:
                  model: veo-3.1-generate-preview
                  prompt: The character starts walking forward
                  seconds: '8'
                  input_reference: https://example.com/first.png
                  metadata:
                    resolution: 720p
                    aspectRatio: '16:9'
              first_last_frame:
                summary: First + last frame
                value:
                  model: veo-3.1-generate-preview
                  prompt: Smooth transition between the two frames
                  seconds: '8'
                  input_reference: https://example.com/first.png
                  metadata:
                    last_frame: https://example.com/last.png
                    resolution: 720p
                    aspectRatio: '16:9'
              reference_images:
                summary: Reference images
                value:
                  model: veo-3.1-generate-preview
                  prompt: Keep character identity from the references
                  seconds: '8'
                  images:
                    - https://example.com/ref1.png
                    - https://example.com/ref2.png
                  metadata:
                    mode: reference
                    resolution: 720p
                    aspectRatio: '16:9'
      responses:
        '200':
          description: Task accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoTask'
              example:
                id: task_xxxxxxxx
                task_id: task_xxxxxxxx
                object: video
                model: veo-3.1-generate-preview
                status: queued
                progress: 0
                created_at: 1775025000
components:
  schemas:
    VideoTask:
      type: object
      properties:
        id:
          type: string
        task_id:
          type: string
        object:
          type: string
        model:
          type: string
        status:
          type: string
        progress:
          type: integer
        created_at:
          type: integer
        completed_at:
          type: integer
        video_url:
          type: string

````

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