Beatra

Enhance a video prompt from optional multimodal context

Create an asynchronous text-only prompt-enhancement task. Successful tasks are charged after completion from actual input and output tokens; this call does not generate a video. The compatibility model field is ignored.

POST
/v1/videos/prompts/enhance

Request Body

application/jsonRequired
metadataMetadata

Caller-supplied metadata; ≤16 keys, key ≤64 chars, value ≤512 chars

callback_urlCallback Url

HTTPS URL Beatra will POST the final Task envelope to when the Task reaches a terminal state

callback_signing_key_idCallback Signing Key Id

Optional standalone callback signing key. Omit for unsigned callback delivery; requires callback_url when provided.

modelModel

Compatibility input only. Its value and type are ignored in the first release; Beatra resolves the available prompt-enhancement model internally.

Default: "auto"
prompt
Required
Prompt

Required creative intent to expand into a production-ready video prompt.

Minimum length: 1Maximum length: 7000
duration
Required
Duration

Target video duration in integer seconds.

Minimum: 4Maximum: 15
aspect_ratio
Required
Aspect Ratio

Target video aspect ratio. Text-only requests cannot use adaptive.

Value in: "adaptive" | "21:9" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16"
first_frameFirst Frame

Optional strict first-frame context image.

last_frameLast Frame

Optional strict last-frame context image.

referencesReferences

Optional ordered image, video, or audio context. Reference mode and strict-frame mode are mutually exclusive.

Header Parameters

X-Request-Idstring

Optional client request id echoed in the response.

Idempotency-Key
Required
Idempotency-Key
Minimum length: 1Maximum length: 128
Authorization
Required
string

Bearer API key.

curl -X POST "https://example.com/v1/videos/prompts/enhance" \
  -H "X-Request-Id: string" \
  -H "Idempotency-Key: string" \
  -H "Authorization: string" \
  -H "Content-Type: application/json" \
  -d '{
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "callback_url": "string",
    "callback_signing_key_id": "string",
    "model": "auto",
    "prompt": "string",
    "duration": 4,
    "aspect_ratio": "adaptive",
    "first_frame": {
      "type": "url",
      "url": "string"
    },
    "last_frame": {
      "type": "url",
      "url": "string"
    },
    "references": [
      {
        "kind": "image",
        "media": {
          "type": "url",
          "url": "string"
        },
        "role": "subject",
        "reference_voice": {
          "type": "url",
          "url": "string"
        }
      }
    ]
  }'

Task accepted

{
  "object": "task",
  "task_id": "string",
  "status": "queued",
  "capability": "string",
  "workload_type": "model",
  "model": "string",
  "resolved_model": "string",
  "social": {
    "platform": "string",
    "operation_key": "string",
    "operation_name": "string",
    "schema_hash": "string"
  },
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "input": {},
  "progress": {
    "percent": 100,
    "stage": "string",
    "message": "string"
  },
  "output": {},
  "warnings": [
    {
      "code": "string",
      "message": "string",
      "field": "string"
    }
  ],
  "error": {
    "code": "string",
    "type": "string",
    "message": "string",
    "retryable": true,
    "param": "string",
    "details": {},
    "request_id": "string"
  },
  "usage": {
    "input_tokens": 0,
    "output_tokens": 0,
    "cache_read_tokens": 0,
    "cache_creation_tokens": 0,
    "reasoning_tokens": 0,
    "image_count": 0,
    "image_pixels": 0,
    "video_seconds": 0,
    "input_video_seconds": 0,
    "output_video_seconds": 0,
    "audio_seconds": 0,
    "characters": 0,
    "lines": [
      {
        "meter": "string",
        "quantity": "string",
        "unit": "string",
        "billed_amount_credits": "string"
      }
    ],
    "credits": "string"
  },
  "billing": {
    "charged_credits": "string",
    "refunded_credits": "string",
    "granted_credits": "string",
    "grant_source": "string",
    "net_charged_credits": "string"
  },
  "callback": {
    "url": "string",
    "status": "pending",
    "attempt_count": 0,
    "delivered_at": "2019-08-24T14:15:22Z",
    "last_error": "string"
  },
  "created_at": "2019-08-24T14:15:22Z",
  "started_at": "2019-08-24T14:15:22Z",
  "deadline_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "cancel_requested_at": "2019-08-24T14:15:22Z",
  "links": {
    "self": "string",
    "cancel": "string",
    "assets": "string"
  }
}