Source: https://ailoot.ai/models/pt-pt/viduq2/
Canonical: https://ailoot.ai/models/pt-pt/viduq2/
Language: pt-pt

# Vidu: Q2 Text-to-Video

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

## [Vidu: Q2 Text-to-Video](https://ailoot.ai/models/pt-pt/viduq2/)

Vidu Q2 cria vídeo a partir de instruções de texto para a cena, com duração de 1–10 segundos, saída de 540p, 720p ou 1080p e cinco proporções de imagem. Este perfil viduq2 específico usa o prompt para o estilo e o movimento e devolve o resultado através de uma tarefa assíncrona.

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

Vidu Q2 cria vídeo a partir de uma cena escrita através do perfil de vídeo a partir de texto selecionado por viduq2. As entradas obrigatórias são o identificador exato do modelo e um prompt que descreva a cena. Utilize-o para um conceito curto de produto, um plano geral ou uma ação de personagem cujo aspeto e movimento possam ser especificados por palavras. Este método configurado gera vídeo a partir de texto; a sua descrição não atribui ao seletor um modo separado de referência de imagem ou de edição de vídeo.

Construa as instruções em torno de uma sequência visível. Identifique o sujeito, o local, a ação, a escala do plano, o movimento da câmara e a composição final. Para um conceito de produto, descreva um objeto sobre uma mesa, luz a deslocar-se sobre o material e uma aproximação lenta da câmara que termina num detalhe reconhecível. Para uma cena de local, estabeleça o ambiente antes de avançar para o ponto focal. Mantenha a ação adequada à duração escolhida do vídeo para que a cena tenha espaço para o final pretendido.

O limite do prompt é de 2 000 caracteres. Coloque primeiro o sujeito e a ação essenciais, depois acrescente os detalhes de iluminação, material, ambiente e câmara que alteram o resultado pretendido. Especifique o estilo visual no prompt. O guia específico de Q2 indica que os parâmetros separados style e movement\_amplitude não têm efeito neste modelo, pelo que as predefinições general ou anime e as opções de amplitude de movimento não substituem uma descrição clara da cena.

A definição de duração específica do modelo aceita segundos inteiros de um a dez. As escolhas de resolução específicas de Q2 são 540p, 720p e 1080p, com 720p como predefinição documentada. Escolha a duração e a resolução em conjunto, de acordo com a ação e o destino. Uma apresentação curta e um movimento mais longo precisam de tempos diferentes; aumentar a duração pedida deve servir a sequência visível, não apenas esticar instruções inalteradas. Inspecione as dimensões e a duração reais do vídeo devolvido ao preparar a colocação final.

As escolhas documentadas de aspect\_ratio são 16:9, 9:16, 3:4, 4:3 e 1:1, com 16:9 por predefinição. O guia inclui explicitamente 3:4 e 4:3 para a família Q2. Escolha o formato antes da geração e descreva uma composição adequada: mantenha o sujeito principal legível numa vista vertical ou use a largura de um enquadramento horizontal para o cenário envolvente. Deixe a vista final suficientemente clara para a página, a apresentação ou o posterior tratamento de legendas pretendidos.

O campo seed controla a variação. Omiti-lo ou fornecer 0 seleciona um valor aleatório; um valor diferente de zero seleciona a opção documentada de seed fixo para geração repetível. Preserve o seed devolvido com o prompt e as definições ao comparar versões. A operação partilhada também documenta controlos audio e off\_peak especificamente para modelos Q3. Essas opções Q3 não são capacidades atribuídas a este perfil Q2; planeie este pedido em torno da sua entrada de texto e saída de vídeo documentadas.

A geração é assíncrona. O envio devolve task\_id e um estado inicial, sendo created usado para uma tarefa acabada de criar. Guarde a identidade da tarefa enquanto acompanha o processamento. A consulta documentada do resultado usa state=success para um resultado bem-sucedido e devolve um array creations. Cada elemento tem o URL do vídeo em creations\[\].url; guarde todos os vídeos devolvidos em vez de presumir que a tarefa contém sempre exatamente uma criação.

A documentação do resultado também comunica a duração, os fps e a largura e altura da resolução do vídeo real. Guarde esses valores comunicados com o vídeo concluído, em vez de tratar a frequência de fotogramas ou as dimensões de um exemplo como uma especificação fixa de Q2. A resposta de criação da tarefa inclui um valor credits juntamente com a configuração do pedido. Guarde esses metadados comunicados da tarefa e a identidade da tarefa concluída com o resultado, para que cada vídeo permaneça ligado às suas definições de geração.

