Use a função ai_gen para gerar imagens e vídeos chamando modelos de IA implantados no Hologres. Essa função oferece suporte a texto para imagem, edição de imagem, fusão de múltiplas imagens, texto para vídeo, imagem para vídeo, keyframes para vídeo e referência para vídeo.
Pré-requisitos
Implante um modelo de geração de imagem ou vídeo no Hologres. Para obter informações sobre como implantar modelos, consulte AI models and deployment. As fontes de modelo suportadas incluem modelos gerenciados. Para mais detalhes, veja Managed models.
Para salvar resultados no OSS, prepare um bucket do OSS e configure uma função do RAM com as permissões necessárias.
Sintaxe
ai_gen
A função ai_gen utiliza a seguinte sintaxe:
SELECT ai_gen('<model>', <prompt>::TEXT, <file>);
A tabela a seguir descreve os parâmetros da função ai_gen.
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Nome do modelo implantado no console do Hologres. Há suporte tanto para modelos integrados de nó de IA quanto para modelos gerenciados. |
|
|
TEXT |
String JSON contendo o prompt e os parâmetros de geração. Os parâmetros variam conforme o cenário. |
|
|
FILE |
Transporta dados multimodais (imagens, vídeos, áudio) com permissões do OSS. O modelo não lê este campo diretamente — use |
Valor de retorno: Um valor TEXT em JSON contendo a URL do resultado, métricas de uso e outros metadados.
to_file()
A função to_file() converte um caminho do OSS em um tipo FILE com credenciais de acesso ao OSS. Sintaxe:
to_file('<oss_path>', '<oss_endpoint>', '<role_arn>')
A tabela abaixo detalha os parâmetros da função to_file.
|
Parâmetro |
Tipo |
Descrição |
|
|
TEXT |
Caminho do arquivo no OSS. Por exemplo, |
|
|
TEXT |
Endpoint interno do OSS. Exemplo: |
|
|
TEXT |
Alibaba Cloud Resource Name (ARN) da função do Resource Access Management (RAM) para acesso ao OSS. Exemplo: |
Valor de retorno: Um valor FILE. Retorna um erro se o caminho for inválido ou se o arquivo não existir.
Geração de imagens
Texto para imagem
Gera uma imagem a partir de uma descrição textual.
Modelos suportados:
Modelos gerenciados:
qwen-image-2.0-pro,wan2.7-imageewan2.7-image-pro. Para detalhes sobre a série wan2.7, consulte Wan. Para informações de uso, veja Managed models.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição textual usada para gerar a imagem. |
|
|
INT |
Não |
Quantidade de imagens a serem geradas. Padrão: 1. |
|
|
STRING |
Não |
Dimensões da imagem de saída, como |
|
|
BOOL |
Não |
Define se uma marca d'água será adicionada. |
|
|
STRING |
Não |
Caminho do OSS para salvar a saída. Salvar no OSS gera taxas de transferência de dados de saída. |
Exemplo 1: Gerar uma imagem para visualização sem salvá-la no OSS.
-- Generate an image for preview without saving the result to OSS, using the qwen-image-2.0-pro model.
SELECT
ai_gen('qwen_image_2_pro',
json_build_object(
'prompt', 'Generate a Q-style character of Liu Bei',
'parameters', json_build_object(
'n', 1,
'size', '1024*1024',
'watermark', FALSE
)
)::TEXT,
to_file('oss://xxxx/holo_ai_powered_marketing_content/xxx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::186xxx:role/xxx')-- Use to_file() for authentication.
);
Resposta de exemplo:
{
"requestId": "xxx",-- The request ID.
"usage": {...},-- Image parameters, such as width, height, and count.
"image_urls": ["https://..."], -- Public URLs of the generated images. Access is time-limited.
"image_oss_paths": ["oss://bucket/output/xxx.png"] -- This field is empty if an output directory is not specified.
}
Campos da resposta:
requestId: ID da solicitação.usage: Parâmetros da imagem, incluindo largura, altura e quantidade.image_urls: URLs públicas das imagens geradas. Essas URLs possuem acesso limitado por tempo.image_oss_paths: Caminhos do OSS onde as imagens foram salvas. Este campo fica vazio casooutput_dirnão seja especificado.
Exemplo 2: Gerar uma imagem utilizando o modelo wan2.7-image-pro.
-- Generate an image using the wan2.7-image-pro model.
SELECT
ai_gen ('wan_27_image_pro',
json_build_object(
'prompt', 'Futuristic tech city nightscape with neon lights in a cyberpunk style',
'parameters', json_build_object(
'n', 1,
'size', '1920*1080',
'watermark', FALSE
),
'output_dir', 'oss://xxx/holo_ai_powered_marketing_content/'
)::text,
to_file ('oss://xxx/holo_ai_powered_marketing_content/xxx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::186xxx:role/xxx')
);
Exemplo 3: Gerar uma imagem e salvá-la no OSS.
-- Generate an image and save it to your OSS bucket.
SELECT
ai_gen('qwen_image_2_pro',
json_build_object(
'prompt', 'Generate a Q-style character of Liu Bei',
'parameters', json_build_object(
'n', 1,
'size', '1024*1024',
'watermark', FALSE
),
'output_dir', 'oss://xxx/holo_ai_powered_marketing_content/'-- The OSS file path.
)::TEXT,
to_file('oss://xxx/holo_ai_powered_marketing_content/xxx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::186xxx:role/xxx')
);
Edição de imagem
Edita uma imagem de referência com base em um prompt de texto para gerar uma nova imagem.
Modelos suportados:
Modelos gerenciados:
wan2.7-image-proeqwen-image-2.0-pro. Para mais informações, consulte Managed models.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição das edições desejadas. |
|
|
STRING[] |
Sim |
Array contendo o caminho do OSS da imagem de referência. Atualmente, há suporte para apenas uma imagem. |
|
|
INT |
Não |
Quantidade de imagens a serem geradas. |
|
|
STRING |
Não |
Dimensões da imagem a ser gerada, como |
|
|
BOOL |
Não |
Define se uma marca d'água será adicionada. |
|
|
STRING |
Não |
Caminho do OSS para salvar a saída. Salvar no OSS gera taxas de transferência de dados de saída. |
Exemplo SQL: Editar uma imagem e gerar uma nova.
-- Image editing
SELECT ai_gen('qwen_image_edit', json_build_object(
'prompt', 'Maintain the original Q-style Liu Bei character and the traditional Chinese comic style. Liu Bei rides a tall horse and looks ahead, calm and commanding. The background merges an ancient-style city with a futuristic data city. Floating data charts, dashboards, blue glowing grids, and data streams appear on the buildings. Liu Bei holds a scroll or token that represents command and decision. The "Hologres" logo appears on it. The composition should feel grand and brand-forward, and convey the tone of "control the big picture, real-time insight, and strategic planning."',
'reference_urls', array['oss://xxx/holo_ai_powered_marketing_content/c8403238-3c88-44a6-ac85-2e5447e987b2.png'],
'parameters', json_build_object(
'n', 2,
'size', '1024*1024',
'watermark', FALSE
)
)::TEXT, to_file('oss://xxx/holo_ai_powered_marketing_content/xx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxx:role/xxx'));
Saída de exemplo:

