POST
/
higgsfield
/
generate
Higgsfield Video Generation
curl --request POST \
  --url https://api.unifically.com/higgsfield/generate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "<string>",
  "start_image_url": "<string>",
  "model": "<string>",
  "motion_id": "<string>",
  "end_image_url": "<string>",
  "enhance_prompt": true,
  "seed": 123
}
'
{
  "code": 200,
  "data": {
    "task_id": "cc038613-e320-4b5e-86e9-cc285580a01e",
    "error": {}
  }
}
Generate high-quality AI videos from images using Higgsfield’s Video models with motion templates.

Pricing

For current pricing, see the Pricing page.

Model Comparison

  • Turbo: 1.5x Faster compared to Lite and is prioritized in the queue, medium quality
  • Standard: Normal processing speed, priority queue, best quality
  • Lite: 6x Slower speed, basic quality

Authentication

All endpoints require authentication using Bearer token authorization:
-H 'Authorization: Bearer YOUR_API_KEY'

Request

curl --request POST \
  --url https://api.unifically.com/higgsfield/generate \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": "A beautiful sunset animation",
    "start_image_url": "https://example.com/start.jpg",
    "model": "turbo",
    "motion_id": "d2389a9a-91c2-4276-bc9c-c9e35e8fb85a",
    "end_image_url": "https://example.com/end.jpg",
    "enhance_prompt": false,
    "seed": 123456
  }'

Parameters

prompt
string
required
Text description for the video generation
start_image_url
string
required
URL of the starting frame image
model
string
required
Model to useOptions: "turbo", "standard", "lite"
motion_id
string
required
Motion preset ID (must be valid UUID format)
end_image_url
string
URL of the ending frame image. If provided, the video will transition from start_image_url to end_image_urlDefault: null
enhance_prompt
boolean
Whether to enhance/improve the prompt automaticallyDefault: false
seed
integer
Random seed for reproducible generation. If not provided, a random value between 0-999999 is used

Response

{
  "code": 200,
  "data": {
    "task_id": "cc038613-e320-4b5e-86e9-cc285580a01e",
    "error": {}
  }
}

Response Fields

code
integer
default:"200"
HTTP status code (200 for success)
data
object
Response data
task_id
string
Unique identifier for this generation task
error
object
Error information (empty object for successful requests)

Error Responses

Missing Required Field:

{
  "code": 400,
  "data": {
    "message": "{\"error\":\"Required field: prompt\"}",
    "error": {}
  }
}

Invalid Motion ID:

{
  "code": 400,
  "data": {
    "message": "Invalid Motion ID",
    "error": {}
  }
}

Unrecognized Parameter:

{
  "code": 400,
  "data": {
    "message": "Unrecognized param frames. Available params are: prompt, start_image_url, end_image_url, enhance_prompt, seed, model, motion_id",
    "error": {}
  }
}
Use the task_id to check the status using the Get Task endpoint.