Reveja toda a sequência face às instruções originais: aspeto do sujeito, forma do objeto, direção do movimento, continuidade da câmara e vista final pretendida. Para uma revisão, identifique o detalhe concreto que falhou as instruções e preserve as partes da cena que resultaram. Mantenha juntos o prompt, o seletor exato, as definições, a identidade da tarefa e os vídeos concluídos, para que uma comparação posterior se baseie nos resultados reais.

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

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

Vidu /`viduq2`

### Introdução

Vidu Q2 cria vídeo a partir de instruções de texto para a cena, com duração de 1–10 segundos, saída de 540p, 720p ou 1080p e cinco proporções de imagem. Este perfil viduq2 específico usa o prompt para o estilo e o movimento e devolve o resultado através de uma tarefa assíncrona.

Entradas aceites

Texto

Resultados

Vídeo

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

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

Entrada

`text`

Saída

`video`

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites viduq2 | Predefinição— |
| Campo`prompt` | Tipo`string` | RequisitoObrigatório | Valores e limites Condições: Descreva a cena a gerar. O limite documentado é de 2000 carateres; a Ailoot verifica se a cadeia não está vazia e conserva o texto. | Predefinição— |
| Campo`duration` | Tipo`integer` | RequisitoOpcional | Valores e limites Mínimo: 1 Máximo: 10 Condições: A descrição específica do modelo viduq2 indica 1–10 segundos inteiros. Não está documentada uma duração predefinida específica do modelo. Unidade: segundos | Predefinição— |
| Campo`seed` | Tipo`string` | RequisitoOpcional | Valores e limites Condições: Omita ou envie a cadeia "0" para aleatoriedade. Um valor seed fornecido diferente de zero seleciona o comportamento documentado de seed fixo; não é especificado qualquer intervalo numérico. | Predefinição— |
| Campo`aspect_ratio` | Tipo`string` | RequisitoOpcional | Valores e limites 16:9, 9:16, 3:4, 4:3, 1:1 | Predefinição16:9 |
| Campo`resolution` | Tipo`string` | RequisitoOpcional | Valores e limites 540p, 720p, 1080p Condições: A lista específica do modelo viduq2 documenta estes escalões para 1–10 segundos. Um enum e uma tabela comuns também mencionam 360p; a sua aplicabilidade entra em conflito com essa lista e não é afirmada aqui. | Predefinição720p |
| Campo`style` | Tipo`string` | RequisitoOpcional | Valores e limites general, anime Condições: O pedido comum aceita este campo, mas a documentação indica expressamente que não tem efeito em viduq2. | Predefiniçãogeneral |
| Campo`movement_amplitude` | Tipo`string` | RequisitoOpcional | Valores e limites auto, small, medium, large Condições: O pedido comum aceita este campo, mas a documentação indica expressamente que não tem efeito nos modelos q2. | Predefiniçãoauto |

Combinações de materiais de entrada

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` | Contratoduration, seed, aspect\_ratio, resolution, style, movement\_amplitude |
| Parâmetro`material_types` | Contratotext |
| Parâmetro`additional_properties` | Contratotrue |
| Parâmetro`validation_scope` | ContratoA Ailoot valida as cadeias não vazias de model/prompt. Os tipos e limites opcionais abaixo constituem o contrato documentado do pedido; os outros campos do pedido são preservados para o modelo selecionado. |

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/videos/generations/{request_id}/content`

Crie uma única vez e conserve o id público e o polling\_url devolvidos.

Consulte periodicamente a operação original e leia state; success e um resultado creations\[\].url pertencente ao utilizador definem a conclusão.

Transfira todos os URL de vídeos devolvidos que pertencem ao utilizador; não deduza do exemplo um número fixo de resultados, duração ou frequência de fotogramas.

### 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 | Custo |
| --- | --- | --- | --- |
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | 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çãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação **$5.12** 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 · Vídeo

curl · crie um vídeocurl · consulte a tarefa originalcurl · descarregue todos os vídeos que lhe pertencem

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"viduq2","prompt":"In an ultra-realistic fashion photography style featuring light blue and pale amber tones, an astronaut in a spacesuit walks through the fog. The background consists of enchanting white and golden lights, creating a minimalist still life and an impressive panoramic scene."}
JSON_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}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i:raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use the actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
```

```bash
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("state")!="success":raise SystemExit("Poll the same original job until its owned result is returned.")
creations=r.get("creations")
if not isinstance(creations,list) or not creations:raise SystemExit("No completed video creations.")
urls=[]
for item in creations:
    value=item.get("url") if isinstance(item,dict) else None
    values=[value] if isinstance(value,str) else value
    if not isinstance(values,list) or not values:raise SystemExit("No completed video URL.")
    for u in values:
        if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
        p=urlsplit(u)
        if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for the actual Ailoot-owned signed result.")
        urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt
