Sync Labs · Capability

Sync Labs Video Dubbing and Localization

Workflow capability for AI-powered video dubbing and content localization using Sync Labs. Enables single video generation, batch processing for large-scale dubbing, cost estimation before submission, and asset reuse. Ideal for content creators, studios, educational platforms, and enterprises localizing video content across multiple languages.

Run with Naftiko Artificial IntelligenceBatch ProcessingContent LocalizationDubbingLip SyncMediaSync LabsVideo

What You Can Do

POST
Create generation — Create an AI lip-sync generation
/v1/generate
GET
List generations — List all generation jobs
/v1/generate
GET
Get generation — Get generation status and output video URL
/v1/generate/{id}
GET
Estimate cost — Estimate generation cost
/v1/estimate
POST
Create batch — Submit a batch of lip-sync generations
/v1/batch
GET
List batches — List all batch jobs
/v1/batch
GET
Get batch — Get batch status and results
/v1/batch/{id}
GET
List models — List available lip-sync AI models
/v1/models
GET
List assets — List uploaded video and audio assets
/v1/assets

MCP Tools

create-lipsync-video

Generate a lip-synced video by combining source video with new audio track

get-generation-status

Check the status of a lip-sync generation and get the output video URL when complete

read-only
list-generations

List all lip-sync generation jobs with their statuses and output URLs

read-only
estimate-generation-cost

Get a cost estimate before submitting a lip-sync generation to avoid surprises

read-only
create-batch-dubbing

Submit multiple videos for batch lip-sync processing (up to 500 videos)

get-batch-status

Check the progress and results of a batch dubbing job

read-only
list-available-models

List all available Sync Labs AI models with quality/speed/cost tradeoffs

read-only
list-uploaded-assets

List previously uploaded video and audio assets available for reuse

read-only

APIs Used

sync-labs

Capability Spec

video-dubbing.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: Sync Labs Video Dubbing and Localization
  description: >-
    Workflow capability for AI-powered video dubbing and content localization
    using Sync Labs. Enables single video generation, batch processing for
    large-scale dubbing, cost estimation before submission, and asset reuse.
    Ideal for content creators, studios, educational platforms, and enterprises
    localizing video content across multiple languages.
  tags:
    - Artificial Intelligence
    - Batch Processing
    - Content Localization
    - Dubbing
    - Lip Sync
    - Media
    - Sync Labs
    - Video
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      SYNC_LABS_API_KEY: SYNC_LABS_API_KEY

capability:
  consumes:
    - import: sync-labs
      location: ./shared/sync-labs-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: sync-labs-dubbing-api
      description: Unified REST API for Sync Labs video dubbing and localization workflows.
      resources:
        - path: /v1/generate
          name: generate
          description: Single video generation
          operations:
            - method: POST
              name: create-generation
              description: Create an AI lip-sync generation
              call: "sync-labs.create-generation"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: GET
              name: list-generations
              description: List all generation jobs
              call: "sync-labs.list-generations"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/generate/{id}
          name: generation
          description: Individual generation status and result
          operations:
            - method: GET
              name: get-generation
              description: Get generation status and output video URL
              call: "sync-labs.get-generation"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/estimate
          name: estimate
          description: Cost estimation
          operations:
            - method: GET
              name: estimate-cost
              description: Estimate generation cost
              call: "sync-labs.estimate-cost"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/batch
          name: batch
          description: Batch video generation
          operations:
            - method: POST
              name: create-batch
              description: Submit a batch of lip-sync generations
              call: "sync-labs.create-batch"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: GET
              name: list-batches
              description: List all batch jobs
              call: "sync-labs.list-batches"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/batch/{id}
          name: batch-item
          description: Individual batch status
          operations:
            - method: GET
              name: get-batch
              description: Get batch status and results
              call: "sync-labs.get-batch"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/models
          name: models
          description: Available AI models
          operations:
            - method: GET
              name: list-models
              description: List available lip-sync AI models
              call: "sync-labs.list-models"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/assets
          name: assets
          description: Uploaded media assets
          operations:
            - method: GET
              name: list-assets
              description: List uploaded video and audio assets
              call: "sync-labs.list-assets"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: sync-labs-dubbing-mcp
      transport: http
      description: MCP server for AI-assisted video dubbing and content localization workflows.
      tools:
        - name: create-lipsync-video
          description: Generate a lip-synced video by combining source video with new audio track
          hints:
            readOnly: false
            destructive: false
          call: "sync-labs.create-generation"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-generation-status
          description: Check the status of a lip-sync generation and get the output video URL when complete
          hints:
            readOnly: true
            openWorld: false
          call: "sync-labs.get-generation"
          with:
            id: "tools.generationId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-generations
          description: List all lip-sync generation jobs with their statuses and output URLs
          hints:
            readOnly: true
            openWorld: false
          call: "sync-labs.list-generations"
          outputParameters:
            - type: object
              mapping: "$."

        - name: estimate-generation-cost
          description: Get a cost estimate before submitting a lip-sync generation to avoid surprises
          hints:
            readOnly: true
            openWorld: false
          call: "sync-labs.estimate-cost"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-batch-dubbing
          description: Submit multiple videos for batch lip-sync processing (up to 500 videos)
          hints:
            readOnly: false
            destructive: false
          call: "sync-labs.create-batch"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-batch-status
          description: Check the progress and results of a batch dubbing job
          hints:
            readOnly: true
            openWorld: false
          call: "sync-labs.get-batch"
          with:
            id: "tools.batchId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-available-models
          description: List all available Sync Labs AI models with quality/speed/cost tradeoffs
          hints:
            readOnly: true
            openWorld: true
          call: "sync-labs.list-models"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-uploaded-assets
          description: List previously uploaded video and audio assets available for reuse
          hints:
            readOnly: true
            openWorld: false
          call: "sync-labs.list-assets"
          outputParameters:
            - type: object
              mapping: "$."