Pular para o conteúdo principal
POST
/
video
/
retrieve
/api/v1/video/retrieve
curl --request POST \
  --url https://api.venice.ai/api/v1/video/retrieve \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "video-model-123",
  "queue_id": "123e4567-e89b-12d3-a456-426614174000",
  "delete_media_on_completion": false
}
'
import requests

url = "https://api.venice.ai/api/v1/video/retrieve"

payload = {
"model": "video-model-123",
"queue_id": "123e4567-e89b-12d3-a456-426614174000",
"delete_media_on_completion": False
}
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({
model: 'video-model-123',
queue_id: '123e4567-e89b-12d3-a456-426614174000',
delete_media_on_completion: false
})
};

fetch('https://api.venice.ai/api/v1/video/retrieve', 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.venice.ai/api/v1/video/retrieve",
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([
'model' => 'video-model-123',
'queue_id' => '123e4567-e89b-12d3-a456-426614174000',
'delete_media_on_completion' => false
]),
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.venice.ai/api/v1/video/retrieve"

payload := strings.NewReader("{\n \"model\": \"video-model-123\",\n \"queue_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"delete_media_on_completion\": false\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.venice.ai/api/v1/video/retrieve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"video-model-123\",\n \"queue_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"delete_media_on_completion\": false\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.venice.ai/api/v1/video/retrieve")

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 \"model\": \"video-model-123\",\n \"queue_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"delete_media_on_completion\": false\n}"

response = http.request(request)
puts response.read_body
{
  "status": "PROCESSING",
  "average_execution_time": 145000,
  "execution_duration": 53200
}
{
"error": "<string>",
"details": {
"_errors": [],
"field": {
"_errors": [
"Field is required"
]
}
}
}
{
"error": "<string>"
}
{
"error": "<string>"
}
{
"error": "<string>"
}
{
"error": "<string>"
}
{
"error": {
"message": "The selected model provider rejected this request due to its content policies. Credits have been refunded. Try using wan-2-7-text-to-video instead.",
"type": "provider_content_policy",
"credits_refunded": true,
"recommended_model": "wan-2-7-text-to-video"
}
}
{
"error": "<string>"
}
{
"error": "<string>"
}
Para modelos privados, o arquivo finalizado é baixado a partir da download_url retornada por /video/queue (não como binário deste endpoint). Veja Links privados de download para entender como o link funciona, novas tentativas e DELETE opcional.

Autorizações

Authorization
string
header
obrigatório

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Corpo

application/json
model
string
obrigatório

The ID of the model used for video generation.

Exemplo:

"video-model-123"

queue_id
string
obrigatório

The ID of the video generation request.

Exemplo:

"123e4567-e89b-12d3-a456-426614174000"

delete_media_on_completion
boolean
padrão:false

If true, the video media will be deleted from storage after the request is completed. If false, you can use the complete endpoint to remove the media once you have successfully downloaded the video.

Exemplo:

false

Resposta

Video file if completed, or processing status if still in progress

status
enum<string>
obrigatório

The status of the video generation request.

Opções disponíveis:
PROCESSING,
COMPLETED
Exemplo:

"PROCESSING"

average_execution_time
number
obrigatório

The estimated execution time of the video generation request in milliseconds (P80).

Exemplo:

145000

execution_duration
number
obrigatório

The current duration of the video generation request in milliseconds.

Exemplo:

53200