---
title: "Create Higgsfield Speak v2 lip-synced talking video job"
method: POST
path: "/generate/talking-videos"
---

# Create Higgsfield Speak v2 lip-synced talking video job

`POST /generate/talking-videos`

## Request

- Base URL: `https://api.bamf.ai/v1`
- URL: `https://api.bamf.ai/v1/generate/talking-videos`
- Auth: HTTP bearer

Queues a paid lip-sync request that animates a creator image speaking the supplied script. The script must stay within 40 words (about 15 seconds of audio); BAMF picks the smallest 5, 10, or 15 second Speak v2 duration that fits. Product-launch founder shots select Higgsfield Speak explicitly; failures do not silently forward likeness or cloned-voice data to another video vendor. Successful jobs return a BAMF-hosted MP4 media asset; failed, cancelled, or moderated requests are not reported as successful.

## Request body

- GenerateTalkingVideoRequest
  - `engine` 'auto' | 'lipsync' | 'veed_lipsync' | 'fabric' | 'omnihuman' | 'kling' | 'speak': Talking-video engine. Product-launch founder shots use speak, which is Higgsfield-only and does not silently fall back to another video provider.
  - `creator_id` string, uuid, required
  - `script` string, required: Words the creator speaks. At most 40 words (about 15 seconds of audio).
  - `image_url` string, uri: Optional HTTP(S) image of the speaker.
  - `quality` 'mid' | 'high'
  - `prompt` string: Optional direction for expression and motion.
  - `metadata` object

## Response `202`

Talking video generation job queued

- ApiJobResponse
  - `data` ApiJob
    - `id` string
    - `job_type` 'post.generate' | 'post.edit' | 'image.generate' | 'carousel.generate' | 'carousel.pdf' | 'brand_kit.generate' | 'research.run' | 'knowledge.process' | 'analytics.sync'
    - `status` 'queued' | 'running' | 'succeeded' | 'completed' | 'failed' | 'cancelled' | 'canceled'
    - `creator_id` string
    - `input` unknown
    - `output` unknown
    - `error` unknown
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable

## Other responses

- `400`: Invalid talking video input, including script_required or script_too_long

---

[API](https://skmtc.dev/bamf/apis/bamf-developer-platform-api.md) · [All operations](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/revisions/2337a0710c2e?raw)
