package ai.z.openapi.service.videos;

import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import java.util.List;
import lombok.NoArgsConstructor;

/**
 * This class represents the video object containing details about the video generation
 * task.
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class VideoObject {

	/**
	 * Task order number generated by Z AI open platform, please use this order number
	 * when calling the request result interface
	 */
	@JsonProperty("id")
	private String id;

	/**
	 * Model name
	 */
	@JsonProperty("model")
	private String model;

	/**
	 * Video generation result
	 */
	@JsonProperty("video_result")
	private List<VideoResult> videoResult;

	/**
	 * Processing status: PROCESSING (processing), SUCCESS (success), FAIL (failed) Note:
	 * Processing status requires querying to get results
	 */
	@JsonProperty("task_status")
	private String taskStatus;

	/**
	 * If BPO is performed, return the optimized prompt
	 */
	@JsonProperty("optimized_prompt")
	private String optimizedPrompt;

	/**
	 * Task number submitted by the user when requesting from the client or task number
	 * generated by the platform
	 */
	@JsonProperty("request_id")
	private String requestId;

}
