Picture and video generation
Generate video
Generate videos from a text prompt with optional reference images. You can upload 0 to 6 reference images and submit 1 to 4 generation jobs in a single request.
POST
/
api
/
createNormalVideo
curl --request POST \
--url https://alb.neural4d.com:3000/api/createNormalVideo \
--header 'Authorization: Bearer <token>' \
--form 'prompt=a flower bouquet' \
--form 'images=@/path/to/file' \
--form 'duration=14' \
--form 'aspectRatio=9:16' \
--form 'resolution=480p' \
--form 'jobNum=3'
import requests
response = requests.request(
"POST",
"https://alb.neural4d.com:3000/api/createNormalVideo",
headers={
"Authorization": "Bearer <token>",
},
files={"images": open('/path/to/file', 'rb')},
)
print(response.json())
const response = await fetch("https://alb.neural4d.com:3000/api/createNormalVideo", {
method: "POST",
headers: {
"Authorization": "Bearer <token>"
},
body: (() => { const form = new FormData(); form.append("file", fileInput.files[0]); return form; })(),
});
const data = await response.json();
console.log(data);
const response: Response = await fetch("https://alb.neural4d.com:3000/api/createNormalVideo", {
method: "POST",
headers: {
"Authorization": "Bearer <token>"
},
body: (() => { const form = new FormData(); form.append("file", fileInput.files[0]); return form; })(),
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.*;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://alb.neural4d.com:3000/api/createNormalVideo"))
.header("Authorization", "Bearer <token>")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
payload := nil
req, _ := http.NewRequest("POST", "https://alb.neural4d.com:3000/api/createNormalVideo", payload)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
bodyBytes, _ := io.ReadAll(resp.Body)
fmt.Println(string(bodyBytes))
require "net/http"
require "json"
uri = URI("https://alb.neural4d.com:3000/api/createNormalVideo")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer <token>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
puts response.body
<?php
$ch = curl_init("https://alb.neural4d.com:3000/api/createNormalVideo");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer <token>"],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Post, "https://alb.neural4d.com:3000/api/createNormalVideo");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer <token>");
using var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"success": true,
"data": {
"pointsDeducted": 1344,
"queueStatus": "queued",
"jobNum": 3,
"uuids": [
"18c8eb80-e1b0-43d4-878e-7fdd31a7e525",
"76f14626-e2ef-466c-a720-473dc64ebf43",
"acb40a9d-082b-4842-bd92-1955b7eb1a13"
]
}
}
Authorizations
string
default:"Bearer ${YOUR_API_KEY}"
required
Use the bearer token provided through the Neural4D website.
Body multipart/form-data
string
required
Text prompt describing the desired generated video.
string<binary>[]
Optional reference images used to guide generation.Allowed array length:
0 - 6 elements.enum<string>
default:"16:9"
Target aspect ratio for the generated video.Available options:
16:9, 9:16, 1:1, 4:3, 3:4.integer
default:1
Number of generation jobs to submit.Required range:
1 <= x <= 4.integer
default:5
Target video duration in seconds.Required range:
4 <= x <= 15.enum<string>
default:"720p"
Target output resolution.Available options:
480p, 720p, 1080p.curl --request POST \
--url https://alb.neural4d.com:3000/api/createNormalVideo \
--header 'Authorization: Bearer <token>' \
--form 'prompt=a flower bouquet' \
--form 'images=@/path/to/file' \
--form 'duration=14' \
--form 'aspectRatio=9:16' \
--form 'resolution=480p' \
--form 'jobNum=3'
import requests
response = requests.request(
"POST",
"https://alb.neural4d.com:3000/api/createNormalVideo",
headers={
"Authorization": "Bearer <token>",
},
files={"images": open('/path/to/file', 'rb')},
)
print(response.json())
const response = await fetch("https://alb.neural4d.com:3000/api/createNormalVideo", {
method: "POST",
headers: {
"Authorization": "Bearer <token>"
},
body: (() => { const form = new FormData(); form.append("file", fileInput.files[0]); return form; })(),
});
const data = await response.json();
console.log(data);
const response: Response = await fetch("https://alb.neural4d.com:3000/api/createNormalVideo", {
method: "POST",
headers: {
"Authorization": "Bearer <token>"
},
body: (() => { const form = new FormData(); form.append("file", fileInput.files[0]); return form; })(),
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.*;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://alb.neural4d.com:3000/api/createNormalVideo"))
.header("Authorization", "Bearer <token>")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
payload := nil
req, _ := http.NewRequest("POST", "https://alb.neural4d.com:3000/api/createNormalVideo", payload)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
bodyBytes, _ := io.ReadAll(resp.Body)
fmt.Println(string(bodyBytes))
require "net/http"
require "json"
uri = URI("https://alb.neural4d.com:3000/api/createNormalVideo")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer <token>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
puts response.body
<?php
$ch = curl_init("https://alb.neural4d.com:3000/api/createNormalVideo");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer <token>"],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Post, "https://alb.neural4d.com:3000/api/createNormalVideo");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer <token>");
using var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
Response
- 200
Video generation job accepted
boolean
required
Whether the generation request was accepted.
object
required
Queue and task details for the accepted generation request.
{
"success": true,
"data": {
"pointsDeducted": 1344,
"queueStatus": "queued",
"jobNum": 3,
"uuids": [
"18c8eb80-e1b0-43d4-878e-7fdd31a7e525",
"76f14626-e2ef-466c-a720-473dc64ebf43",
"acb40a9d-082b-4842-bd92-1955b7eb1a13"
]
}
}
⌘I
curl --request POST \
--url https://alb.neural4d.com:3000/api/createNormalVideo \
--header 'Authorization: Bearer <token>' \
--form 'prompt=a flower bouquet' \
--form 'images=@/path/to/file' \
--form 'duration=14' \
--form 'aspectRatio=9:16' \
--form 'resolution=480p' \
--form 'jobNum=3'
import requests
response = requests.request(
"POST",
"https://alb.neural4d.com:3000/api/createNormalVideo",
headers={
"Authorization": "Bearer <token>",
},
files={"images": open('/path/to/file', 'rb')},
)
print(response.json())
const response = await fetch("https://alb.neural4d.com:3000/api/createNormalVideo", {
method: "POST",
headers: {
"Authorization": "Bearer <token>"
},
body: (() => { const form = new FormData(); form.append("file", fileInput.files[0]); return form; })(),
});
const data = await response.json();
console.log(data);
const response: Response = await fetch("https://alb.neural4d.com:3000/api/createNormalVideo", {
method: "POST",
headers: {
"Authorization": "Bearer <token>"
},
body: (() => { const form = new FormData(); form.append("file", fileInput.files[0]); return form; })(),
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.*;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://alb.neural4d.com:3000/api/createNormalVideo"))
.header("Authorization", "Bearer <token>")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
payload := nil
req, _ := http.NewRequest("POST", "https://alb.neural4d.com:3000/api/createNormalVideo", payload)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
bodyBytes, _ := io.ReadAll(resp.Body)
fmt.Println(string(bodyBytes))
require "net/http"
require "json"
uri = URI("https://alb.neural4d.com:3000/api/createNormalVideo")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer <token>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
puts response.body
<?php
$ch = curl_init("https://alb.neural4d.com:3000/api/createNormalVideo");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer <token>"],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Post, "https://alb.neural4d.com:3000/api/createNormalVideo");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer <token>");
using var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"success": true,
"data": {
"pointsDeducted": 1344,
"queueStatus": "queued",
"jobNum": 3,
"uuids": [
"18c8eb80-e1b0-43d4-878e-7fdd31a7e525",
"76f14626-e2ef-466c-a720-473dc64ebf43",
"acb40a9d-082b-4842-bd92-1955b7eb1a13"
]
}
}

