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

# Generate a video

> Initiate video generation using a specified AI model. Different models require different parameters — see the model descriptions for details.



## OpenAPI

````yaml /openapi.json post /videos/generate
openapi: 3.0.0
info:
  title: RawUGC API
  version: 1.0.0
  description: >-
    Generate AI videos, images, and music, and schedule social media posts
    programmatically.
  contact:
    name: API Support
    email: support@rawugc.com
    url: https://docs.rawugc.com
  license:
    name: Proprietary
servers:
  - url: https://rawugc.com/api/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Tasks
    description: >-
      Deprecated. Use typed resource endpoints instead: GET /videos/{videoId},
      GET /images/{imageId}, GET /music/{musicId}.
  - name: Image Generation
    description: >-
      Generate and edit AI images using Nano Banana models. Supports
      text-to-image generation (6 credits) and image-to-image editing (2
      credits).
  - name: Video Generation
    description: Generate and manage AI videos using Sora 2, Kling, and Veo 3 models
  - name: Personas
    description: Manage target audience personas for content plans
  - name: Messaging
    description: Manage brand/positioning messaging for content plans
  - name: Products
    description: Manage products for video generation
  - name: Styles
    description: Manage video creative styles and templates
  - name: Characters
    description: List available AI characters for video generation
  - name: Video Editing
    description: Post-process videos with captions, overlays, and effects
  - name: Upload
    description: Upload video and image files for use in generation requests
  - name: Social Scheduling
    description: Schedule and manage social media posts to TikTok, Instagram, and YouTube
  - name: Social Accounts
    description: Manage connected social media accounts
  - name: Music Generation
    description: >-
      Generate AI music tracks using Suno models with customizable genre, mood,
      and style
  - name: Viral Library
    description: >-
      Browse and search analyzed TikTok videos across the platform. Includes
      AI-powered analysis with hooks, keyframes, performance insights, and
      semantic search via natural language queries.
  - name: Research
    description: >-
      Scrape TikTok videos, analyze any video, and generate content plans. Tools
      for competitive research and content strategy.
paths:
  /videos/generate:
    post:
      tags:
        - Video Generation
      summary: Generate a video
      description: >-
        Initiate video generation using a specified AI model. Different models
        require different parameters — see the model descriptions for details.
      operationId: generateVideo
      parameters:
        - $ref: '#/components/parameters/RawUGCVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              sora-text-to-video:
                summary: Sora 2 Text-to-Video
                value:
                  model: sora-2-text-to-video
                  prompt: A serene beach at sunset with gentle waves
                  aspectRatio: landscape
                  nFrames: '15'
              sora-image-to-video:
                summary: Sora 2 Image-to-Video
                value:
                  model: sora-2-image-to-video
                  prompt: Camera zooms in on the product
                  imageUrls:
                    - https://example.com/product.jpg
                  aspectRatio: portrait
                  nFrames: '10'
              kling-motion-control:
                summary: Kling Motion Control
                value:
                  model: kling-2.6/motion-control
                  imageUrls:
                    - https://example.com/character.jpg
                  videoUrls:
                    - https://example.com/dance-reference.mp4
                  characterOrientation: video
                  mode: 1080p
              veo3-quality:
                summary: Veo 3.1 Quality
                value:
                  model: veo3
                  prompt: >-
                    A cinematic drone shot of a mountain landscape at golden
                    hour
                  aspectRatio: '16:9'
      responses:
        '201':
          description: Video generation initiated successfully
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum requests allowed per minute
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in current window
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Unix timestamp when rate limit resets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  parameters:
    RawUGCVersion:
      name: RawUGC-Version
      in: header
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2}$
        example: '2026-03-06'
      description: >-
        API version to use for this request (date string, e.g. '2026-03-06'). If
        omitted, uses your API key's pinned version or the latest version.
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
      properties:
        model:
          type: string
          enum:
            - sora-2-text-to-video
            - sora-2-image-to-video
            - kling-2.6/motion-control
            - veo3
            - veo3_fast
          description: AI model to use for video generation
        prompt:
          type: string
          minLength: 1
          maxLength: 5000
          description: >-
            Text description of the video to generate. Required for
            text-to-video models (sora-2-text-to-video, veo3, veo3_fast).
        imageUrls:
          type: array
          items:
            type: string
            format: uri
          maxItems: 10
          description: >-
            Array of image URLs. Required for sora-2-image-to-video and
            kling-2.6/motion-control.
        videoUrls:
          type: array
          items:
            type: string
            format: uri
          maxItems: 1
          description: >-
            Array of reference video URLs. Required for
            kling-2.6/motion-control.
        aspectRatio:
          type: string
          enum:
            - portrait
            - landscape
            - '16:9'
            - '9:16'
            - Auto
          description: >-
            Video aspect ratio. Sora models use portrait/landscape. Veo models
            use 16:9, 9:16, or Auto.
        nFrames:
          type: string
          enum:
            - '10'
            - '15'
          description: Video length in seconds (Sora models only)
        characterOrientation:
          type: string
          enum:
            - image
            - video
          description: >-
            Character orientation mode for kling-2.6/motion-control. 'image' =
            10s max, 'video' = 30s max.
        mode:
          type: string
          enum:
            - 720p
            - 1080p
          description: Output resolution for kling-2.6/motion-control
        selectedCharacter:
          type: string
          description: Character username to use (e.g., 'rawugc.mia')
    VideoGenerationResponse:
      type: object
      properties:
        videoId:
          type: string
          description: Unique video identifier (vid_xxx format)
        model:
          type: string
          description: Model used for generation
        status:
          type: string
          enum:
            - pending
            - processing
            - completed
            - failed
          description: Current generation status
        creditsUsed:
          type: number
          description: Number of credits deducted for this generation
        newBalance:
          type: number
          description: Remaining credit balance after deduction
        estimatedCompletionTime:
          type: string
          description: Estimated time until video is ready (human-readable)
        createdAt:
          type: number
          description: Timestamp when generation was initiated (milliseconds since epoch)
    ApiError:
      type: object
      properties:
        type:
          type: string
          format: uri
          description: >-
            URI reference identifying the problem type (e.g.,
            https://api.rawugc.com/errors/validation_error)
        title:
          type: string
          description: Short, human-readable summary of the problem
        status:
          type: number
          description: HTTP status code
        detail:
          type: string
          description: Human-readable explanation of the problem
        instance:
          type: string
          format: uri
          description: URI reference identifying this specific occurrence
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Field-specific validation errors
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Use your API key from the RawUGC dashboard. Include as: Authorization:
        Bearer YOUR_API_KEY

````