Processo de solicitação
Para usar a API Gemini Videos Generation, primeiro acesse o Console Ace Data Cloud para obter seu API Token e guarde-o para uso posterior.
Se você ainda não tiver feito login ou se registrado, será automaticamente redirecionado para a página de login, onde será convidado a se registrar e fazer login; após a conclusão, você retornará automaticamente à página atual.
Um único API Token permite chamar todos os serviços da plataforma, sem a necessidade de solicitar um para cada serviço separadamente. A primeira solicitação oferece créditos gratuitos para uma experiência sem custo; quando os créditos forem insuficientes, você poderá recarregar o saldo geral no console.
📘 Documentação completa: Gemini Videos Generation API →
Uso básico
Primeiro, vamos entender o método básico de uso: basta inserir o promptprompt, o modelo model e a proporção aspect_ratio para gerar o vídeo correspondente.
Você pode ver que aqui configuramos os Request Headers, incluindo:
accept: o formato da resposta que se deseja receber; aqui, preencha comapplication/json, ou seja, o formato JSON.authorization: a chave para chamar a API, que pode ser selecionada diretamente em uma lista suspensa após a solicitação.
prompt: o prompt de texto que descreve o conteúdo de vídeo que se deseja gerar, obrigatório.model: o modelo para gerar vídeos; atualmente, apenasomni-flashé suportado, e o padrão éomni-flash.aspect_ratio: a proporção do vídeo gerado; é possível escolher16:9(horizontal) ou9:16(vertical), sendo o padrão16:9.resolution: a resolução de saída opcional; é possível escolher720pou1080p, sendo o padrão720p.image_urls: um array opcional de links de imagens de referência, usado para orientar a geração do vídeo; itens vazios serão ignorados. Ao usarvideo_urlspara edição de vídeo, este parâmetro é obrigatório (pelo menos uma imagem).video_urls: um array opcional de links de vídeos de referência (no máximo 1), usado para edição de vídeo / referência de vídeo; ao fornecê-lo, é necessário também fornecer pelo menos umaimage_urls.callback_url: endereço de callback assíncrono; após a configuração, a API retornará imediatamente otask_ide enviará o resultado por POST para esse endereço quando a tarefa for concluída.async: opcional; quando definido comotrue, a interface retorna imediatamente otask_id, sem a necessidade de fornecercallback_url; em seguida, obtenha o resultado por polling por meio da interface de consulta de tarefas correspondente.
success: se esta solicitação de geração de vídeo foi bem-sucedida.task_id: o ID desta tarefa de geração de vídeo.trace_id: o ID de rastreamento desta solicitação, usado para investigar problemas.data: a lista de resultados de vídeos gerados.id: o identificador exclusivo do vídeo gerado.video_url: o endereço do link do vídeo gerado (nullquandostateforpending).state: o status da tarefa de geração de vídeo; as opções sãopending/succeeded/failed.aspect_ratio: a proporção deste vídeo, consistente com o parâmetro da solicitação.prompt: o prompt usado para gerar este vídeo.
started_at, finished_at, elapsed (tempo decorrido, em segundos) e cost (cobrança desta vez, em unidades de Credit).
Basta obter o vídeo gerado de acordo com o endereço do link video_url em data no resultado.
O código CURL correspondente é o seguinte:
Geração de vídeo a partir de imagem
Se quiser gerar um vídeo com base em imagens de referência, você pode inserir um ou mais links de imagens emimage_urls para orientar a geração do vídeo:
Edição de vídeo / vídeo de referência (vídeo de entrada, vídeo gerado)
É possível diretamente 「inserir um vídeo e gerar um novo vídeo」: insira um link de vídeo de referência emvideo_urls (no máximo 1), e ao mesmo tempo forneça pelo menos uma imagem de referência em image_urls (requisito obrigatório upstream), depois use prompt para descrever o efeito de edição desejado (alterar estilo, trocar cenário, adicionar ou remover elementos etc.).
A seguir está um exemplo real completo — transformar um vídeo de uma praia ensolarada em uma cena de inverno com neve caindo, mantendo ao mesmo tempo o layout da praia, dos coqueiros e do pequeno barco. A edição de vídeo leva mais tempo (cerca de 6,5 minutos neste exemplo), portanto use async: true para envio assíncrono:
task_id:
task_id como id para consultar a Gemini Tasks API; após a conclusão da tarefa, você poderá obter o novo vídeo gerado (este é o resultado real retornado neste exemplo):
resolution como 1080p (os demais parâmetros permanecem inalterados).
Dica: os links de mídia de entrada/saída no exemplo são todos resultados reais gerados. Os links de vídeos e imagens gerados pela plataforma têm um período de retenção e expirarão após esse período; faça o download e salve-os em seu próprio armazenamento assim que obtiver os resultados.
Atenção: é permitido no máximo 1 vídeo de referência; além disso, ao fornecervideo_urls, é obrigatório fornecer pelo menos umaimage_urls, caso contrário, o seguinte erro de parâmetro será retornado:
Retorno de chamada assíncrono
A geração de vídeo requer algum tempo de processamento. Se não desejar manter uma conexão longa em espera, você pode fornecercallback_url; nesse caso, a API retornará imediatamente o task_id e, após a conclusão da tarefa, enviará o resultado final por POST para esse endereço:
Consultar o resultado da tarefa
Se você utilizou o retorno de chamada assíncrono ou deseja consultar ativamente o status da tarefa, pode usar a Gemini Tasks API (POST https://api.acedata.cloud/gemini/tasks) para consultar o status e o resultado mais recentes da tarefa com base no task_id. No corpo da solicitação, passe o task_id retornado ao criar o vídeo como id:
response.data é igual à da geração síncrona (durante a geração, state é pending e video_url é null):
Tratamento de erros
Quando houver problemas com a solicitação, a API retornará o código de erro e a descrição correspondentes. Os mais comuns são:400: os parâmetros da solicitação estão incorretos, por exemplo, faltapromptou o valor deaspect_ratioé inválido.401: falha na autenticação; o token é inválido ou não corresponde à API.403: saldo insuficiente ou o prompt foi rejeitado por acionar a moderação de conteúdo.500: erro interno do servidor ou falha na geração upstream.

