Skip to main content
HappyHorse

HappyHorse - referência da API de reference-to-video

O modelo de reference-to-video do HappyHorse permite fornecer várias imagens de referência e um prompt de texto para gerar um vídeo que combina os elementos das imagens em uma cena baseada no prompt.

Observações de uso

Para garantir chamadas de API bem-sucedidas, use um modelo, uma URL de endpoint e uma chave de API pertencentes à mesma região. Chamadas entre regiões falharão.
  • Selecione um modelo: Confirme a região onde seu modelo está localizado.
  • Selecione uma URL: Escolha a URL de endpoint correspondente. URLs HTTP e DashScope SDK são suportadas.
  • Configure uma chave de API: Selecione uma região, obtenha uma chave de API e, em seguida, configure a chave de API como variável de ambiente.
O código de exemplo neste tópico aplica-se à região Singapore.
O Alibaba Cloud Model Studio lançou domínios específicos por workspace para as regiões China (Beijing) e Singapore. Os novos domínios dedicados oferecem desempenho superior e maior estabilidade para solicitações de inferência. Recomendamos migrar para os novos domínios:
  • China (Beijing): de https://dashscope.aliyuncs.com para https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapore: de https://dashscope-intl.aliyuncs.com para https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId} é o ID do seu workspace, disponível na página Workspace Details no console do Alibaba Cloud Model Studio. O domínio existente permanece totalmente funcional.

Chamadas HTTP

Como as tarefas de reference-to-video consomem tempo (geralmente de 1 a 5 minutos), a API utiliza chamada assíncrona. O fluxo de trabalho consiste em duas etapas principais: "Crie uma tarefa -> Consulte o resultado".

Etapa 1: Crie uma tarefa

  • Singapore
  • US (Virginia)
  • China (Beijing)
  • Germany (Frankfurt)
  • China (Hong Kong)
  • Japan (Tokyo)
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
Substitua {WorkspaceId} pelo seu workspace ID real.
  • Após criar a tarefa, use o task_id retornado para consultar o resultado. O task_id é válido por 24 horas. Não crie tarefas duplicadas. Em vez disso, utilize polling para recuperar o resultado.
  • Para orientações destinadas a iniciantes, consulte Chamar APIs com Postman ou cURL.

Parâmetros da solicitação

  • Reference-to-video (múltiplas imagens)
# The following URL is for the Singapore region. When calling, replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
    curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
        -H 'X-DashScope-Async: enable' \
        -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
        -H 'Content-Type: application/json' \
        -d '{
        "model": "happyhorse-1.1-r2v",
        "input": {
            "prompt": "A woman in a red qipao from [Image 1] is first shown in a profile medium shot, highlighting the tailored cut and S-curve of the dress. The camera then switches to a low-angle shot, capturing her unfolding the fan from [Image 2] while the tassel earrings from [Image 3] sway with her head movement. The scene ends with a close-up of her face, focusing on the charm in her eyes as her fingertips touch the fan, showcasing Eastern elegance from multiple angles.",
            "media": [
                {
                    "type": "reference_image",
                    "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260424/mvzfud/hh-v2v-girl.jpg"
                },
                {
                    "type": "reference_image",
                    "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260424/fvuihk/hh-v2v2-folding-fan.jpg"
                },
                {
                    "type": "reference_image",
                    "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260424/imerii/hh-v2v-earrings.jpg"
                }
            ]
        },
        "parameters": {
            "resolution": "720P",
            "ratio": "16:9",
            "duration": 5
        }
    }'
Cabeçalhos da solicitação
Content-Type string (Obrigatório)O tipo de conteúdo da solicitação. Deve ser application/json.
Authorization string (Obrigatório)Autentica a solicitação com uma chave de API do Model Studio. Exemplo: Bearer sk-xxxx.
X-DashScope-Async string (Obrigatório)Ative o processamento assíncrono. Solicitações HTTP suportam apenas chamadas assíncronas. Deve ser enable.
Se este cabeçalho de solicitação estiver ausente, a API retornará o erro "current user api does not support synchronous calls".
Corpo da solicitação
model string (Obrigatório)Nome do modelo. Para ver os modelos disponíveis, consulte o console do Model Studio.Exemplo: happyhorse-1.1-r2v.
input object (Obrigatório)Entrada do modelo, incluindo as imagens de referência e o prompt de texto.

Propriedades

