Source: https://ailoot.ai/models/pt-pt/google-veo-3-1-lite/
Canonical: https://ailoot.ai/models/pt-pt/google-veo-3-1-lite/
Language: pt-pt

# Google: Veo 3.1 Lite

[Markdown](https://ailoot.ai/models/pt-pt/google-veo-3-1-lite/index.md) · [JSON](https://ailoot.ai/models/pt-pt/google-veo-3-1-lite/facts.json)

## [Google: Veo 3.1 Lite](https://ailoot.ai/models/pt-pt/google-veo-3-1-lite/)

Veo 3.1 Lite gera um vídeo com áudio nativo a partir de uma descrição em texto ou de uma imagem inicial. O seu fluxo Lite documentado produz um clipe, com durações de 4, 6 ou 8 segundos, enquadramento horizontal ou vertical e limites específicos que diferem de Veo 3.1 e Fast.

- [**Ailoot Ultra · Vídeo** `POST /v1/videos` `google/veo-3.1-lite`](https://ailoot.ai/models/pt-pt/google-veo-3-1-lite/#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.

Veo 3.1 Lite é o membro Lite da Google na linha de geração de vídeo Veo 3. Sintetiza um vídeo com áudio a partir de uma descrição em linguagem natural ou de uma imagem de entrada. A saída é um clipe gerado, e não uma análise textual de uma gravação existente. A ficha do modelo Lite do fabricante remete para Veo 3 quanto à arquitetura subjacente, aos materiais de treino e às limitações conhecidas, enquanto a documentação específica de Lite define as suas próprias funcionalidades e limites de geração.

A arquitetura referenciada utiliza difusão latente sobre representações temporais de áudio e representações espaciotemporais de vídeo. O modelo base foi treinado com áudio, vídeo e imagens, com legendas descritivas em diferentes níveis de pormenor e material de treino filtrado e deduplicado. Isto explica o propósito de geração conjunta visual e de áudio. Não divulga um número de parâmetros específico de Lite nem comprova que todos os movimentos gerados seguem a realidade física. Para uma cena prática, decida em conjunto a ação visível e o som correspondente.

A documentação exata de Lite dá um limite de entrada de texto de 1 024 tokens e um vídeo de saída. A coluna Lite no guia de geração apresenta durações de 4, 6 e 8 segundos, com 720p por predefinição e 1080p a exigir um clipe de 8 segundos. A proporção horizontal 16:9 é a predefinição e a vertical 9:16 está também indicada; a saída está documentada a 24 fotogramas por segundo. O áudio nativo está sempre ativado nesse fluxo. Estes valores pertencem ao fluxo identificado como Lite do produtor, e não a uma edição Veo sem relação ou a uma resposta de aplicação medida separadamente.

Lite não suporta saída 4K nem extensão de vídeo. A tabela de parâmetros assinala também a funcionalidade de múltiplas referências referenceImages e uma entrada de vídeo para extensão como indisponíveis na coluna Lite. Uma imagem inicial pode estabelecer o primeiro fotograma; a tabela apresenta uma imagem lastFrame juntamente com essa imagem inicial para uma transição. Mantenha esta via de controlo por fotogramas distinta da mistura de várias referências de estilo ou sujeito. As definições de geração de pessoas do produtor são específicas do modo: a tabela Lite apresenta allow\_all para texto para vídeo e allow\_adult para imagem para vídeo e interpolação, enquanto regras regionais podem restringir adicionalmente esse perfil documentado. Escolha a imagem inicial de acordo com a primeira cena que pretende efetivamente, com o sujeito, o enquadramento e os pormenores visíveis preparados antes de pedir movimento.

Para texto para vídeo, descreva o sujeito, a sua ação, o ambiente e o estilo pretendido. Acrescente posição e movimento de câmara, enquadramento, foco e luz quando forem importantes. Uma cena original de produto pode manter o objeto centrado enquanto a câmara se aproxima de um pormenor de material e a luz envolvente muda suavemente. Identifique o estado inicial, a ação principal e o momento final para que o clipe curto resolva uma ideia coerente. Uma longa coleção de ações sem relação entre si é uma tarefa diferente de um plano focado.

Para imagem para vídeo, forneça um fotograma inicial nítido e explique o que deve mover-se e o que deve manter-se estável. Especifique separadamente o movimento do sujeito e qualquer movimento da câmara. Se utilizar uma restrição de fotograma final, prepare uma composição final compatível e descreva a transição entre ambos. Inspecione o resultado, em vez de presumir que uma identidade, posição ou forma pedidas se mantêm idênticas ao longo de todo o clipe. A ficha de modelo referenciada identifica a consistência completa em cenas complexas e o movimento complexo como desafios contínuos.

O guia de instruções suporta indicações explícitas para diálogo, efeitos sonoros e ambiente. Coloque a fala exata entre aspas, identifique quem fala e descreva os sons em relação à ação visível. Um efeito sonoro e a atmosfera de fundo não devem ser confundidos com uma fala. O inglês está documentado como totalmente suportado para instruções, enquanto outros idiomas não foram avaliados nesse guia. Reveja as palavras audíveis, a sincronização e a qualidade sonora como parte do mesmo recurso que o vídeo, em vez de tratar o áudio como uma transcrição fiel garantida da instrução.

O fluxo do produtor é assíncrono: um pedido de geração devolve uma operação, e o resultado concluído é obtido depois de o seu estado comunicar a conclusão. Conserve a identidade da operação e inspecione o clipe devolvido. O guia descreve retenção de dois dias do lado do produtor e marcação SynthID, pelo que um recurso conservado deve incluir o resultado transferido, a instrução, as imagens de origem e as definições selecionadas. Uma semente pode melhorar a repetibilidade, mas não garante determinismo. Verifique a continuidade dos sujeitos, a ação, o enquadramento, o som e o extremo final pretendido da cena antes de utilizar o clipe numa montagem; só a conclusão do processamento não prova que os requisitos criativos foram cumpridos.

**Ailoot Ultra · Vídeo** `POST /v1/videos` `google/veo-3.1-lite`

[`google/veo-3.1-lite`](https://ailoot.ai/models/pt-pt/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

Google /`google/veo-3.1-lite`

### Introdução

Transforme a descrição de uma cena num vídeo de 4, 6 ou 8 segundos em 720p.

- Mostre um produto em movimento
- Crie uma cena de contextualização
- Experimente um movimento curto de câmara

Entradas aceites

Texto · Imagens

Resultados

Vídeo

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

**Ailoot Ultra · Vídeo** `POST /v1/videos`

Entrada

`text`, `image`

Saída

`video`

Formato de saída

mp4

Número de saídas

Até 4 saídas

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites google/veo-3.1-lite | Predefinição— |
| Campo`prompt` | Tipo`string` | RequisitoObrigatório | Valores e limites Comprimento mínimo: 1 Número máximo de bytes: 10 000 Unidade: bytes UTF8 | Predefinição— |
| Campo`duration` | Tipo`integer` | RequisitoObrigatório | Valores e limites 4, 6, 8 Unidade: segundos | Predefinição— |
| Campo`resolution` | Tipo`string` | RequisitoObrigatório | Valores e limites 720p | Predefinição— |
| Campo`aspect_ratio` | Tipo`string` | RequisitoObrigatório | Valores e limites 16:9, 9:16 | Predefinição— |
| Campo`generate_audio` | Tipo`boolean` | RequisitoObrigatório | Valores e limites false | Predefinição— |
| Campo`frame_images` | Tipo`array` | RequisitoOpcional | Valores e limites Condições: Omita para text\_to\_video. Quando presente: exatamente um elemento {"type":"image\_url","image\_url":{"url":"\<actual HTTPS URL\>"},"frame\_type":"first\_frame"}; o elemento tem exatamente type,image\_url,frame\_type; image\_url tem exatamente url. Sem chaves adicionais ou duplicadas. Apenas duration=4,resolution="720p",aspect\_ratio="16:9",generate\_audio=false. O URL tem de ser analisável com o esquema https, nome de anfitrião não vazio, sem userinfo nem # literal; a consulta assinada e o caminho codificado são preservados. A origem não verifica o MIME da entrada, o tamanho do ficheiro nem as dimensões em píxeis. | Predefinição— |

Combinações de materiais de entrada

**Texto para vídeo** · Obrigatório: prompt

**Imagem para vídeo** · Obrigatório: prompt, frame\_images

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, prompt, duration, resolution, aspect\_ratio, generate\_audio |
| Parâmetro`other_options` | Contratofalse |
| Parâmetro`resolution` | Contrato720p |
| Parâmetro`prompt_max_bytes` | Contrato10000 |
| Parâmetro`duration` | Contrato4, 6, 8 |
| Parâmetro`aspect_ratio` | Contrato16:9, 9:16 |
| Parâmetro`generate_audio` | Contratofalse |
| Parâmetro`material_types` | Contratotext, image |
| Parâmetro`parameters` | Contrato{"name":"model","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\["google/veo-3.1-lite"\],"availability":"source\_interface"}, {"name":"prompt","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":false,"enum":null,"availability":"source\_interface","min\_length":1,"maximum\_bytes":10000,"maximum\_length":null,"unit":"bytes UTF8"}, {"name":"duration","type":"integer","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\[4,6,8\],"availability":"source\_interface","unit":"segundos"}, {"name":"resolution","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\["720p"\],"availability":"source\_interface"}, {"name":"aspect\_ratio","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\["16:9","9:16"\],"availability":"source\_interface"}, {"name":"generate\_audio","type":"boolean","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\[false\],"availability":"source\_interface"}, {"name":"frame\_images","type":"array","required":false,"default\_known":false,"default":null,"enum\_known":false,"enum":null,"availability":"source\_interface","conditions":"Omita para text\_to\_video. Quando presente: exatamente um elemento {\\"type\\":\\"image\_url\\",\\"image\_url\\":{\\"url\\":\\"\<actual HTTPS URL\>\\"},\\"frame\_type\\":\\"first\_frame\\"}; o elemento tem exatamente type,image\_url,frame\_type; image\_url tem exatamente url. Sem chaves adicionais ou duplicadas. Apenas duration=4,resolution=\\"720p\\",aspect\_ratio=\\"16:9\\",generate\_audio=false. O URL tem de ser analisável com o esquema https, nome de anfitrião não vazio, sem userinfo nem # literal; a consulta assinada e o caminho codificado são preservados. A origem não verifica o MIME da entrada, o tamanho do ficheiro nem as dimensões em píxeis."} |

Aliases do método: `/v1/videos/generations`, `/videos`, `/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/videos/generations/{request_id}/content`

Crie uma única vez e guarde o ID devolvido.

Consulte periodicamente o estado original; conserve todos os recursos concluídos e a respetiva duração.

### 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 | Gerar áudio | Resolução | Unidade de faturação | Condições de faturação | Custo |
| --- | --- | --- | --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Gerar áudio— | Resolução— | Unidade de faturação— | Condições de faturação— | 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çãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Gerar áudio— | Resolução— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoáudio: with\_audio | Custo Saída · Preço do vídeo · Estimativa apenas para comparação **$0.16** por segundo de vídeo |
| ConfiguraçãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Gerar áudio— | Resolução— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoáudio: with\_audio; resolução: 720p | Custo Saída · Preço do vídeo · Estimativa apenas para comparação **$0.1** por segundo de vídeo |
| ConfiguraçãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Gerar áudio— | Resolução— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoáudio: without\_audio | Custo Saída · Preço do vídeo · Estimativa apenas para comparação **$0.1** por segundo de vídeo |
| ConfiguraçãoUltra | Tabela de tarifas— | Quantidade previstaConfiguração solicitada; apenas uma estimativa. | Gerar áudioSem áudio | Resolução720p | Unidade de faturaçãopor segundo de vídeo de saída | Condições de faturação— | Custo Saída · Segundo estimado de vídeo de saída · Estimativa apenas para comparação **$0.06** por segundo de vídeo de saída A tarifa apresentada estima o custo antes da geração. A cobrança final é calculada a partir do custo registado para a geração original. A duração física do vídeo não é a quantidade faturável. |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Gerar áudio— | Resolução— | Unidade de faturação— | Condições de faturação— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação **$0.24** 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/)

#### Detalhes da tarifa de referência

As tabelas de referência do modelo não alteram a seleção do método, as cotações ou os custos. Os custos ativos usam as tarifas do método Ailoot selecionado.

Referências de preços das configurações de vídeo

#### 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 | Condições de faturação | Custo |
| --- | --- | --- |
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoáudio: with\_audio | Custo Saída · Preço do vídeo **$0.16** por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoáudio: without\_audio | Custo Saída · Preço do vídeo **$0.1** por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoáudio: with\_audio; resolução: 720p | Custo Saída · Preço do vídeo **$0.1** por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoáudio: without\_audio; resolução: 720p | Custo Saída · Preço do vídeo **$0.06** por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |

### Exemplos de pedidos

#### Ailoot Ultra · Vídeo

curlcurl · anime o seu primeiro fotograma

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/veo-3.1-lite", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 4, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": false}')

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
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os,re
from pathlib import Path
from urllib.parse import urlsplit
image=os.environ["AILOOT_IMAGE_URL"]
try:
    parsed=urlsplit(image)
    valid=(image.startswith("https://") and parsed.scheme=="https" and bool(parsed.hostname)
           and parsed.username is None and parsed.password is None and "#" not in image
           and not any(ord(c)<32 or ord(c)==127 for c in image)
           and re.search(r"%(?![0-9A-Fa-f]{2})",image) is None)
except ValueError:
    valid=False
if not valid:
    raise SystemExit("Use your actual HTTPS image URL with a hostname, no userinfo and no fragment")
p={"model":"google/veo-3.1-lite","prompt":"The subject makes a slow, natural movement. Keep the opening composition.","duration":4,"resolution":"720p","aspect_ratio":"16:9","generate_audio":False,"frame_images":[{"type":"image_url","image_url":{"url":image},"frame_type":"first_frame"}]}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False),encoding="utf-8")
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print("Keep the complete JSON, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.")
PY_RESULT
```

### Receber e guardar os resultados

#### Ailoot Ultra · Vídeo

mp4

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

##### Verificar o estado da tarefa

GET estado

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### Guardar todos os recursos concluídos

GET todos os recursos concluídos

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

Outras leituras de conteúdo

GET conteúdo

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

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

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

data\[\] concluído contém todos os URLs assinados para conteúdos pertencentes ao utilizador. Obtenha cada URL devolvido ou utilize o endpoint de conteúdo com index definido como um índice real de saída. Uma tarefa original falhada pode devolver charge\_pending\_check; consulte essa tarefa original em vez de a criar novamente. Pode existir uma faixa de áudio AAC válida mesmo com generate\_audio=false; conserve o MP4 original completo, incluindo esse áudio.

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

Consulte a tarefa original existente; nunca volte a enviar um pedido cujo envio tenha resultado desconhecido.

Número máximo de saídas: 4.

Campos da resposta

| Campo | Tipo | Significado |
| --- | --- | --- |
| Campo`id` | Tipostring | Significado— |
| Campo`object` | Tipostring | Significado— |
| Campo`model` | Tipostring | Significado— |
| Campo`status` | Tipostring | Significado— |
| Campo`data[]` | Tiposigned content URL | Significado— |
| Campo`charge_pending_check` | Tipoboolean | Significado— |
| Campo`error.code` | Tipostring | Significado— |
| Campo`error.message` | Tipostring | Significado— |
| Campo`operation_id` | Tipostring | SignificadoResposta HTTP503 result\_pending\_check do estado/conteúdo original: o mesmo ID público da operação de vídeo original como id. |
| Campo`error.type` | Tipostring | Significadoserver\_error na resposta HTTP503 result\_pending\_check. |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
| Resposta409 · `video_not_ready` | CondiçãoO conteúdo do resultado original ainda não está disponível | Passo seguinteConsulte periodicamente o ID original devolvido e respeite Retry-After. |
| Resposta`server_error` | CondiçãoA resposta devolvida indica que a operação ou o resultado requer verificação | Passo seguinteGuarde o ID original da operação/tarefa devolvido, os cabeçalhos do pedido e a resposta; continue a consultar essa operação original através das consultas suportadas. Não volte a enviar o pedido de criação. |
| Resposta503 · `result_pending_check` | CondiçãoGET do estado/conteúdo original: a tarefa não está publicada, a tarefa original não está failed/cancelled/expired e o estado local é unknown ou o estado da tarefa original é completed. | Passo seguinteConserve id e operation\_id originais (o mesmo ID público de vídeo), a resposta e os cabeçalhos; consulte apenas o estado/conteúdo original. Nunca envie um novo pedido de geração. |
| Resposta422 · `price_unavailable` | CondiçãoUm objeto frame\_images fornecido ou o respetivo perfil condicional não pode ser analisado, ou o perfil completo analisado não tem uma ficha exata de preços pronta. | Passo seguinteConserve model, prompt, duration, resolution, aspect\_ratio e generate\_audio. Adicione frame\_images com exatamente um elemento first\_frame no formato de objeto especificado. Defina duration=4, resolution="720p", aspect\_ratio="16:9" e generate\_audio=false. Esta validação é executada antes do envio do pedido. |

### Aliases

#### Aliases do modelo

**Ailoot Ultra** [`google/veo-3.1-lite`](https://ailoot.ai/models/pt-pt/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

#### Aliases dos caminhos dos métodos

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### IDs de chamada relacionados

[`google/veo-3.1-lite`](https://ailoot.ai/models/pt-pt/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

FAQ · Google: Veo 3.1 Lite

Que entradas e resultados estão disponíveis?

`POST /v1/videos` · `google/veo-3.1-lite`: `text`, `image` → `video`

Que campos utiliza o pedido?

`POST /v1/videos` · `google/veo-3.1-lite`: `model`, `prompt`, `duration`, `resolution`, `aspect_ratio`, `generate_audio`, `frame_images`

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.
