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

# Generate lipsync (release pending)

> Available after the coordinated API and Tasks release for mono#348. Not verified on the deployed baseline. Fixed fal-ai/ltx-2-19b/audio-to-video; estimated rounded output megapixels at $0.0018 per unit, actual provider units used when supplied. The worker verifies an audio stream before final composition; presence of audio is not proof of perceptual lip alignment.



## OpenAPI

````yaml POST /api/content/lipsync
openapi: 3.1.0
info:
  title: Recoup API - Content
  description: >-
    API documentation for the Recoup platform - an AI agent platform for the
    music industry
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.recoupable.dev
security: []
paths:
  /api/content/lipsync:
    post:
      tags:
        - Content
      summary: Generate audio-driven video (release pending)
      description: >-
        Available after the coordinated API and Tasks release for mono#348. Not
        verified on the deployed baseline. Fixed
        fal-ai/ltx-2-19b/audio-to-video; estimated rounded output megapixels at
        $0.0018 per unit, actual provider units used when supplied. The worker
        verifies an audio stream before final composition; presence of audio is
        not proof of perceptual lip alignment.
      operationId: createContentLipsync
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentCreateLipsyncRequest'
      responses:
        '200':
          description: Video generated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentCreateVideoResponse'
        '400':
          description: Validation failed — invalid or missing request body fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentErrorResponse'
        '401':
          description: Unauthorized — invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentErrorResponse'
        '402':
          description: >-
            Insufficient credits before generation. The fixed LTX audio-to-video
            model costs $0.0018 per rounded output megapixel (1,800 micro-dollar
            credits per unit); duration and frame dimensions determine the
            preflight estimate.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentErrorResponse'
        '429':
          description: >-
            Per-account generation rate exceeded (30 requests/minute).
            Retry-After states seconds to wait.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentErrorResponse'
        '502':
          description: >-
            Provider returned no usable video; no Recoup generation charge is
            recorded.
        '503':
          description: >-
            Shared generation throttling unavailable; no provider generation
            starts.
      security:
        - apiKeyAuth: []
        - bearerAuth: []
components:
  schemas:
    ContentCreateLipsyncRequest:
      type: object
      required:
        - prompt
        - image_url
        - audio_url
        - duration
      additionalProperties: false
      properties:
        prompt:
          type: string
          minLength: 1
          maxLength: 50000
        image_url:
          type: string
          format: uri
        audio_url:
          type: string
          format: uri
          description: Public URL of the selected song window, not the full track.
        duration:
          type: integer
          minimum: 5
          maximum: 19
        seed:
          type: integer
      description: >-
        Release-pending fixed LTX audio-to-video primitive. 1280x720 at 25fps;
        bounded frame count. No arbitrary model selection.
      example:
        prompt: The artist performs the supplied vocal phrase.
        image_url: https://example.com/artist.png
        audio_url: https://example.com/selected-clip.mp3
        duration: 15
    ContentCreateVideoResponse:
      type: object
      required:
        - videoUrl
      properties:
        videoUrl:
          type: string
          format: uri
          description: URL of the generated video
    ContentErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message describing what went wrong
          example: Unauthorized
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your Recoup API key. [Learn more](/quickstart#api-keys).
    bearerAuth:
      type: http
      scheme: bearer

````

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