Fusão de múltiplas imagens
Combina várias imagens de referência em uma única nova imagem.
Modelos suportados:
Modelos gerenciados:
qwen-image-2.0-pro. Para mais informações, consulte Managed models.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição da imagem final desejada. |
|
|
STRING[] |
Sim |
Lista de caminhos do OSS para as imagens de referência. |
|
|
INT |
Não |
Quantidade de imagens a serem geradas. |
|
|
STRING |
Não |
Dimensões da imagem a ser gerada, como |
|
|
BOOL |
Não |
Define se uma marca d'água será adicionada. |
|
|
STRING |
Não |
Caminho do OSS para salvar a saída. Salvar no OSS gera taxas de transferência de dados de saída. |
Exemplo SQL: Combinar duas imagens em uma nova imagem.
SELECT ai_gen('qwen_image_2_pro', json_build_object(
'prompt', 'Maintain consistency with the Q-style Liu Bei image and costume design from the first image. The character stands in the center of the frame holding a "Hologres" scroll. A glowing data magic circle or a blue tech ring appears under his feet. A fine horse gradually appears behind him. The left side keeps traditional Chinese auspicious clouds, Xuan paper texture, and an ancient atmosphere. The right side gradually transitions to a blue futuristic data city with floating large screens, real-time charts, and digital light streams. Liu Bei''s expression shifts from calm to determined, showing a sense of mission to step into the tech world and promote the real-time data warehouse.',
'reference_urls', array['oss://hm-ai-hangzhou/holo_ai_powered_marketing_content/c8403238-3c88-44a6-ac85-2e5447e987b2.png', 'oss://hm-ai-hangzhou/holo_ai_powered_marketing_content/bde5d500-5efc-4d77-9651-6d6bd81906fe-1.png'],
'parameters', json_build_object(
'n', 1,
'size', '1024*1024',
'watermark', FALSE
)
)::TEXT,
to_file('oss://xxxx/holo_ai_powered_marketing_content/xxx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxxx:role/xxxx')
);
Saída de exemplo:

