You can use the following APIs to create videos from images with various effects and audio options.
The resources (image, video, voice) generated by our API are valid for 7 days. Please save the relevant resources as soon as possible to prevent expiration.
Pricing
Image to Video
| Video Duration | 720p | 1080p | 4k |
|---|---|---|---|
| 5 seconds | 20 credits/video | 25 credits/video | 30 credits/video |
| 10 seconds | 40 credits/video | 50 credits/video | 60 credits/video |
Video to Audio
| Video Duration | Credits |
|---|---|
| 5 seconds | 5 credits/video |
| 10 seconds | 10 credits/video |
Create Image to Video
POST https://openapi.akool.com/api/open/v4/image2Video/createBySourcePrompt
| Parameter | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
| Parameter | Type | Required | Description |
|---|---|---|---|
| image_url | String | true | Image URL to be animated |
| prompt | String | true | Prompt text describing how to animate the image |
| negative_prompt | String | true | Prompt text describing what to avoid in the animation |
| extend_prompt | Boolean | false | Whether to use algorithm default extended prompts |
| resolution | String | true | Resolution options: 720p, 1080p, 4k |
| audio_url | String | false | Audio URL, required when audio_type = 2 |
| audio_type | Integer | true | Audio type: 1 = AI generate, 2 = user custom upload, 3 = none (no audio) |
| video_length | Integer | true | Video duration in seconds, options: 5, 10 (10s only available for pro and above subscriptions) |
| is_premium_model | Boolean | false | Whether to use premium video model for faster generation (pro and above subscriptions only) |
| effect_code | String | false | Effect code: if specified, prompt content will be ignored.getEffectCode |
| webhookurl | String | false | Callback URL for POST requests |
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Interface returns business status code (1000:success) |
| msg | String | Interface returns status information |
| data | Object | Response data object |
| - create_time | Long | Creation timestamp |
| - uid | Integer | User ID |
| - team_id | String | Team ID |
| - status | Integer | Task status: 1=queueing, 2=processing, 3=completed, 4=failed |
| - webhookUrl | String | Callback URL |
| - resolution | String | Video resolution |
| - file_name | String | Output file name |
| - effect_name | String | Effect name |
| - _id | String | Document ID |
| - image_url | String | Input image URL |
| - prompt | String | Animation prompt |
| - negative_prompt | String | Negative prompt |
| - extend_prompt | Boolean | Whether extended prompts were used |
| - audio_type | Integer | Audio type used |
| - audio_url | String | Audio URL used |
| - deduction_credit | Integer | Credits deducted |
| - effect_code | String | Effect code used |
{
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"negative_prompt": "blurry, distorted hands, missing fingers, unnatural pose, double hands, extra limbs, bad anatomy, low quality, cartoonish, exaggerated features, open mouth, aggressive expression, modern clothing, pixelated, vibrant colors, overexposed, flickering, blurry details, subtitles, logo, style, artwork, painting, picture, static, overall grayish, worst quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, static characters, messy background, three legs, crowded background, walking backwards",
"extend_prompt": true,
"resolution": "4k",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2,
"video_length": 10,
"is_premium_model": true,
"effect_code": "squish_89244231312",
"webhookurl": "http://localhost:3000/demo"
}
curl --location 'https://openapi.akool.com/api/open/v4/image2Video/createBySourcePrompt' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"negative_prompt": "blurry, distorted hands, missing fingers, unnatural pose, double hands, extra limbs, bad anatomy, low quality, cartoonish, exaggerated features, open mouth, aggressive expression, modern clothing, pixelated, vibrant colors, overexposed, flickering, blurry details, subtitles, logo, style, artwork, painting, picture, static, overall grayish, worst quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, static characters, messy background, three legs, crowded background, walking backwards",
"extend_prompt": true,
"resolution": "4k",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2,
"video_length": 10,
"is_premium_model": true,
"effect_code": "squish_89244231312",
"webhookurl": "http://localhost:3000/demo"
}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"image_url\": \"https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png\",\n \"prompt\": \"Animate this image with smooth camera movement and subtle object motion.\",\n \"negative_prompt\": \"blurry, distorted hands, missing fingers, unnatural pose, double hands, extra limbs, bad anatomy, low quality, cartoonish, exaggerated features, open mouth, aggressive expression, modern clothing, pixelated, vibrant colors, overexposed, flickering, blurry details, subtitles, logo, style, artwork, painting, picture, static, overall grayish, worst quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, static characters, messy background, three legs, crowded background, walking backwards\",\n \"extend_prompt\": true,\n \"resolution\": \"4k\",\n \"audio_url\": \"https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3\",\n \"audio_type\": 2,\n \"video_length\": 10,\n \"is_premium_model\": true,\n \"effect_code\": \"squish_89244231312\",\n \"webhookurl\": \"http://localhost:3000/demo\"\n}");
Request request = new Request.Builder()
.url("https://openapi.akool.com/api/open/v4/image2Video/createBySourcePrompt")
.method("POST", body)
.addHeader("Authorization", "Bearer {{token}}")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
const myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{token}}");
myHeaders.append("Content-Type", "application/json");
const raw = JSON.stringify({
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"negative_prompt": "blurry, distorted hands, missing fingers, unnatural pose, double hands, extra limbs, bad anatomy, low quality, cartoonish, exaggerated features, open mouth, aggressive expression, modern clothing, pixelated, vibrant colors, overexposed, flickering, blurry details, subtitles, logo, style, artwork, painting, picture, static, overall grayish, worst quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, static characters, messy background, three legs, crowded background, walking backwards",
"extend_prompt": true,
"resolution": "4k",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2,
"video_length": 10,
"is_premium_model": true,
"effect_code": "squish_89244231312",
"webhookurl": "http://localhost:3000/demo"
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://openapi.akool.com/api/open/v4/image2Video/createBySourcePrompt", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
<?php
$client = new Client();
$headers = [
'Authorization' => 'Bearer {{token}}',
'Content-Type' => 'application/json'
];
$body = '{
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"negative_prompt": "blurry, distorted hands, missing fingers, unnatural pose, double hands, extra limbs, bad anatomy, low quality, cartoonish, exaggerated features, open mouth, aggressive expression, modern clothing, pixelated, vibrant colors, overexposed, flickering, blurry details, subtitles, logo, style, artwork, painting, picture, static, overall grayish, worst quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, static characters, messy background, three legs, crowded background, walking backwards",
"extend_prompt": true,
"resolution": "4k",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2,
"video_length": 10,
"is_premium_model": true,
"effect_code": "squish_89244231312",
"webhookurl": "http://localhost:3000/demo"
}';
$request = new Request('POST', 'https://openapi.akool.com/api/open/v4/image2Video/createBySourcePrompt', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?>
import requests
import json
url = "https://openapi.akool.com/api/open/v4/image2Video/createBySourcePrompt"
payload = json.dumps({
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"negative_prompt": "blurry, distorted hands, missing fingers, unnatural pose, double hands, extra limbs, bad anatomy, low quality, cartoonish, exaggerated features, open mouth, aggressive expression, modern clothing, pixelated, vibrant colors, overexposed, flickering, blurry details, subtitles, logo, style, artwork, painting, picture, static, overall grayish, worst quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, static characters, messy background, three legs, crowded background, walking backwards",
"extend_prompt": true,
"resolution": "4k",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2,
"video_length": 10,
"is_premium_model": true,
"effect_code": "squish_89244231312",
"webhookurl": "http://localhost:3000/demo"
})
headers = {
'Authorization': 'Bearer {{token}}',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
{
"code": 1000,
"msg": "OK",
"data": {
"create_time": 1754362985482,
"uid": 101400,
"team_id": "6805fb69e92d9edc7ca0b409",
"status": 1,
"webhookUrl": "http://localhost:3000/demo",
"resolution": "4k",
"file_name": "Image2Video_Animate this image with .mp4",
"effect_name": "Squish",
"_id": "689174694b4dbdd4ab3d28c9",
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"negative_prompt": "blurry, distorted hands, missing fingers, unnatural pose, double hands, extra limbs, bad anatomy, low quality, cartoonish, exaggerated features, open mouth, aggressive expression, modern clothing, pixelated, vibrant colors, overexposed, flickering, blurry details, subtitles, logo, style, artwork, painting, picture, static, overall grayish, worst quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, static characters, messy background, three legs, crowded background, walking backwards",
"extend_prompt": true,
"audio_type": 2,
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"deduction_credit": 60,
"effect_code": "squish_89244231312"
}
}
Get Image to Video Results
POST https://openapi.akool.com/api/open/v4/image2Video/resultsByIds
| Parameter | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
| Parameter | Type | Required | Description |
|---|---|---|---|
| _ids | String | true | Multiple IDs separated by commas |
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Interface returns business status code (1000:success) |
| msg | String | Interface returns status information |
| data | Object | Response data object |
| - result | Array | Array of result objects |
| — _id | String | Document ID |
| — create_time | Long | Creation timestamp |
| — uid | Integer | User ID |
| — team_id | String | Team ID |
| — update_time | Long | Last update time/completion time |
| — video_duration | Number | Actual video duration |
| — webhookUrl | String | Callback URL |
| — file_name | String | File name |
| — effect_name | String | Effect name |
| — image_url | String | Image URL |
| — prompt | String | Prompt text |
| — resolution | String | Resolution |
| — audio_type | Integer | Audio type |
| — audio_url | String | Audio URL |
| — deduction_credit | Integer | Actual credits deducted |
| — effect_code | String | Effect code |
| — video_url | String | Generated video URL |
| — status | Integer | Status: 1=queueing, 2=processing, 3=completed, 4=failed |
| — only_add_audio | Boolean | Whether only audio was added |
{
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c"
}
curl --location 'https://openapi.akool.com/api/open/v4/image2Video/resultsByIds' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c"
}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"_ids\": \"68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c\"\n}");
Request request = new Request.Builder()
.url("https://openapi.akool.com/api/open/v4/image2Video/resultsByIds")
.method("POST", body)
.addHeader("Authorization", "Bearer {{token}}")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
const myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{token}}");
myHeaders.append("Content-Type", "application/json");
const raw = JSON.stringify({
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c"
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://openapi.akool.com/api/open/v4/image2Video/resultsByIds", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
<?php
$client = new Client();
$headers = [
'Authorization' => 'Bearer {{token}}',
'Content-Type' => 'application/json'
];
$body = '{
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c"
}';
$request = new Request('POST', 'https://openapi.akool.com/api/open/v4/image2Video/resultsByIds', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?>
import requests
import json
url = "https://openapi.akool.com/api/open/v4/image2Video/resultsByIds"
payload = json.dumps({
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c"
})
headers = {
'Authorization': 'Bearer {{token}}',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
{
"code": 1000,
"msg": "OK",
"data": {
"result": [
{
"_id": "6891a2295d612f78c9204f77",
"create_time": 1754374697629,
"uid": 101400,
"team_id": "6805fb69e92d9edc7ca0b409",
"update_time": 1754374394023,
"video_duration": 5.063,
"webhookUrl": "http://localhost:3000/demo",
"file_name": "Image2Video_Animate this image with .mp4",
"effect_name": "Squish",
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"resolution": "4k",
"audio_type": 2,
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"deduction_credit": 5,
"effect_code": "squish_89244231312",
"status": 1,
"only_add_audio": true
},
{
"_id": "6891abe782f7cd2a890c44ba",
"create_time": 1754377191100,
"uid": 101400,
"team_id": "6805fb69e92d9edc7ca0b409",
"sub_type": 1501,
"video_duration": 5.063,
"webhookUrl": "http://localhost:3000/demo",
"file_name": "Image2Video_Animate this image with .mp4",
"effect_name": "Squish",
"update_time": 1754377293090,
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"resolution": "4k",
"audio_type": 2,
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"deduction_credit": 30,
"effect_code": "squish_89244231312",
"video_url": "https://d2qf6ukcym4kn9.cloudfront.net/1754377291791-1423.mp4",
"status": 3,
"only_add_audio": false
}
]
}
}
Get Available Effects
GET https://openapi.akool.com/api/open/v4/image2Video/effects
| Parameter | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Interface returns business status code (1000:success) |
| msg | String | Interface returns status information |
| data | Object | Response data object |
| - result | Array | Array of effect objects |
| — _id | String | Effect document ID |
| — create_time | Long | Creation timestamp |
| — logo | String | Effect logo URL |
| — name | String | Effect name |
| — video_url | String | Effect preview video URL |
| — effect_code | String | Effect code |
| - count | Integer | Total number of effects |
curl --location 'https://openapi.akool.com/api/open/v4/image2Video/effects' \
--header 'Authorization: Bearer {{token}}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url("https://openapi.akool.com/api/open/v4/image2Video/effects")
.method("GET", null)
.addHeader("Authorization", "Bearer {{token}}")
.build();
Response response = client.newCall(request).execute();
const myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{token}}");
const requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow"
};
fetch("https://openapi.akool.com/api/open/v4/image2Video/effects", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
<?php
$client = new Client();
$headers = [
'Authorization' => 'Bearer {{token}}'
];
$request = new Request('GET', 'https://openapi.akool.com/api/open/v4/image2Video/effects', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?>
import requests
url = "https://openapi.akool.com/api/open/v4/image2Video/effects"
headers = {
'Authorization': 'Bearer {{token}}'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
{
"code": 1000,
"msg": "Success",
"data": {
"result": [
{
"_id": "687632b95a0f52799eeed701",
"create_time": 1752576694502,
"logo": "https://static.website-files.org/assets/Image_to_Video/Lora/Squish.png",
"name": "Squish",
"video_url": "https://static.website-files.org/assets/Image_to_Video/Lora/Squish.mp4",
"effect_code": "squish_89244231312"
},
{
"_id": "687632ba5a0f52799eeed887",
"create_time": 1752576694502,
"logo": "https://static.website-files.org/assets/Image_to_Video/Lora/Cakeify.png",
"name": "Cakeify",
"video_url": "https://static.website-files.org/assets/Image_to_Video/Lora/Cakeify.mp4",
"effect_code": "cakeify_24743216"
},
{
"_id": "687632bc5a0f52799eeed929",
"create_time": 1752576694502,
"logo": "https://static.website-files.org/assets/Image_to_Video/Lora/Samurai.png",
"name": "Samurai",
"video_url": "https://static.website-files.org/assets/Image_to_Video/Lora/Samurai.mp4",
"effect_code": "samurai_99757865"
}
],
"count": 10
}
}
Update Video Audio
POST https://openapi.akool.com/api/open/v4/image2Video/updateVideoAudio
| Parameter | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
| Parameter | Type | Required | Description |
|---|---|---|---|
| pre_video_id | String | true | Image to Video result _id |
| audio_url | String | true | Audio URL, required when audio_type = 2 |
| audio_type | Integer | true | 1 = AI Generate, 2 = user custom upload |
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Interface returns business status code (1000:success) |
| msg | String | Interface returns status information |
| data | Object | Response data object |
| - create_time | Long | Creation timestamp |
| - uid | Integer | User ID |
| - team_id | String | Team ID |
| - update_time | Long | Last update time |
| - video_duration | Number | Video duration |
| - webhookUrl | String | Callback URL |
| - resolution | String | Resolution |
| - file_name | String | File name |
| - effect_name | String | Effect name |
| - _id | String | Document ID |
| - pre_video_id | String | Original video ID |
| - image_url | String | Image URL |
| - prompt | String | Prompt text |
| - negative_prompt | String | Negative prompt |
| - extend_prompt | Boolean | Whether extended prompts were used |
| - audio_type | Integer | Audio type |
| - audio_url | String | Audio URL |
| - deduction_credit | Integer | Credits deducted |
| - effect_code | String | Effect code |
| - status | Integer | Status: 1=queueing, 2=processing, 3=completed, 4=failed |
| - only_add_audio | Boolean | Whether only audio was added |
{
"pre_video_id": "6890830af27dfad2a3e6062d",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2
}
curl --location 'https://openapi.akool.com/api/open/v4/image2Video/updateVideoAudio' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"pre_video_id": "6890830af27dfad2a3e6062d",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2
}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"pre_video_id\": \"6890830af27dfad2a3e6062d\",\n \"audio_url\": \"https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3\",\n \"audio_type\": 2\n}");
Request request = new Request.Builder()
.url("https://openapi.akool.com/api/open/v4/image2Video/updateVideoAudio")
.method("POST", body)
.addHeader("Authorization", "Bearer {{token}}")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
const myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{token}}");
myHeaders.append("Content-Type", "application/json");
const raw = JSON.stringify({
"pre_video_id": "6890830af27dfad2a3e6062d",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://openapi.akool.com/api/open/v4/image2Video/updateVideoAudio", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
<?php
$client = new Client();
$headers = [
'Authorization' => 'Bearer {{token}}',
'Content-Type' => 'application/json'
];
$body = '{
"pre_video_id": "6890830af27dfad2a3e6062d",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2
}';
$request = new Request('POST', 'https://openapi.akool.com/api/open/v4/image2Video/updateVideoAudio', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?>
import requests
import json
url = "https://openapi.akool.com/api/open/v4/image2Video/updateVideoAudio"
payload = json.dumps({
"pre_video_id": "6890830af27dfad2a3e6062d",
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"audio_type": 2
})
headers = {
'Authorization': 'Bearer {{token}}',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
{
"code": 1000,
"msg": "OK",
"data": {
"create_time": 1754374697629,
"uid": 101400,
"team_id": "6805fb69e92d9edc7ca0b409",
"update_time": 1754374394023,
"video_duration": 5.063,
"webhookUrl": "http://localhost:3000/demo",
"resolution": "4k",
"file_name": "Image2Video_Animate this image with .mp4",
"effect_name": "Squish",
"_id": "6891a2295d612f78c9204f77",
"pre_video_id": "6891a07f5d612f78c9204f1c",
"image_url": "https://drz0f01yeq1cx.cloudfront.net/1753772478686-9524-b6e4169bb1b44d5d8361936b3f6eddb8.png",
"prompt": "Animate this image with smooth camera movement and subtle object motion.",
"negative_prompt": "",
"extend_prompt": false,
"audio_type": 2,
"audio_url": "https://drz0f01yeq1cx.cloudfront.net/1753772497950-9213-1749809724426audio.mp3",
"deduction_credit": 5,
"effect_code": "squish_89244231312",
"status": 1,
"only_add_audio": true
}
}
Delete Videos
POST https://openapi.akool.com/api/open/v4/image2Video/delbyids
| Parameter | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
| Parameter | Type | Required | Description |
|---|---|---|---|
| _ids | String | true | Multiple IDs separated by commas |
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Interface returns business status code (1000:success) |
| msg | String | Interface returns status information |
| data | Object | Response data object |
| - successIds | Array | Successfully deleted video IDs |
| - noPermissionItems | Array | Failed deletion information list |
| — _id | String | Failed deletion video ID |
| — msg | String | Failure reason |
{
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c,6891a2295d612f78c9204f77"
}
curl --location 'https://openapi.akool.com/api/open/v4/image2Video/delbyids' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c,6891a2295d612f78c9204f77"
}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"_ids\": \"68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c,6891a2295d612f78c9204f77\"\n}");
Request request = new Request.Builder()
.url("https://openapi.akool.com/api/open/v4/image2Video/delbyids")
.method("POST", body)
.addHeader("Authorization", "Bearer {{token}}")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
const myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{token}}");
myHeaders.append("Content-Type", "application/json");
const raw = JSON.stringify({
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c,6891a2295d612f78c9204f77"
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://openapi.akool.com/api/open/v4/image2Video/delbyids", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
<?php
$client = new Client();
$headers = [
'Authorization' => 'Bearer {{token}}',
'Content-Type' => 'application/json'
];
$body = '{
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c,6891a2295d612f78c9204f77"
}';
$request = new Request('POST', 'https://openapi.akool.com/api/open/v4/image2Video/delbyids', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?>
import requests
import json
url = "https://openapi.akool.com/api/open/v4/image2Video/delbyids"
payload = json.dumps({
"_ids": "68919a464b4dbdd4ab3d3034,6891a07f5d612f78c9204f1c,6891a2295d612f78c9204f77"
})
headers = {
'Authorization': 'Bearer {{token}}',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
{
"code": 1000,
"msg": "Delete successfully",
"data": {
"successIds": [
"6882f4c10529ae771e71531d"
],
"noPermissionItems": [
{
"_id": "6881cd86618fa41c89557b0c",
"msg": "video resource is processing, please try again later"
}
]
}
}