```

### Receber e guardar os resultados

#### Ailoot Ultra · Vídeo

O JSON conserva o estado nativo e a matriz creations, acrescentando id/provider\_task\_id/polling\_url públicos. Os URLs de vídeo selecionados ficam vazios antes da publicação e tornam-se URLs assinados pertencentes à Ailoot após a conclusão.

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

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

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

Transfira todos os URL efetivamente devolvidos em creations\[\].url; um índice de conteúdo identifica um resultado real devolvido.

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

A declaração fixada não enumera qualquer estado terminal de falha. Conserve a resposta/cabeçalhos/id originais e consulte essa mesma operação perante qualquer estado não reconhecido ou erro result\_pending\_check; nunca volte a enviar uma criação de resultado desconhecido.

Campos da resposta

| Campo | Tipo | Significado |
| --- | --- | --- |
| Campo`id` | Tipostring | SignificadoIdentificador público de tarefa ou operação devolvido pela Ailoot. |
| Campo`provider_task_id` | Tipostring | SignificadoIdentificador da tarefa original, distinto do id público. |
| Campo`polling_url` | Tipostring | SignificadoCaminho de consulta devolvido pela Ailoot para a tarefa original. |
| Campo`task_id` | Tipostring when supplied | SignificadoIdentificador original presente na resposta de criação. |
| Campo`state` | Tipostring when supplied | SignificadoEstado nativo da tarefa: created para o estado pendente fixado e success para a conclusão. |
| Campo`err_code` | Tipostring when supplied | SignificadoDiagnóstico da tarefa; a especificação guardada não declara uma lista enumerada de códigos de erro. |
| Campo`creations[].url` | Tipostring\|string\[\] | SignificadoCada URL selecionado de vídeo concluído é substituído por um URL assinado pertencente à Ailoot. |
| Campo`creations[].video.duration` | Tiponumber when supplied | SignificadoDuração do vídeo devolvido; verifique o resultado efetivamente concluído. |
| Campo`creations[].video.fps` | Tipointeger when supplied | SignificadoFrequência de fotogramas devolvida; não é prometida uma frequência fixa. |
| Campo`creations[].video.resolution.width` | Tipointeger when supplied | SignificadoLargura da saída devolvida em píxeis. |
| Campo`creations[].video.resolution.height` | Tipointeger when supplied | SignificadoAltura da saída devolvida em píxeis. |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoJSON/model inválido, cadeias obrigatórias em falta ou vazias, ou um índice de conteúdo inválido. | Passo seguinte |
| Resposta401 · `authentication_error` | CondiçãoChave API da Ailoot inválida. | Passo seguinte |
| Resposta403 · `permission_error` | CondiçãoO grupo da chave API não tem acesso a esta rota multimédia. | Passo seguinte |
| Resposta404 · `not_found_error` | CondiçãoA tarefa original ou o resultado pedido não existe ou não pertence ao mesmo utilizador/chave API/grupo. | Passo seguinte |
| Resposta502 · `result_pending_check` | CondiçãoO envio original ou o respetivo estado está incompleto ou não pode ser reconciliado; conserve o ID original e não volte a enviar. | Passo seguinte |
| Resposta503 · `result_pending_check` | CondiçãoA associação original, a rota ou o conteúdo multimédia pertencente ao utilizador ainda está em verificação; continue a consultar essa operação original. | Passo seguinte |
| Resposta503 · `server_error` | CondiçãoO serviço multimédia ou o armazenamento da tarefa original não está disponível. | Passo seguinte |

### Aliases

#### Aliases do modelo

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

#### Aliases dos caminhos dos métodos

`/v1/videos/generations`

#### IDs de chamada relacionados

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

FAQ · Vidu: Q2 Text-to-Video

Que entradas e resultados estão disponíveis?

`POST /v1/videos` · `viduq2`: `text` → `video`

Que campos utiliza o pedido?

`POST /v1/videos` · `viduq2`: `model`, `prompt`, `duration`, `seed`, `aspect_ratio`, `resolution`, `style`, `movement_amplitude`

Que limites se aplicam?

`POST /v1/videos` · `viduq2`: `duration.minimum`: `1`; `duration.maximum`: `10`

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.
