modelos

Vidu: Q2 Text-to-Video

Markdown · JSON

Vidu: Q2 Text-to-Video

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.

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

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
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
viduq2
Predefinição—
CampopromptTipostringRequisitoObrigatórioValores 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—
CampodurationTipointegerRequisitoOpcionalValores 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—
CamposeedTipostringRequisitoOpcionalValores 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—
Campoaspect_ratioTipostringRequisitoOpcionalValores e limites
16:9, 9:16, 3:4, 4:3, 1:1
Predefinição16:9
CamporesolutionTipostringRequisitoOpcionalValores 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
CampostyleTipostringRequisitoOpcionalValores 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
Campomovement_amplitudeTipostringRequisitoOpcionalValores 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âmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratomodel, prompt
ParâmetrooptionalContratoduration, seed, aspect_ratio, resolution, style, movement_amplitude
Parâmetromaterial_typesContratotext
Parâmetroadditional_propertiesContratotrue
Parâmetrovalidation_scopeContratoA 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çãoTabela de tarifasQuantidade previstaCusto
ConfiguraçãoTarifas base por tokenTabela de tarifasTarifa baseQuantidade 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çãoTabela de tarifas—Quantidade previstaestimativa para uma geraçãoCusto
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 →

Exemplos de pedidos

Ailoot Ultra · Vídeo

curl · crie um vídeocurl · consulte a tarefa originalcurl · descarregue todos os vídeos que lhe pertencem
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
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
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
CampoTipoSignificado
CampoidTipostringSignificadoIdentificador público de tarefa ou operação devolvido pela Ailoot.
Campoprovider_task_idTipostringSignificadoIdentificador da tarefa original, distinto do id público.
Campopolling_urlTipostringSignificadoCaminho de consulta devolvido pela Ailoot para a tarefa original.
Campotask_idTipostring when suppliedSignificadoIdentificador original presente na resposta de criação.
CampostateTipostring when suppliedSignificadoEstado nativo da tarefa: created para o estado pendente fixado e success para a conclusão.
Campoerr_codeTipostring when suppliedSignificadoDiagnóstico da tarefa; a especificação guardada não declara uma lista enumerada de códigos de erro.
Campocreations[].urlTipostring|string[]SignificadoCada URL selecionado de vídeo concluído é substituído por um URL assinado pertencente à Ailoot.
Campocreations[].video.durationTiponumber when suppliedSignificadoDuração do vídeo devolvido; verifique o resultado efetivamente concluído.
Campocreations[].video.fpsTipointeger when suppliedSignificadoFrequência de fotogramas devolvida; não é prometida uma frequência fixa.
Campocreations[].video.resolution.widthTipointeger when suppliedSignificadoLargura da saída devolvida em píxeis.
Campocreations[].video.resolution.heightTipointeger when suppliedSignificadoAltura da saída devolvida em píxeis.
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoJSON/model inválido, cadeias obrigatórias em falta ou vazias, ou um índice de conteúdo inválido.Passo seguinte
Resposta401 · authentication_errorCondiçãoChave API da Ailoot inválida.Passo seguinte
Resposta403 · permission_errorCondiçãoO grupo da chave API não tem acesso a esta rota multimédia.Passo seguinte
Resposta404 · not_found_errorCondiçã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_checkCondiçã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_checkCondiçã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_errorCondiçã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

Aliases dos caminhos dos métodos

/v1/videos/generations

IDs de chamada relacionados

viduq2

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

Mais detalhes

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 · Ver preços dos modelos

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 · Oferta e contrato de licença