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

# Generate Video

> Generate videos from text & images

This is the core generation endpoint for the **Grok Video API**.

For the complete endpoint directory, recommended workflow, and related capabilities, see the [Grok Video API Overview](/api/en/grok).


## OpenAPI

````yaml openapi/en/grok.json POST /grok/generations
openapi: 3.1.0
info:
  title: Grok Video DOCS
  version: 1.0.0
  description: Grok Video API provides efficient video analysis and generation capabilities
servers:
  - url: https://api.ttapi.io
security: []
paths:
  /grok/generations:
    post:
      description: Generate videos from text & images
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateRequest'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        '400':
          $ref: '#/components/responses/400Response'
        '401':
          $ref: '#/components/responses/401Response'
      security:
        - CustomApiKey: []
components:
  schemas:
    GenerateRequest:
      type: object
      properties:
        model:
          type: string
          description: >-
            Model name.

            - `grok-imagine-video-1.5-fast`: duration 6-30s (6s and 10s are
            standard durations), supports multiple reference images (max 7)

            - `grok-imagine-video`: duration 1-15s, supports multiple reference
            images (single image up to 15s, multiple images max 10s), 720P only

            - `grok-imagine-video-1.5`: duration 1-15s, only single reference
            image and it is required
          enum:
            - grok-imagine-video-1.5-fast
            - grok-imagine-video
            - grok-imagine-video-1.5
          default: grok-imagine-video-1.5-fast
          example: grok-imagine-video-1.5-fast
        prompt:
          type: string
          description: >-
            Prompt. Maximum length is 4096 characters for `grok-imagine-video`
            and `grok-imagine-video-1.5`; `grok-imagine-video-1.5-fast` supports
            longer prompts.
        aspect_ratio:
          type: string
          default: '16:9'
          enum:
            - '2:3'
            - '3:2'
            - '1:1'
            - '9:16'
            - '16:9'
          description: Video aspect ratio
        video_length:
          type: string
          default: '10'
          description: >-
            Video duration in seconds. `grok-imagine-video-1.5-fast` range: 6 to
            30 (6s and 10s are standard durations); `grok-imagine-video` range:
            1 to 15 (single image up to 15s, multiple images max 10s);
            `grok-imagine-video-1.5` range: 1 to 15.
        resolution_name:
          type: string
          default: 720p
          enum:
            - 480p
            - 720p
            - 1080p
          description: >-
            Output resolution. 480p and 720p are supported by all models; 1080p
            is only supported by `grok-imagine-video-1.5`.
        refer_images:
          type: array
          items:
            type: string
          description: >-
            Reference image URLs. `grok-imagine-video-1.5-fast` supports
            multiple images (max 7); `grok-imagine-video` supports multiple
            images (single image up to 15s, multiple images max 10s);
            `grok-imagine-video-1.5` only supports a single image and it is
            required.<br/>`['https://cdn.ttapi.io/other/2026-03-13/a86ca2c7-6333-4840-b337-395a5d02a182.png','https://cdn.ttapi.io/other/2026-03-13/64a858ed-6095-45ce-92d5-b515c9864703.png']`
        hook_url:
          type: string
          description: >-
            Callback URL address. When the task completes or fails,
            notifications will be sent to this address. The notification data
            structure is consistent with the <a href="fetch"
            target="_self">fetch structure</a>. If not set, you need to call the
            <a href="fetch" target="_self">fetch endpoint</a> to query the
            result
          example: https://example.com/callback
      required:
        - prompt
  responses:
    SuccessResponse:
      description: Request successful
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: SUCCESS
              message:
                type: string
                example: success
              data:
                type: object
                example:
                  jobId: jobId
            required:
              - status
              - message
              - data
    400Response:
      description: Parameter error
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
                example: '"prompt" cannot be empty.'
              data:
                type: object
            required:
              - status
              - message
    401Response:
      description: Authorization failed
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
                example: Wrong TT-API-KEY or email is not activated.
            required:
              - status
              - message
  securitySchemes:
    CustomApiKey:
      type: apiKey
      in: header
      name: TT-API-KEY
      description: >-
        You can obtain your API key from the <a
        href='https://dashboard.ttapi.io' target='_blank'>TTAPI Dashboard</a>.

````