cURL
curl --request POST \
--url https://api.haiper.ai/v1/jobs/gen2/image2video \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "<string>",
"config": {
"source_image": "<string>"
},
"is_public": true,
"is_enable_prompt_enhancer": true,
"negative_prompt": "<string>",
"gen_mode": "<string>",
"settings": {
"seed": 123,
"duration": 123
}
}
'import requests
url = "https://api.haiper.ai/v1/jobs/gen2/image2video"
payload = {
"prompt": "<string>",
"config": { "source_image": "<string>" },
"is_public": True,
"is_enable_prompt_enhancer": True,
"negative_prompt": "<string>",
"gen_mode": "<string>",
"settings": {
"seed": 123,
"duration": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: '<string>',
config: {source_image: '<string>'},
is_public: true,
is_enable_prompt_enhancer: true,
negative_prompt: '<string>',
gen_mode: '<string>',
settings: {seed: 123, duration: 123}
})
};
fetch('https://api.haiper.ai/v1/jobs/gen2/image2video', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.haiper.ai/v1/jobs/gen2/image2video",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => '<string>',
'config' => [
'source_image' => '<string>'
],
'is_public' => true,
'is_enable_prompt_enhancer' => true,
'negative_prompt' => '<string>',
'gen_mode' => '<string>',
'settings' => [
'seed' => 123,
'duration' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.haiper.ai/v1/jobs/gen2/image2video"
payload := strings.NewReader("{\n \"prompt\": \"<string>\",\n \"config\": {\n \"source_image\": \"<string>\"\n },\n \"is_public\": true,\n \"is_enable_prompt_enhancer\": true,\n \"negative_prompt\": \"<string>\",\n \"gen_mode\": \"<string>\",\n \"settings\": {\n \"seed\": 123,\n \"duration\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.haiper.ai/v1/jobs/gen2/image2video")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"<string>\",\n \"config\": {\n \"source_image\": \"<string>\"\n },\n \"is_public\": true,\n \"is_enable_prompt_enhancer\": true,\n \"negative_prompt\": \"<string>\",\n \"gen_mode\": \"<string>\",\n \"settings\": {\n \"seed\": 123,\n \"duration\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.haiper.ai/v1/jobs/gen2/image2video")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"<string>\",\n \"config\": {\n \"source_image\": \"<string>\"\n },\n \"is_public\": true,\n \"is_enable_prompt_enhancer\": true,\n \"negative_prompt\": \"<string>\",\n \"gen_mode\": \"<string>\",\n \"settings\": {\n \"seed\": 123,\n \"duration\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"value": {
"generation_id": "<string>"
}
}{
"message": "<string>",
"code": 123,
"details": "<array>"
}Create with Haiper 2.x
Image to Video
Animate your image to a video
POST
/
v1
/
jobs
/
gen2
/
image2video
cURL
curl --request POST \
--url https://api.haiper.ai/v1/jobs/gen2/image2video \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "<string>",
"config": {
"source_image": "<string>"
},
"is_public": true,
"is_enable_prompt_enhancer": true,
"negative_prompt": "<string>",
"gen_mode": "<string>",
"settings": {
"seed": 123,
"duration": 123
}
}
'import requests
url = "https://api.haiper.ai/v1/jobs/gen2/image2video"
payload = {
"prompt": "<string>",
"config": { "source_image": "<string>" },
"is_public": True,
"is_enable_prompt_enhancer": True,
"negative_prompt": "<string>",
"gen_mode": "<string>",
"settings": {
"seed": 123,
"duration": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: '<string>',
config: {source_image: '<string>'},
is_public: true,
is_enable_prompt_enhancer: true,
negative_prompt: '<string>',
gen_mode: '<string>',
settings: {seed: 123, duration: 123}
})
};
fetch('https://api.haiper.ai/v1/jobs/gen2/image2video', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.haiper.ai/v1/jobs/gen2/image2video",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => '<string>',
'config' => [
'source_image' => '<string>'
],
'is_public' => true,
'is_enable_prompt_enhancer' => true,
'negative_prompt' => '<string>',
'gen_mode' => '<string>',
'settings' => [
'seed' => 123,
'duration' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.haiper.ai/v1/jobs/gen2/image2video"
payload := strings.NewReader("{\n \"prompt\": \"<string>\",\n \"config\": {\n \"source_image\": \"<string>\"\n },\n \"is_public\": true,\n \"is_enable_prompt_enhancer\": true,\n \"negative_prompt\": \"<string>\",\n \"gen_mode\": \"<string>\",\n \"settings\": {\n \"seed\": 123,\n \"duration\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.haiper.ai/v1/jobs/gen2/image2video")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"<string>\",\n \"config\": {\n \"source_image\": \"<string>\"\n },\n \"is_public\": true,\n \"is_enable_prompt_enhancer\": true,\n \"negative_prompt\": \"<string>\",\n \"gen_mode\": \"<string>\",\n \"settings\": {\n \"seed\": 123,\n \"duration\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.haiper.ai/v1/jobs/gen2/image2video")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"<string>\",\n \"config\": {\n \"source_image\": \"<string>\"\n },\n \"is_public\": true,\n \"is_enable_prompt_enhancer\": true,\n \"negative_prompt\": \"<string>\",\n \"gen_mode\": \"<string>\",\n \"settings\": {\n \"seed\": 123,\n \"duration\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"value": {
"generation_id": "<string>"
}
}{
"message": "<string>",
"code": 123,
"details": "<array>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
The information to create video
The prompt of the generation
Show child attributes
Show child attributes
Whether is generation be public on Haiper Platform, please set to false if you will to keep it private. The default value is true
Whether let AI help you to enhance the prompt. The default value is true
The negative prompt of the generation
Default: 'smooth', valid: 'smooth'(For videos with extensive motion), 'enhanced'(For videos with high fidelity & motion)
Show child attributes
Show child attributes
⌘I