Geração de vídeo
Texto para vídeo
Gera um vídeo com base em uma descrição textual, com áudio de fundo opcional.
Modelos suportados:
Modelos gerenciados:
wan2.7-t2vehappyhorse-1.0-t2v. Para mais informações, consulte Managed models.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição do conteúdo do vídeo. |
|
|
STRING |
Não |
Caminho do OSS do arquivo de áudio de fundo. |
|
|
STRING |
Não |
Dimensões do vídeo, por exemplo, |
|
|
BOOL |
Não |
Define se a extensão do prompt será ativada. |
|
|
INT |
Não |
Duração do vídeo em segundos. |
|
|
STRING |
Não |
Tipo de plano, por exemplo, |
|
|
STRING |
Não |
Caminho do OSS para salvar a saída. Salvar no OSS gera taxas de transferência de dados de saída. |
|
|
STRING |
Não |
Resolução do vídeo, por exemplo, |
|
|
STRING |
Não |
Proporção de aspecto do vídeo, por exemplo, |
Exemplo SQL 1: Gerar um vídeo a partir de uma descrição textual usando o modelo wan2.6-t2v.
-- Text-to-video
select ai_gen('wan26_t2v', json_build_object(
'prompt', 'A Q-style Liu Bei wearing a golden crown, a blue ancient-style robe, and a red belt, gallops in from a distance on a fine horse. He has a determined expression and a natural leadership aura. The horse runs with powerful strides, kicking up light dust, and Liu Bei''s robes flutter in the wind, creating a smooth and natural motion. The background features an ancient city gate, auspicious clouds, and morning light, blending an epic feel with a cute cartoon style. The camera starts with a wide shot to show the whole scene, then quickly pushes in to a medium close-up to enhance the impact of the character''s entrance, making it suitable for a short video opening.',
-- 'audio_url', 'oss://bucket/path/background.mp3',
'parameters', json_build_object(
'size', '1280*720',
'prompt_extend', TRUE,
'duration', 5,
'shot_type', 'multi'
)
)::TEXT,
to_file ('oss://xx/holo_ai_powered_marketing_content/xxx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxx:role/xxx')
);
Resposta de exemplo:
{"request_id":
"output":
{"task_id": ,
"task_status": ,
"submit_time": ,
"scheduled_time": ,
"end_time": ,
"orig_prompt": ,
"video_url": "https://xxxx"},
"usage":{
"duration": 5,
"size": "1280*720",
"input_video_duration": 0,
"output_video_duration": 5,
"video_count": 1,
"SR": 720
}
}
Exemplo SQL 2: Gerar um vídeo a partir de uma descrição textual usando o modelo wan2.7-t2v.
-- Text-to-video using the wan2.7-t2v model
select ai_gen('wan_27_t2v', json_build_object(
'prompt', 'A Q-style Liu Bei, wearing a golden crown, a blue ancient-style robe, and a red belt, gallops in from a distance on a fine horse.',
'parameters', json_build_object(
'resolution', '720P',
'ratio', '16:9',
'prompt_extend', TRUE,
'duration', 5
)
)::TEXT,
to_file ('oss://xx/holo_ai_powered_marketing_content/xxx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxx:role/xxx')
);
O formato da resposta corresponde ao do modelo wan2.6-t2v.
Saída de exemplo:
Imagem para vídeo
Gera um vídeo a partir de uma imagem inicial e uma descrição textual, com áudio de fundo opcional.
Modelos suportados:
Modelos gerenciados:
wan2.7-i2vehappyhorse-1.0-i2v. Para mais informações, consulte Managed models.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição do conteúdo do vídeo. |
|
|
STRING |
Sim |
Caminho do OSS da imagem inicial. |
|
|
STRING |
Não |
Caminho do OSS do arquivo de áudio de fundo. |
|
|
STRING |
Não |
Resolução do vídeo, por exemplo, |
|
|
BOOL |
Não |
Define se a extensão do prompt será ativada. |
|
|
INT |
Não |
Duração do vídeo em segundos. |
|
|
STRING |
Não |
Tipo de plano, por exemplo, |
|
|
STRING |
Não |
Caminho do OSS para salvar a saída. Salvar no OSS gera taxas de transferência de dados de saída. |
|
|
BOOL |
Não |
Define se uma marca d'água será adicionada. Suportado apenas pelo wan2.7-i2v. |
Exemplo SQL 1: Gerar um vídeo a partir de uma imagem inicial usando o modelo wan2.6-i2v.
SELECT ai_gen('wan26_i2v', json_build_object(
'prompt', 'Using this image as the starting frame, generate a 5-second character entrance video. A Q-style Liu Bei slowly rides a horse towards the camera, maintaining his cute and refined Chinese comic style. His blue ancient costume and red belt sway slightly, and he steadily raises a "Hologres" scroll. The horse steps forward naturally, gently lifting its head, with its tail and mane swaying in the breeze. Floating data charts and tech screens around him flicker dynamically with flowing blue light effects. The ground grid extends forward, glowing. The background blends ancient-style pavilions with a futuristic data city. The camera slowly pushes in, creating a brand IP entrance and tech ad atmosphere. The video is stable, smooth, and detailed.',
'img_url', 'oss://xxx/holo_ai_powered_marketing_content/bde5d500-5efc-4d77-9651-6d6bd81906fe-1.png',
--'audio_url', 'oss://bucket/path/background.mp3',
'parameters', json_build_object(
'resolution', '720P',
'prompt_extend', TRUE,
'duration', 5,
'shot_type', 'multi'
)
)::TEXT,
to_file('oss://xxx/holo_ai_powered_marketing_content/39dd0230-5260-48b7-98cd-17c2a58b5052-1.png', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxx:role/xxx'));
Exemplo SQL 2: Gerar um vídeo a partir de uma imagem inicial usando o modelo wan2.7-i2v.
-- Image-to-video using the wan2.7-i2v model
SELECT ai_gen('wan_27_i2v', json_build_object(
'prompt', 'A Q-style Liu Bei slowly rides a horse towards the camera, his blue ancient-style robe and red belt swaying slightly.',
'img_url', 'oss://xxx/holo_ai_powered_marketing_content/xxx.png',
'parameters', json_build_object(
'resolution', '720P',
'prompt_extend', TRUE,
'duration', 5,
'watermark', FALSE
)
)::TEXT,
to_file('oss://xxx/holo_ai_powered_marketing_content/xxx.png', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxx:role/xxx'));
Keyframes para vídeo
Gera um vídeo de transição entre uma imagem inicial e uma imagem final.
Modelo suportado: wan2.2-kf2v-flash. Para mais informações, consulte Image-to-video: first and last frames.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição do conteúdo do vídeo. |
|
|
STRING |
Sim |
Caminho do OSS da imagem inicial. |
|
|
STRING |
Sim |
Caminho do OSS da imagem final. |
|
|
STRING |
Não |
Resolução do vídeo, por exemplo, |
|
|
BOOL |
Não |
Define se a extensão do prompt será ativada. |
|
|
STRING |
Não |
Caminho do OSS, incluindo um nome de arquivo específico, para salvar a saída. Nota
Importante: Salvar a saída no OSS gera taxas de transferência de dados de saída. |
Exemplo SQL: Gerar um vídeo de transição a partir de uma imagem inicial e uma imagem final.
-- Image-to-video, keyframe-to-video
SELECT ai_gen('wan22_kf2v_flash', json_build_object(
'prompt', 'Generate a 5-second smooth transition video, starting with the first image and ending with the second. A Q-style Liu Bei on a horse holds a "Hologres" scroll against a background of tech data panels and a blue grid floor. The horse steps slightly, and the character moves up and down. Then, the tech screens, blue light effects, and city background gradually fade out. The scroll is put away, the horse slowly disappears, and the character lands naturally, transitioning to a standing pose with a short cyan blade in hand. The background changes to simple rice paper and auspicious clouds, finally transitioning smoothly to the state of the second image. Maintain consistency in character costume, crown, Q-style proportions, and art style. Ensure natural movements, a seamless transition, and a stable camera.',
'first_frame_url', 'oss://xxx/holo_ai_powered_marketing_content/xxx',
'last_frame_url', 'oss://xxx/holo_ai_powered_marketing_content/yyyy',
'parameters', json_build_object(
'resolution', '720P',
'prompt_extend', TRUE
-- 'duration', 5
)
)::TEXT,
to_file('oss://hm-ai-xxx/holo_ai_powered_marketing_content/xxx', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxx:role/xxx'));
Referência para vídeo
Gera um vídeo a partir de uma ou mais imagens de referência, com áudio e marcas d'água opcionais.
Modelos suportados:
Modelos gerenciados:
wan2.7-r2vehappyhorse-1.0-r2v. Para mais informações, consulte Managed models.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição do conteúdo do vídeo, que pode incluir referências a caminhos de imagens. |
|
|
STRING[] |
Sim |
Lista de caminhos do OSS para as imagens de referência. |
|
|
STRING |
Não |
Dimensões do vídeo, por exemplo, |
|
|
INT |
Não |
Duração do vídeo em segundos. |
|
|
STRING |
Não |
Resolução do vídeo, por exemplo, |
|
|
STRING |
Não |
Tipo de plano, por exemplo, |
|
|
BOOL |
Não |
Define se o áudio será gerado. Não suportado pelo wan2.7-r2v. |
|
|
BOOL |
Não |
Define se uma marca d'água será adicionada. |
|
|
STRING |
Não |
Caminho do OSS para salvar a saída. Salvar no OSS gera taxas de transferência de dados de saída. |
|
|
STRING |
Não |
Proporção de aspecto do vídeo, por exemplo, |
Exemplo SQL 1: Gerar um vídeo a partir de imagens de referência usando o modelo wan2.6-r2v.
SELECT ai_gen('wan26_r2v', json_build_object(
'prompt', 'Merge oss://bucket/path/golden_man.png and oss://bucket/path/stone_man.png into one scene and generate a video of them shaking hands and smiling.',
'reference_urls', array['oss://bucket/path/golden_man.png', 'oss://bucket/path/stone_man.png'],
'parameters', json_build_object(
'size', '1280*720',
'duration', 5,
'shot_type', 'multi',
'audio', TRUE,
'watermark', FALSE
),
'output_dir', 'oss://bucket/output/'
)::TEXT, to_file('oss://bucket/path/golden_man.png', 'oss-cn-hangzhou-internal.aliyuncs.com', '****role'));
Exemplo SQL 2: Gerar um vídeo a partir de imagens de referência usando o modelo wan2.7-r2v.
-- Reference-to-video using the wan2.7-r2v model
SELECT ai_gen('wan_27_r2v', json_build_object(
'prompt', 'Generate a video of the characters from the reference images shaking hands and smiling.',
'reference_urls', array['oss://bucket/path/golden_man.png', 'oss://bucket/path/stone_man.png'],
'parameters', json_build_object(
'resolution', '720P',
'ratio', '16:9',
'duration', 5,
'watermark', FALSE
),
'output_dir', 'oss://bucket/output/'
)::TEXT, to_file('oss://bucket/path/golden_man.png', 'oss-cn-hangzhou-internal.aliyuncs.com', '****role'));
Edição de vídeo
Edita o estilo ou aplica efeitos especiais a um vídeo de entrada com base em uma descrição textual.
Modelos suportados:
Modelos gerenciados:
wan2.7-videoeditehappyhorse-1.0-video-edit. Para mais informações, consulte Managed models.
Parâmetros do prompt:
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
STRING |
Sim |
Descrição das edições estilísticas ou efeitos especiais a serem aplicados ao vídeo. |
|
|
STRING |
Sim |
Caminho do OSS do vídeo de entrada. |
|
|
STRING |
Não |
Resolução do vídeo, por exemplo, |
|
|
BOOL |
Não |
Define se a extensão do prompt será ativada. |
|
|
BOOL |
Não |
Define se uma marca d'água será adicionada. |
|
|
STRING |
Não |
Caminho do OSS para salvar a saída. Salvar no OSS gera taxas de transferência de dados de saída. |
Exemplo SQL: Editar o estilo de um vídeo.
-- Video editing using the wan2.7-videoedit model
SELECT ai_gen('wan_27_videoedit', json_build_object(
'prompt', 'Convert the video to a cyberpunk style and add neon light effects.',
'video', 'oss://bucket/path/input_video.mp4',
'parameters', json_build_object(
'resolution', '720P',
'prompt_extend', TRUE,
'watermark', FALSE
),
'output_dir', 'oss://bucket/output/'
)::TEXT, to_file('oss://bucket/path/input_video.mp4', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::xxx:role/xxx'));
Cenários e modelos
|
Cenário |
Modelos suportados |
|
Texto para imagem |
|
|
Edição de imagem |
|
|
Fusão de múltiplas imagens |
|
|
Texto para vídeo |
|
|
Imagem para vídeo |
|
|
Keyframes para vídeo |
|
|
Referência para vídeo |
|
|
Edição de vídeo |
|