Source: https://ailoot.ai/models/pt-pt/vidu-2-0-reference/
Canonical: https://ailoot.ai/models/pt-pt/vidu-2-0-reference/
Language: pt-pt

# Vidu 2.0 Reference

[Markdown](https://ailoot.ai/models/pt-pt/vidu-2-0-reference/index.md) · [JSON](https://ailoot.ai/models/pt-pt/vidu-2-0-reference/facts.json)

## [Vidu 2.0 Reference](https://ailoot.ai/models/pt-pt/vidu-2-0-reference/)

O Vidu 2.0 Reference combina uma descrição escrita de vídeo com imagens de referência opcionais e uma imagem final. Escolha o enquadramento, a resolução e uma duração de quatro ou oito segundos através da Ailoot.

- [**Ailoot Ultra · Video** `POST /v1/videos` `vidu-2.0-reference`](https://ailoot.ai/models/pt-pt/vidu-2-0-reference/#method-0)

Sobre o modelo

Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.

Utilize vidu-2.0-reference com model e prompt em /v1/videos. O pedido disponibiliza image como cadeia ou matriz de até dez cadeias, end\_image, aspect\_ratio, duration e resolution. Escolha quatro ou oito segundos, 360p, 720p ou 1080p e o enquadramento 16:9, 1:1 ou 9:16.

Descreva um plano novo orientado pelas referências selecionadas do elemento principal. Quando fornecer imagens, identifique o papel de cada referência e os pormenores do elemento principal a preservar. Dê instruções separadas para a ação e para a câmara e, depois, defina a pose final ou o enquadramento. Guarde as imagens selecionadas, o prompt e a imagem final opcional com o pedido, para que o vídeo concluído possa ser comparado com o mesmo material.

Submeta o plano uma única vez através de /v1/videos e guarde o ID do pedido devolvido. Consulte periodicamente essa mesma operação através de /v1/videos/{request\_id} e, depois, guarde todos os vídeos concluídos e a resposta completa. Compare a ação inteira e a composição final com o material fornecido e a descrição do pedido.

**Ailoot Ultra · Video** `POST /v1/videos` `vidu-2.0-reference`

[`vidu-2.0-reference`](https://ailoot.ai/models/pt-pt/#m=vidu-2.0-reference&route=Ultra&caller=vidu-2.0-reference&fmt=videos)

Outro /`vidu-2.0-reference`

### Introdução

O Vidu 2.0 Reference combina uma descrição escrita de vídeo com imagens de referência opcionais e uma imagem final. Escolha o enquadramento, a resolução e uma duração de quatro ou oito segundos através da Ailoot.

Entradas aceites

Texto · Imagens

Resultados

Vídeo

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · Video** `POST /v1/videos`

Entrada

`text`, `image`

Saída

`video`

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites vidu-2.0-reference Condições: Utilize exatamente este seletor de encaminhamento do Ailoot. | Predefinição— |
| Campo`aspect_ratio` | Tipo`string` | RequisitoOpcional | Valores e limites 16:9, 1:1, 9:16 Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado. | Predefinição— |
| Campo`duration` | Tipo`integer` | RequisitoOpcional | Valores e limites 4, 8 Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado. | Predefinição— |
| Campo`end_image` | Tipo`string` | RequisitoOpcional | Valores e limites Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado. | Predefinição— |
| Campo`image` | Tipo`string or array<string>` | RequisitoOpcional | Valores e limites Condições: Forneça uma URL real e acessível da sua imagem. Só é aceite uma lista quando o esquema do parâmetro indicar uma matriz. | Predefinição— |
| Campo`prompt` | Tipo`string` | RequisitoObrigatório | Valores e limites Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado. | Predefinição— |
| Campo`resolution` | Tipo`string` | RequisitoOpcional | Valores e limites 360p, 720p, 1080p Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado. | Predefinição— |

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, prompt |
| Parâmetro`optional` | Contratoaspect\_ratio, duration, end\_image, image, resolution |
| Parâmetro`material_types` | Contratotext, image |
| Parâmetro`conditions` | ContratoUtilize exatamente este seletor de encaminhamento do Ailoot., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado., Forneça uma URL real e acessível da sua imagem. Só é aceite uma lista quando o esquema do parâmetro indicar uma matriz., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado. |

Aliases do método: `/v1/videos/generations`

Ciclo de vida: `submit_once_poll_original`

`GET /v1/videos/{request_id}`

`GET /v1/videos/generations/{request_id}`

`GET /v1/videos/{request_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

### Tarifários

##### Cálculo do custo final

As tarifas apresentadas permitem estimar o custo antes da geração. O montante final cobrado é calculado a partir do custo registado para a geração original. A duração medida do resultado e as quantidades previstas não correspondem à quantidade final faturável.

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido

Não especificado Quando o modo rápido está selecionado

Modo flex

Não especificado Quando o modo flex está selecionado

Esforço máximo de raciocínio

Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

#### Tarifas estimadas para comparação

#### Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

| Configuração | Tabela de tarifas | Quantidade prevista | Quantidade faturada | Custo |
| --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Quantidade faturada— | Custo Entrada · Tokens de entrada · Estimativa apenas para comparação **—** / 1K tokens Saída · Tokens de saída · Estimativa apenas para comparação **—** / 1K tokens Entrada · Leitura da cache · Estimativa apenas para comparação **—** / 1K tokens Entrada · Escrita na cache · Estimativa apenas para comparação **—** / 1K tokens Entrada · Escrita na cache, 1 hora · Estimativa apenas para comparação **—** / 1K tokens |
| ConfiguraçãoPor pedido | Tabela de tarifas— | Quantidade prevista— | Quantidade faturadaum pedido | Custo Entrada · Estimativa apenas para comparação **$0.8** por pedido |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Quantidade faturada— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação **$0.8** estimativa antes da geração Esta estimativa não é um encargo adicional nem uma tarifa fixa para a geração concluída. |

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. [Como funcionam a reserva e a liquidação →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

### Exemplos de pedidos

#### Ailoot Ultra · Video

curl · crie uma única vez e guarde o resultado completoConsulte a tarefa originalGuarde cada recurso concluído que lhe pertence

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "vidu-2.0-reference", "prompt": "A cat is walking on grass.", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
```

### Receber e guardar os resultados

#### Ailoot Ultra · Video

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Guardar todos os resultados concluídos

Guarde cada vídeo concluído ou ficheiro devolvido; obtenha cada URL de recurso efetivamente devolvido.

Conserve a resposta completa e os cabeçalhos, os identificadores originais, todos os resultados reais e todos os campos de utilização/contabilidade. Guarde cada recurso único pertencente ao utilizador e conserve todas as funções que apontam para ele.

##### Se for necessário verificar a resposta original

Conserve o id público de tarefa ou operação devolvido e todos os cabeçalhos. Consulte apenas a tarefa original; unknown ou result\_pending\_check não autoriza uma nova criação.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`id` | Tipostring |
| Campo`polling_url` | Tipostring |
| Campo`provider_task_id` | Tipostring |
| Campo`task_id` | Tipostring |
| Campo`status` | Tipostring |
| Campo`video_url` | Tipostring |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoUm campo obrigatório, o seletor de modelo, o tipo ou a representação da entrada é inválido. | Passo seguinteAnalise os detalhes de validação devolvidos antes de preparar um pedido separado. |
| Resposta`` | CondiçãoO pedido original ou o respetivo resultado é desconhecido ou requer uma verificação. | Passo seguinteMantenha os identificadores e os cabeçalhos originais; consulte apenas os registos de estado ou da biblioteca suportados. Não volte a enviar o pedido de criação. |

### Aliases

#### Aliases do modelo

**Ailoot Ultra** [`vidu-2.0-reference`](https://ailoot.ai/models/pt-pt/#m=vidu-2.0-reference&route=Ultra&caller=vidu-2.0-reference&fmt=videos)

#### Aliases dos caminhos dos métodos

`/v1/videos/generations`

#### IDs de chamada relacionados

[`vidu-2.0-reference`](https://ailoot.ai/models/pt-pt/#m=vidu-2.0-reference&route=Ultra&caller=vidu-2.0-reference&fmt=videos)

FAQ · Vidu 2.0 Reference

Que entradas e resultados estão disponíveis?

`POST /v1/videos` · `vidu-2.0-reference`: `text`, `image` → `video`

Que campos utiliza o pedido?

`POST /v1/videos` · `vidu-2.0-reference`: `model`, `aspect_ratio`, `duration`, `end_image`, `image`, `prompt`, `resolution`

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

## A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

## Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição

Escolha um plano com desconto para os pedidos regulares.

Código promocional até 50%

Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.

Custos no histórico

O modelo, os tokens e o montante são guardados para cada pedido.

[Escolher subscrição](https://ailoot.ai/docs/pt-pt/billing/subscriptions/) · [Ver preços dos modelos](https://ailoot.ai/models/pt-pt/)

## Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial

Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.

Licença de revendedor

Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.

Documentos no site

A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

[Pedir licença de revendedor](mailto:support@ailoot.ai) · [Oferta e contrato de licença](https://ailoot.ai/legal/offer?lang=pt-pt)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
