Higgsfield DoP API Documentation
Image To Video Request - Request Code
POST https://gateway.pixazo.ai/ai-model-api/v1/generateImageToVideoRequest HTTP/1.1
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
{
"model": "dop-lite",
"prompt": "A serene lake with gentle ripples, birds flying overhead, cinematic lighting",
"seed": 123456,
"motions_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"motions_strength": 0.7,
"input_images": ["https://example.com/images/lake-scene.jpg"],
"enhance_prompt": true
} import requests
import json
url = "https://gateway.pixazo.ai/ai-model-api/v1/generateImageToVideoRequest"
headers = {
"Content-Type": "application/json",
"Cache-Control": "no-cache",
"Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
"model": "dop-lite",
"prompt": "A serene lake with gentle ripples, birds flying overhead, cinematic lighting",
"seed": 123456,
"motions_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"motions_strength": 0.7,
"input_images": ["https://example.com/images/lake-scene.jpg"],
"enhance_prompt": True
}
response = requests.post(url, headers=headers, json=data)
print(response.json()) const url = 'https://gateway.pixazo.ai/ai-model-api/v1/generateImageToVideoRequest';
const data = {
model: 'dop-lite',
prompt: 'A serene lake with gentle ripples, birds flying overhead, cinematic lighting',
seed: 123456,
motions_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
motions_strength: 0.7,
input_images: ['https://example.com/images/lake-scene.jpg'],
enhance_prompt: true
};
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Cache-Control': 'no-cache',
'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error)); curl -v -X POST "https://gateway.pixazo.ai/ai-model-api/v1/generateImageToVideoRequest" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" --data-raw '{
"model": "dop-lite",
"prompt": "A serene lake with gentle ripples, birds flying overhead, cinematic lighting",
"seed": 123456,
"motions_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"motions_strength": 0.7,
"input_images": ["https://example.com/images/lake-scene.jpg"],
"enhance_prompt": true
}' import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class ApiClient {
public static void main(String[] args) throws Exception {
String url = "https://gateway.pixazo.ai/ai-model-api/v1/generateImageToVideoRequest";
String json = "{" + "\n" +
" \"model\": \"dop-lite\"," + "\n" +
" \"prompt\": \"A serene lake with gentle ripples, birds flying overhead, cinematic lighting\"," + "\n" +
" \"seed\": 123456," + "\n" +
" \"motions_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"," + "\n" +
" \"motions_strength\": 0.7," + "\n" +
" \"input_images\": [\"https://example.com/images/lake-scene.jpg\"]," + "\n" +
" \"enhance_prompt\": true" + "\n" +
"}";
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.header("Ocp-Apim-Subscription-Key", "YOUR_SUBSCRIPTION_KEY")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} <?php
$url = 'https://gateway.pixazo.ai/ai-model-api/v1/generateImageToVideoRequest';
$data = [
'model' => 'dop-lite',
'prompt' => 'A serene lake with gentle ripples, birds flying overhead, cinematic lighting',
'seed' => 123456,
'motions_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'motions_strength' => 0.7,
'input_images' => ['https://example.com/images/lake-scene.jpg'],
'enhance_prompt' => true
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Cache-Control: no-cache',
'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?> Output
Successful API response:
{ "job_set_id": "96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX", "type": "image2video", "created_at": "2025-09-16T11:16:51.045020Z" } Request Body - Image To Video Request
Parameters for /generateImageToVideoRequest:
| Parameter | Required | Type | Description |
|---|---|---|---|
| webhook_url | No | string (URI) | The URL endpoint where callback requests will be sent. Must be a valid, accessible URI that can receive POST requests. If provided, webhook_secret is also required. Example: https://your-domain.com/webhook |
| webhook_secret | No | string | Secret key used for verifying callback authenticity. Use this to validate that callbacks are genuinely from Higgsfield. Required if webhook_url is provided. Example: webhook_secret_abc123 |
| model | Yes | enum string | The image-to-video model to use for generation. Available options: dop-lite, dop-preview, dop-turbo. Each model offers different quality and speed trade-offs. Example: dop-lite |
| prompt | Yes | string | Text description/prompt for video generation. Describes the desired video content, style, and motion. Be descriptive for better results. Example: A peaceful sunset over mountains with clouds moving slowly |
| seed | Yes | integer | Random seed for reproducible results. Must be between 1 and 1,000,000. Using the same seed with identical parameters will produce similar results. Example: 500000 |
| motions_id | Yes | string (UUID) | Unique identifier for the motion preset. This ID corresponds to predefined motion effects available in the system. Example: 3c90c3cc-0d44-4b50-8888-8dd25736052a. You can get motion_id using the API : https://endpoints.appypie.com/api-details#api=ai-model-api-polling&operation=motions |
| motions_strength | Yes | number (0-1) | Intensity of the motion effect application. Range from 0.0 (minimal effect) to 1.0 (maximum effect) with 0.01 step precision. Higher values create more pronounced motion. Example: 0.75 |
| input_images | Yes | array of strings | Array of image URLs for video generation. Each URL must be a publicly accessible link pointing to a valid image file. Supported formats include JPEG, PNG, WebP. Must contain exactly 1 element for standard generation. Example: ["https://example.com/image1.jpg"] |
| input_images_end | No | array of strings | Array of end frame image URLs for Start & End Frame functionality. Each URL must be a publicly accessible link pointing to a valid image file. Supported formats include JPEG, PNG, WebP. Minimum length: 1 element. Enables advanced frame interpolation between start and end images. Example: ["https://example.com/end-frame.jpg"] |
| enhance_prompt | Yes | boolean | Whether to automatically enhance and refine the provided prompt. When true, the system will optimize your prompt for better video generation results. Example: true |
| check_nsfw | No | boolean | Whether to perform NSFW (Not Safe For Work) content detection. When true, the system will check for inappropriate content and may reject the request if detected. |
Example Request - Image To Video Request
JSON
{ "model": "dop-lite", "prompt": "A serene lake with gentle ripples, birds flying overhead, cinematic lighting", "seed": 123456, "motions_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "motions_strength": 0.7, "input_images": ["https://example.com/images/lake-scene.jpg"], "enhance_prompt": true } Response - Image To Video Request
JSON
{ "job_set_id": "96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX", "type": "image2video", "created_at": "2025-09-16T11:16:51.045020Z", "jobs": [{ "id": "182d2a3c-8bfd-XXXX-XXXX-XXXXXXXXXXXX", "job_set_type": "image2video", "status": "queued", "results": null }], "input_params": { "prompt": "<PROMPT>", "model": "<MODEL_NAME>", "seed": 123456, "motions": [{ "id": "d21ff628-0d91-XXXX-XXXX-XXXXXXXXXXXX", "strength": 0.7 }], "input_images": [{ "type": "image_url", "image_url": "https://.../f7d959e1-4643-XXXX-XXXX-XXXXXXXXXXXX.png" }], "enhance_prompt": false, "check_nsfw": true } } Request Headers
| Header | Description |
|---|---|
| Content-Type | application/json |
| Cache-Control | no-cache |
| Ocp-Apim-Subscription-Key | Your subscription key for authentication |
Response Handling
The AI Model API returns specific HTTP status codes and response bodies to indicate the success or failure of a request. Developers should implement error handling in their applications to manage these responses effectively.
Common Status Codes and Responses
| Status Code | Description | Response Body |
|---|---|---|
| 200 | Success - The request was successfully processed. | { "success": true, ... } |
| 400 | Bad Request - The request contains invalid parameters or missing fields. | { "error": "Invalid request parameters" } |
| 401 | Unauthorized - The provided subscription key is missing or invalid. | { "error": "Invalid or missing authentication" } |
| 403 | Forbidden - The subscription does not have access to this API or action. | { "error": "Access denied for this operation" } |
| 404 | Not Found - The requested resource or endpoint could not be found. | { "error": "Endpoint not found" } |
| 429 | Too Many Requests - The request rate limit has been exceeded. | { "error": "Rate limit exceeded, please retry later" } |
| 500 | Internal Server Error - An unexpected error occurred on the server. | { "error": "An unexpected error occurred, please try again later" } |
Example Error Response
{
"error": "Invalid parameters"
} Retrieving Video Result and URL
After submitting your request, use this endpoint to check status and retrieve results.
Endpoint
POST https://gateway.pixazo.ai/ai-model-api-polling/getGenerationResults
Request Body
{ "job_set_id": "your-job-set-id-here" } POST https://gateway.pixazo.ai/ai-model-api-polling/getGenerationResults HTTP/1.1
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
{
"job_set_id": "96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX"
} import requests
import json
url = "https://gateway.pixazo.ai/ai-model-api-polling/getGenerationResults"
headers = {
"Content-Type": "application/json",
"Cache-Control": "no-cache",
"Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
"job_set_id": "96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX"
}
response = requests.post(url, headers=headers, json=data)
print(response.json()) const url = 'https://gateway.pixazo.ai/ai-model-api-polling/getGenerationResults';
const data = {
job_set_id: '96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX'
};
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Cache-Control': 'no-cache',
'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error)); curl -v -X POST "https://gateway.pixazo.ai/ai-model-api-polling/getGenerationResults" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" --data-raw '{
"job_set_id": "96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX"
}' import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class ApiClient {
public static void main(String[] args) throws Exception {
String url = "https://gateway.pixazo.ai/ai-model-api-polling/getGenerationResults";
String json = "{" + "\n" +
" \"job_set_id\": \"96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX\"" + "\n" +
"}";
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.header("Ocp-Apim-Subscription-Key", "YOUR_SUBSCRIPTION_KEY")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} <?php
$url = 'https://gateway.pixazo.ai/ai-model-api-polling/getGenerationResults';
$data = [
'job_set_id' => '96ddb2c0-2685-XXXX-XXXX-XXXXXXXXXXXX'
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Cache-Control: no-cache',
'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?> Higgsfield DoP API Pricing
| Model | Quality | Seconds | Price (USD) |
|---|---|---|---|
| dop-lite | 1080p | 5 | $0.135 |
| dop-preview | 1080p | 5 | $0.573 |
| dop-turbo | 1080p | 5 | $0.416 |
Ready to generate Higgsfield DoP API assets?
Start with an API key, then automate your pipeline.