← Back to catalog

DreamActor M2

Live
videomotion

Swap one or more face images onto a driving motion-template video (DreamActor M2.0).

Endpoint

POSThttps://brahmand-api.bulletshorts.co/v1/video/dreamactor-m2

Authenticate with the X-API-Key request header.

Pricing

10 credits / sec1 credit = $0.01 (100 credits = $1). Billed on success: per second of output.
Price varies by resolution — pass resolution in your request. Credit cost per second:
resolutioncredits / secvs base
480p70.7×
720p101×

List price. Volume / bulk customers get a discounted rate — contact us for account pricing.

Parameters

NameTypeRequiredDescriptionDefault / options
image_urlstringrequiredFace image to map onto the motion template. (Use image_urls for multiple faces.)
image_urlsstring[]optionalOne or more face images (alternative to image_url).
video_urlstringrequiredMotion-template video (the driving performance).
promptstringoptionalOptional text guidance.
durationnumberoptionalOutput length in seconds (1-30).
default: 5
resolutionstringoptionalOutput resolution.
default: 720p
480p720p

Request

curl
curl -X POST https://brahmand-api.bulletshorts.co/v1/video/dreamactor-m2 \
  -H "X-API-Key: $TRINETRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"https://example.com/face.jpg","video_url":"https://example.com/motion-template.mp4","prompt":"Professional dance performance","duration":8,"resolution":"720p"}'
request body (JSON)
{
  "image_url": "https://example.com/face.jpg",
  "video_url": "https://example.com/motion-template.mp4",
  "prompt": "Professional dance performance",
  "duration": 8,
  "resolution": "720p"
}

Response

Submitting a job returns 202 Accepted with a job id. Poll GET /v1/jobs/{id} until the job reaches a terminal state, or register a webhook to be notified.

202 Accepted
{
  "job_id": "job_dreamactorm2_a1b2c3",
  "status": "queued"
}
GET /v1/jobs/{id} → succeeded
{
  "id": "job_dreamactorm2_a1b2c3",
  "model": "dreamactor-m2",
  "status": "succeeded",
  "output": {
    "outputs": [
      {
        "url": "https://cdn.trinetra.ai/out/dreamactor-m2/a1b2c3.mp4",
        "type": "video"
      }
    ]
  },
  "credits_charged": 10
}

Webhook: set a webhook_url on your API key to receive a POST with the terminal job document instead of polling.