Google: Veo 3.1
Veo 3.1 é o modelo de vídeo da Google para cenas orientadas por texto e imagem com som gerado, fotogramas de início e fim guiados e recursos de referência. O seu perfil de produção fornece clipes de quatro, seis ou oito segundos a 24 fps, com opções de saída que incluem 720p, 1080p e 4K.
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 é o modelo de geração de vídeo da Google para criar uma cena audiovisual curta a partir de texto ou de instruções orientadas por imagem. O seu perfil de produção suporta texto para vídeo, imagem para vídeo e criação guiada com primeiro/último fotograma, com som gerado, referências de recursos e um fluxo separado de continuação. Utilize-o para desenvolver um conceito cinematográfico, uma narrativa curta de produto ou um segmento visual com cena, ação e experiência sonora definidas.
Descreva primeiro o sujeito e o acontecimento visível. Estabeleça a envolvente, a hora do dia e a luz e defina depois o ponto de vista ou o movimento da câmara e o estilo visual pretendido. Uma instrução original de cena pode mostrar um recipiente de vidro numa superfície de estúdio escura, com um movimento lateral lento a revelar um reflexo enquanto um som ambiental suave acompanha a revelação. Cada instrução dá uma característica visível ou audível que pode ser avaliada no resultado concluído.
A estrutura de instruções da Google trata o sujeito, a ação, a cena, a câmara e a estética como partes separadas das instruções. Utilize as partes que servem o plano, em vez de acrescentar todos os descritores possíveis. Escreva a direção em inglês para o perfil de instruções documentado. Se a cena tiver várias ações, indique a sua relação e mantenha-as proporcionais a um clipe curto, para que uma revelação ou reação continue legível.
Uma imagem inicial estabelece o aspeto e a composição de abertura. Utilize-a quando a personagem, o produto ou o cenário já existem como recurso visual e descreva o movimento que deve desenvolver-se a partir dela. Um último fotograma acrescenta uma composição de destino para o fim. Prepare fotogramas de início e fim que comuniquem uma transição plausível e preservem os pormenores que identificam o sujeito principal e inspecione depois o movimento entre esses fotogramas após a geração.
As referências de recursos servem outro propósito: orientam o aspeto de uma personagem ou objeto numa cena nova gerada, enquanto os fotogramas de início e fim definem momentos específicos nessa cena. Escolha referências que mostrem as características visuais importantes e torne claro o papel de cada recurso na instrução. A especificação de imagem de referência para vídeo do modelo de produção utiliza saída de oito segundos nesse fluxo de referências, separada da seleção comum de duração orientada por texto.
O perfil comum de produção do fabricante gera clipes de quatro, seis ou oito segundos a 24 fotogramas por segundo. Apresenta enquadramentos horizontal 16:9 e vertical 9:16, até quatro vídeos de saída por instrução e resoluções de saída a 720p, 1080p e 4K. O formato de vídeo de saída é MP4. A sua especificação orientada por imagem aceita JPEG ou PNG, indica um máximo de 20 MB por imagem de entrada e suporta configurações de entrada a 720p/1080p. Escolha o perfil de saída para o local de utilização pretendido e mantenha a composição do enquadramento legível nesse tamanho.
O som nativo pode acompanhar a cena visível. Especifique falas, atmosfera e efeitos sonoros como partes das mesmas instruções, nomeando o sujeito ou acontecimento que produz cada um. Uma instrução de diálogo e uma de câmara respondem a questões diferentes: uma estabelece a interpretação, a outra estabelece como o espetador a vê. Mantenha as palavras dentro do tempo de fala útil do clipe e reveja o som quanto à inteligibilidade e à sua relação com a ação.
Para uma continuação, o fabricante disponibiliza um fluxo separado de extensão de vídeo. Comece por um clipe de origem gerado adequado e descreva o acontecimento visível seguinte ou a mudança na cena. Preserve o segmento original e o continuado, para que o ponto de junção possa ser revisto quanto ao aspeto, ao movimento e ao som. As opções normais de duração e resolução de nova geração não devem ser tratadas como um contrato universal para todas as operações de extensão.
Uma descrição negativa pode focar as exclusões nos requisitos visuais da tarefa. Numa série de variações de produto, mantenha estáveis o sujeito e a composição, alterando uma única direção criativa, como a iluminação ou a distância da câmara. Registe a instrução, as referências e as definições selecionadas com o resultado. Isto permite comparar uma diferença criativa útil, em vez de uma coleção de gerações sem relação entre si.
O perfil de produção normal Veo 3.1 e Veo 3.1 Fast têm perfis diferentes de resolução de saída. Fast apresenta 720p e 1080p; a versão normal 3.1 apresenta também 4K. Mantenha a edição escolhida associada ao resultado, sem substituir silenciosamente um identificador de modelo de produção por um perfil Preview mais antigo ou outra geração Veo. Tanto o aspeto de um sujeito como a operação suportada dependem do fluxo selecionado.
A geração é uma operação cujo resultado concluído fornece recursos de vídeo para reprodução e montagem posterior. Guarde os ficheiros devolvidos com os fotogramas de origem, os recursos de referência e as instruções e preserve a informação de proveniência de conteúdo fornecida. Inspecione cada saída efetiva quanto ao aspeto do sujeito, à ação, ao enquadramento, ao som e à composição final. Utilize o clipe escolhido como peça de produção, com títulos, transições ou outro acabamento acrescentados na montagem envolvente.
Ailoot Ultra · Vídeo POST /v1/videos google/veo-3.1
google/veo-3.1Introdução
Veo 3.1 é o modelo de vídeo da Google para cenas orientadas por texto e imagem com som gerado, fotogramas de início e fim guiados e recursos de referência. O seu perfil de produção fornece clipes de quatro, seis ou oito segundos a 24 fps, com opções de saída que incluem 720p, 1080p e 4K.
- 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- Formato de saída
- mp4
- Número de saídas
- Até 4 saídas
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites google/veo-3.1 | Predefinição— |
Campoprompt | Tipostring | RequisitoObrigatório | Valores e limites Número máximo de bytes UTF-8: 10 000 São obrigatórios caracteres que não sejam espaços: Sim | Predefinição— |
Campoduration | Tipointeger | RequisitoObrigatório | Valores e limites 4, 6, 8 | Predefinição— |
Camporesolution | Tipostring | RequisitoObrigatório | Valores e limites 720p | Predefinição— |
Campoaspect_ratio | Tipostring | RequisitoObrigatório | Valores e limites 16:9, 9:16 | Predefinição— |
Campogenerate_audio | Tipoboolean | RequisitoObrigatório | Valores e limites false, true | Predefinição— |
Combinações de materiais de entrada
Texto para vídeo · Obrigatório: prompt
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Parâmetroadditional_properties | Contratofalse |
Parâmetroparameters | Contrato{"name":"model","type":"string","required":true,"enum":["google/veo-3.1"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[4,6,8]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]} |
Parâmetromaterial_types | Contratotext |
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
Conserve a resposta completa e os IDs originais devolvidos.
Nunca volte a enviar uma criação de resultado desconhecido.
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çãoUltra | Tabela de tarifas— | Quantidade previstaConfiguração solicitada; apenas uma estimativa. | Gerar áudioCom á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.8 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çã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: 4k | Custo Saída · Preço do vídeo · Estimativa apenas para comparação $1.2 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.4 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çã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; resolução: 4k | Custo Saída · Preço do vídeo · Estimativa apenas para comparação $0.8 por segundo de vídeo |
| 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 $1.6 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 →
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.8 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: 4k | Custo Saída · Preço do vídeo $1.2 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.4 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: 4k | Custo Saída · Preço do vídeo $0.8 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
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", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
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
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 and response headers; do not resubmit an unknown creation.')
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}/contentGET /v1/videos/generations/{request_id}/content
Verificar o estado da tarefa
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Outras leituras de conteúdo
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())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Guardar todos os resultados concluídos
Guarde cada vídeo concluído ou ficheiro devolvido; obtenha cada URL de recurso efetivamente devolvido.
Conserve todos os URL assinados de data[] concluído pertencentes ao utilizador e todos os metadados do estado. Guarde todas as saídas, incluindo o áudio gerado. 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 |
|---|---|---|
Campoid | Tipostring | Significado— |
Campoobject | Tipostring | Significado— |
Campomodel | Tipostring | Significado— |
Campostatus | Tipostring | Significado— |
Campodata[] | Tiposigned content URL | Significado— |
Campocharge_pending_check | Tipoboolean | Significado— |
Campoerror.code | Tipostring | Significado— |
Campoerror.message | Tipostring | Significado— |
Campooperation_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. |
Campoerror.type | Tipostring | Significadoserver_error na resposta HTTP503 result_pending_check. |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoA leitura do corpo bruto do pedido falha antes da análise do perfil de vídeo | Passo seguinteConserve a resposta devolvida e corrija o corpo ilegível do pedido. |
Resposta422 · price_unavailable | CondiçãoA análise do perfil exato de vídeo falha ou o perfil completo analisado não tem uma ficha exata de preços pronta | Passo seguinteConserve a resposta; utilize o perfil completo e exato autorizado e a respetiva ficha publicada. Este ramo é executado antes de qualquer envio ao fornecedor. |
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. |
Respostaserver_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. |
Aliases
Aliases do modelo
Ailoot Ultra google/veo-3.1
Aliases dos caminhos dos métodos
/v1/videos/generations, /videos, /videos/generations
IDs de chamada relacionados
FAQ · Google: Veo 3.1
- Que entradas e resultados estão disponíveis?
POST /v1/videos·google/veo-3.1:text→video- Que campos utiliza o pedido?
POST /v1/videos·google/veo-3.1:model,prompt,duration,resolution,aspect_ratio,generate_audio