Skip to main content

apiV1VideoDiffusionPost()

Generate a video from text prompt.
import org.openapitools.client.ApiClient;
import org.openapitools.client.api.VideoApi;
import org.openapitools.client.ApiException;
import java.util.HashMap;
import java.util.Map;

ApiClient apiClient = new ApiClient();
apiClient.setBasePath("https://api.legnext.ai");
VideoApi videoApi = new VideoApi(apiClient);

String apiKey = "your-api-key-here";

// Text-to-video
Map<String, Object> body = new HashMap<>();
body.put("prompt", "a flowing river through mountains");
body.put("videoType", 1); // Optional: 0=480p, 1=720p
body.put("callback", "https://your-domain.com/webhook"); // Optional

try {
    var response = videoApi.apiV1VideoDiffusionPost(apiKey, body);
    System.out.println("Job ID: " + response.getJobId());
} catch (ApiException e) {
    System.err.println("Error: " + e.getResponseBody());
}
Image-to-video animation (using jobId + imageNo):
// Animate an existing generated image
Map<String, Object> body = new HashMap<>();
body.put("jobId", "original-image-job-id");
body.put("imageNo", 0); // Image index from original generation
body.put("videoType", 1);
body.put("callback", "https://your-domain.com/webhook"); // Optional

try {
    var response = videoApi.apiV1VideoDiffusionPost(apiKey, body);
    System.out.println("Video Job ID: " + response.getJobId());
} catch (ApiException e) {
    System.err.println("Error: " + e.getResponseBody());
}
Image-to-video animation (using image URL in prompt):
// Animate an image using URL in prompt
Map<String, Object> body = new HashMap<>();
body.put("prompt", "https://example.com/image.png a flowing river through mountains");
body.put("videoType", 1);
body.put("callback", "https://your-domain.com/webhook"); // Optional

try {
    var response = videoApi.apiV1VideoDiffusionPost(apiKey, body);
    System.out.println("Video Job ID: " + response.getJobId());
} catch (ApiException e) {
    System.err.println("Error: " + e.getResponseBody());
}
Parameters:
  • Text-only mode:
    • prompt (String): Video prompt (1-8192 characters)
    • videoType (Integer, optional): Quality (0=480p, 1=720p)
    • callback (String, optional): Webhook URL
  • jobId + imageNo mode:
    • jobId (String): Image generation task ID
    • imageNo (Integer): Image index (0-3)
    • videoType (Integer, optional): Quality (0=480p, 1=720p)
    • callback (String, optional): Webhook URL
  • Image URL in prompt mode:
    • prompt (String): “[image_url] prompt text” format (1-8192 characters)
    • videoType (Integer, optional): Quality (0=480p, 1=720p)
    • callback (String, optional): Webhook URL
Returns: Response with job_id and status

apiV1ExtendVideoPost()

Extend an existing video.
Map<String, Object> body = new HashMap<>();
body.put("jobId", "original-video-job-id");
body.put("videoNo", 0); // 0-3
body.put("prompt", "continue with dramatic lighting"); // Optional
body.put("callback", "https://your-domain.com/webhook"); // Optional

try {
    var response = videoApi.apiV1ExtendVideoPost(apiKey, body);
    System.out.println("Extended video Job ID: " + response.getJobId());
} catch (ApiException e) {
    System.err.println("Error: " + e.getResponseBody());
}
Parameters:
  • jobId (String): Original video task ID
  • videoNo (Integer): Video index (0-3)
  • prompt (String, optional): Extension prompt (1-8192 characters)
  • callback (String, optional): Webhook URL

apiV1VideoUpscalePost()

Upscale video to higher resolution.
Map<String, Object> body = new HashMap<>();
body.put("jobId", "original-video-job-id");
body.put("videoNo", 0); // 0-3
body.put("callback", "https://your-domain.com/webhook"); // Optional

try {
    var response = videoApi.apiV1VideoUpscalePost(apiKey, body);
    System.out.println("Upscaled video Job ID: " + response.getJobId());
} catch (ApiException e) {
    System.err.println("Error: " + e.getResponseBody());
}
Parameters:
  • jobId (String): Original video task ID
  • videoNo (Integer): Video index (0-3)
  • callback (String, optional): Webhook URL

Complete Example

import org.openapitools.client.ApiClient;
import org.openapitools.client.api.VideoApi;
import org.openapitools.client.ApiException;
import java.util.HashMap;
import java.util.Map;

public class VideoGenerationExample {
    public static void main(String[] args) {
        ApiClient apiClient = new ApiClient();
        apiClient.setBasePath("https://api.legnext.ai");
        VideoApi videoApi = new VideoApi(apiClient);

        String apiKey = System.getenv("LEGNEXT_API_KEY");

        try {
            // Step 1: Generate initial video
            Map<String, Object> body = new HashMap<>();
            body.put("prompt", "a sunset over ocean waves");
            body.put("videoType", 1);

            var initialResponse = videoApi.apiV1VideoDiffusionPost(apiKey, body);
            String jobId = initialResponse.getJobId();
            System.out.println("Initial video job: " + jobId);

            // Wait for completion (see task-management.mdx)
            // ...

            // Step 2: Extend the video
            Map<String, Object> extendBody = new HashMap<>();
            extendBody.put("jobId", jobId);
            extendBody.put("videoNo", 0);
            extendBody.put("prompt", "zoom in on the waves");

            var extendResponse = videoApi.apiV1ExtendVideoPost(apiKey, extendBody);
            System.out.println("Extended video job: " + extendResponse.getJobId());

        } catch (ApiException e) {
            System.err.println("Error: " + e.getResponseBody());
            e.printStackTrace();
        }
    }
}

Next Steps