prompt string (Obrigatório)Descrição dos elementos desejados e do estilo visual para o vídeo gerado.Entrada em qualquer idioma é suportada. O limite é de 5.000 caracteres não chineses ou 2.500 caracteres chineses. Conteúdo excedente será truncado automaticamente.Referência de imagem: No prompt, use "[Image 1]" e "[Image 2]" para referenciar a imagem correspondente no array media. A ordem deve corresponder à ordem no array media. Ao usar uma referência, especifique o objeto na imagem, como "a mulher de qipao vermelho em [Image 1]".media array (Obrigatório)Lista de imagens de referência.Cada elemento no array é um objeto de mídia contendo os campos type e url.
  • A ordem dos elementos neste array define a ordem das referências de assunto no prompt.
  • A primeira reference_image no array corresponde a [Image 1], a segunda a [Image 2], e assim por diante.

Propriedades do elemento

type string (Obrigatório)Tipo de ativo de mídia. Defina como:
  • reference_image: Uma imagem de referência.
Limites de ativos:
  • Número de imagens de referência: 1 a 9.
url string (Obrigatório)URL ou dados codificados em Base64 de uma imagem de referência.Requisitos da imagem:
  • Formatos: JPEG, JPG, PNG, WEBP.
  • Resolução: O lado menor deve ter pelo menos 400 pixels. Recomenda-se uma imagem nítida com resolução de 720P ou superior. Evite imagens muito pequenas, desfocadas ou excessivamente comprimidas, pois isso pode degradar a qualidade da saída.
  • Tamanho máximo do arquivo: 20 MB.
Formatos de entrada suportados:
  1. URL pública:
  2. String de imagem codificada em Base64:
    • Formato de dados: data:{MIME_type};base64,{base64_data}.
    • Exemplo: data:image/png;base64,GDU7MtCZzEbTbmRZ...... (truncado para fins de exibição).

      Formato de dados codificados em Base64

      Formato: data:{MIME_type};base64,{base64_data} .
      • {base64_data}: String codificada em Base64 do arquivo de imagem.
      • {MIME_type}: Tipo de mídia da imagem, que deve corresponder ao formato do arquivo.

      Formato da imagem

      Tipo MIME

      JPEG

      image/jpeg

      JPG

      image/jpeg

      PNG

      image/png

      WEBP

      image/webp

parameters object (Opcional)Parâmetros para geração de vídeo, como resolução, proporção de tela e duração.

Propriedades

resolution string (Opcional)Categoria de resolução do vídeo gerado.Valores válidos:
  • 480P
  • 720P
  • 1080P: Valor padrão.
ratio string (Opcional)Proporção de tela do vídeo gerado.Valores válidos:
  • 16:9: Valor padrão.
  • 9:16
  • 3:4
  • 4:3
  • 4:5
  • 5:4
  • 1:1
  • 9:21
  • 21:9
duration integer (Opcional)Duração do vídeo gerado, em segundos.Intervalo de valores: Número inteiro de 3 a 15.Valor padrão: 5.watermark boolean (Opcional)Define se uma marca d'água será adicionada ao vídeo gerado. A marca d'água fica posicionada no canto inferior direito com o texto fixo "Happy Horse".
  • true: Valor padrão. Adiciona marca d'água.
  • false: Não adiciona marca d'água.
seed integer (Opcional)A semente de número aleatório deve ser um inteiro no intervalo [0, 2147483647].Se não especificada, uma semente aleatória será gerada. Uma semente fixa melhora a reprodutibilidade.Como a geração do modelo é probabilística, a mesma semente não garante resultados idênticos.

Parâmetros da resposta

  • Resposta bem-sucedida
  • Resposta de erro
Salve o task_id para consultar o status e o resultado da tarefa.
{
        "output": {
            "task_status": "PENDING",
            "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
        },
        "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
    }
output objectInformações de saída da tarefa.

Propriedades

task_id stringID da tarefa. Válido para consultas por 24 horas.task_status stringStatus da tarefa.

Valores de enumeração

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: A tarefa não existe ou seu status é desconhecido.
request_id stringIdentificador exclusivo da solicitação para rastreamento e solução de problemas.
code stringCódigo de erro. Retornado apenas para solicitações com falha. Consulte Códigos de erro.
message stringMensagem de erro detalhada. Retornada apenas para solicitações com falha. Consulte Códigos de erro.

Etapa 2: Obter o resultado da tarefa

  • Singapore
  • US (Virginia)
  • China (Beijing)
  • Germany (Frankfurt)
  • China (Hong Kong)
  • Japan (Tokyo)
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
  • Recomendação de polling: A geração de vídeo pode levar vários minutos. Implemente um mecanismo de polling com intervalo de consulta razoável (por exemplo, 15 segundos) para recuperar o resultado.
  • Fluxo de status da tarefa: PENDING (Na fila) → RUNNING (Processando) → SUCCEEDED (Bem-sucedido) ou FAILED (Falhou).
  • Validade do ID da tarefa: O ID da tarefa é válido por 24 horas. Após esse período, não é mais possível consultar o resultado, e a API retorna status de tarefa UNKNOWN.

Parâmetros da solicitação

  • Consultar resultado da tarefa
Substitua {task_id} pelo valor task_id retornado pela chamada de API anterior. O task_id é válido para consultas por 24 horas. Substitua {WorkspaceId} pelo seu workspace ID real.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY"
Cabeçalhos da solicitação
Authorization string (Obrigatório)Autentica a solicitação com uma chave de API do Model Studio. Exemplo: Bearer sk-xxxx.
Parâmetros de caminho da URL
task_id string (Obrigatório)ID da tarefa.

Parâmetros da resposta

  • Tarefa bem-sucedida
  • Tarefa falhou
  • Consulta de tarefa expirada
As URLs de vídeo são válidas apenas por 24 horas e depois são removidas automaticamente. Salve os vídeos gerados prontamente.
{
        "request_id": "35137489-2862-96cb-b6f2-xxxxxx",
        "output": {
            "task_id": "1469cfc3-3004-4d9e-ab10-xxxxxx",
            "task_status": "SUCCEEDED",
            "submit_time": "2026-04-25 15:03:25.848",
            "scheduled_time": "2026-04-25 15:03:25.884",
            "end_time": "2026-04-25 15:04:05.882",
            "orig_prompt": "A woman in a red qipao from [Image 1] is first shown in a profile medium shot, highlighting the dress'\''s tailored cut and S-curve. The camera then switches to a low-angle shot, capturing her unfolding the fan from [Image 2] while the tassel earrings from [Image 3] sway with her head movement. The scene ends with a close-up of her face, focusing on the charm in her eyes as her fingertips touch the fan, showcasing Eastern elegance from multiple angles.",
            "video_url": "https://dashscope-result-intl.oss-ap-southeast-1.aliyuncs.com/xxxx.mp4"
        },
        "usage": {
            "duration": 5,
            "input_video_duration": 0,
            "output_video_duration": 5,
            "video_count": 1,
            "SR": 720,
            "ratio": "16:9"
        }
    }
outputobjectInformações de saída da tarefa.

Propriedades

task_id stringID da tarefa. Válido para consultas por 24 horas.task_status stringStatus da tarefa.

Valores de enumeração

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: A tarefa não existe ou seu status é desconhecido.
Transições de estado durante o polling:
  • PENDING → RUNNING → SUCCEEDED ou FAILED.
  • O status inicial da consulta geralmente é PENDING ou RUNNING.
  • Quando o status muda para SUCCEEDED, a resposta contém a URL do vídeo gerado.
  • Se o status for FAILED, verifique a mensagem de erro e tente executar a tarefa novamente.
submit_time stringHorário em que a tarefa foi enviada. O horário está em UTC+8 e o formato é YYYY-MM-DD HH:mm:ss.SSS.scheduled_time stringHorário em que a tarefa foi executada. O horário está em UTC+8 e o formato é YYYY-MM-DD HH:mm:ss.SSS.end_time stringHorário em que a tarefa foi concluída. O horário está em UTC+8 e o formato é YYYY-MM-DD HH:mm:ss.SSS.video_url stringURL do vídeo gerado. Retornada apenas quando task_status é SUCCEEDED.Válida por 24 horas. O vídeo está no formato MP4 com codificação H.264.orig_prompt stringPrompt de entrada original, correspondente ao parâmetro de solicitação prompt.code stringCódigo de erro. Retornado apenas para solicitações com falha. Consulte Códigos de erro.message stringMensagem de erro detalhada. Retornada apenas para solicitações com falha. Consulte Códigos de erro.
usage objectEstatísticas de uso da tarefa. A cobrança ocorre apenas para tarefas bem-sucedidas.

Propriedades

duration integerDuração faturável do vídeo gerado, em segundos.input_video_duration integerDuração total do vídeo de entrada, em segundos. Este valor é sempre 0 para tarefas de reference-to-video.output_video_duration integerDuração total do vídeo de saída, em segundos.ratio stringProporção de tela do vídeo gerado.SR integerCategoria de resolução do vídeo gerado.video_count integerNúmero de vídeos gerados. Este valor é sempre 1.
request_id stringIdentificador exclusivo da solicitação para rastreamento e solução de problemas.

Códigos de erro

Se a chamada do modelo falhar e retornar uma mensagem de erro, consulte Códigos de erro para obter a solução.
Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Áudio
API em tempo real
Incorporação de Texto
Produção de Modelos