Source: https://ailoot.ai/models/pt-pt/alibaba-happyhorse-1-1/
Canonical: https://ailoot.ai/models/pt-pt/alibaba-happyhorse-1-1/
Language: pt-pt

# Alibaba: HappyHorse 1.1

[Markdown](https://ailoot.ai/models/pt-pt/alibaba-happyhorse-1-1/index.md) · [JSON](https://ailoot.ai/models/pt-pt/alibaba-happyhorse-1-1/facts.json)

## [Alibaba: HappyHorse 1.1](https://ailoot.ai/models/pt-pt/alibaba-happyhorse-1-1/)

Alibaba HappyHorse 1.1 gera vídeos curtos com som a partir de instruções em texto, de uma imagem do primeiro fotograma ou de até nove imagens de referência. Os seus perfis do fabricante destacam melhorias no movimento, no pormenor da pele e na consistência das personagens entre clipes. A saída é MP4 de 3–15 segundos a 24 fps, com opções a 480p, 720p ou 1080p.

- [**Ailoot Ultra · Vídeo** `POST /v1/videos` `alibaba/happyhorse-1.1`](https://ailoot.ai/models/pt-pt/alibaba-happyhorse-1-1/#method-0)

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.

Alibaba HappyHorse 1.1 é uma edição de geração de vídeo com perfis de nomes separados para texto para vídeo, imagem do primeiro fotograma para vídeo e referências para vídeo. O fabricante destaca melhorias no pormenor visual, no movimento, na identidade de personagens entre clipes, na estabilidade do texto e na sincronização audiovisual. O resultado é um vídeo curto com som, útil para um plano de produto, uma animação de retrato ou uma pequena cena de personagem. Selecione o modo de entrada a partir do que deve definir a cena: um conceito escrito, uma imagem inicial exata ou várias referências visuais.

Para texto para vídeo, descreva o sujeito, o local, a ação, o enquadramento, o movimento da câmara e a intenção sonora. Numa cena curta de ação, mostre um ciclista a parar junto a um café à beira-rio enquanto a câmara se aproxima suavemente da bicicleta estacionada. Mantenha a ação adequada a um clipe curto e descreva o momento final. O guia atual de texto do fabricante permite até 5 000 caracteres não chineses ou 2 500 caracteres chineses e trunca o texto excedente. Organize as instruções para que o sujeito e a ação essenciais sejam explícitos, em vez de ficarem enterrados em adjetivos repetidos.

Imagem para vídeo a partir do primeiro fotograma utiliza exatamente uma imagem como abertura. Prepare o sujeito, a composição e o recorte pretendido nessa imagem fixa e descreva depois o que deve mover-se ou como a câmara deve mudar. Os formatos de imagem documentados são JPEG/JPG, PNG e WEBP, até 20 MB, com ambas as dimensões de pelo menos 300 píxeis e uma proporção entre 1:2.5 e 2.5:1. A saída aproxima-se do escalão de resolução selecionado, mantendo as proporções da imagem de origem. Um resultado vertical começa, por isso, com uma composição vertical adequada, em vez de uma instrução de proporção sem relação com a imagem.

Referências para vídeo aceita entre uma e nove imagens. A instrução utiliza \[Image 1\], \[Image 2\] e as posições seguintes para as identificar pela ordem de entrada. Indique o papel de cada referência e nomeie o objeto ou a pessoa relevantes, para que uma imagem de cenário não seja confundida com uma fonte de personagem. O guia de referências aceita JPEG/JPG, PNG ou WEBP até 20 MB, exige que o lado menor tenha pelo menos 400 píxeis e recomenda referências nítidas a 720p ou superior. Evite uma referência muito comprimida cujo pormenor identificador já esteja ausente.

Numa cena com várias referências, coloque a pessoa de uma imagem na sala de outra, conservando um casaco ou produto fornecido por uma terceira. Descreva a interação e a câmara nas mesmas instruções. O perfil de referências da versão 1.1 destaca a estabilidade dos sujeitos, do estilo da cena e do movimento cinematográfico; inspecione o resultado efetivo quanto à identidade pretendida, às marcas do produto e à posição espacial. Várias imagens dão mais informação às instruções, mas a revisão continua a ter de verificar que características passaram para o vídeo.

O fabricante apresenta saída a 480p, 720p e 1080p para os modos de geração da versão 1.1, com duração em segundos inteiros entre três e quinze e MP4 a 24 fps. A resposta da API descreve codificação H.264. A geração por texto e por referências oferece formatos que incluem 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 e 21:9; a geração a partir do primeiro fotograma segue a imagem de entrada. Escolha o formato para o destino e deixe espaço para legendas ou elementos de disposição posteriores. Inspecione o enquadramento real do vídeo devolvido no tamanho de apresentação pretendido.

A saída da família do modelo inclui som. Dê à interpretação ou à atmosfera um papel claro nas instruções e reveja qualquer diálogo, efeitos ou faixa de fundo juntamente com a imagem. Mantenha o material falado suficientemente curto para a ação e as pausas, em vez de comprimir um guião longo num único plano curto. Verifique o movimento labial, a atribuição das falas e a redação efetiva quando existe fala. A aceitação de um idioma nas instruções não define, por si só, uma pronúncia garantida ou uma entrada separada de referência de voz.

O fluxo documentado do fabricante é assíncrono: um identificador de tarefa acompanha o processamento e um resultado bem-sucedido fornece a localização do vídeo. A ligação do resultado e as consultas de tarefas estão documentadas com uma validade de vinte e quatro horas. Conserve o clipe concluído, as referências e a instrução como registo de revisão. Os guias documentam também controlos de semente e marca de água. Uma semente fixa pode ajudar na comparação, mas o fabricante indica explicitamente que não garante resultados idênticos, pelo que deve avaliar o recurso devolvido em vez de presumir que uma definição fixa todos os fotogramas.

HappyHorse 1.0 e 1.1 são edições separadas. A tabela de saída da versão 1.1 acrescenta 480p às opções a 720p e 1080p da versão 1.0, e as páginas do modelo 1.1 descrevem melhorias no pormenor, no movimento e na consistência. O perfil de edição de vídeo HappyHorse 1.0, com nome próprio, tem entradas e limites próprios e não é um modo de edição a atribuir silenciosamente à versão 1.1. Reveja todo o clipe 1.1 quanto à identidade, ao movimento, ao enquadramento, ao texto e ao som e faça depois uma correção específica, conservando as partes bem-sucedidas das instruções.

**Ailoot Ultra · Vídeo** `POST /v1/videos` `alibaba/happyhorse-1.1`

[`alibaba/happyhorse-1.1`](https://ailoot.ai/models/pt-pt/#m=alibaba%2Fhappyhorse-1.1&route=Ultra&caller=alibaba%2Fhappyhorse-1.1&fmt=videos)

Alibaba /`alibaba/happyhorse-1.1`

### Introdução

Alibaba HappyHorse 1.1 gera vídeos curtos com som a partir de instruções em texto, de uma imagem do primeiro fotograma ou de até nove imagens de referência. Os seus perfis do fabricante destacam melhorias no movimento, no pormenor da pele e na consistência das personagens entre clipes. A saída é MP4 de 3–15 segundos a 24 fps, com opções a 480p, 720p ou 1080p.

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 |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites alibaba/happyhorse-1.1 | Predefinição— |
| Campo`prompt` | Tipo`string` | RequisitoObrigatório | Valores e limites Comprimento mínimo: 1 Número máximo de bytes: 10 000 Unidade: bytes UTF8 | Predefinição— |
| Campo`duration` | Tipo`integer` | RequisitoObrigatório | Valores e limites Mínimo: 3 Máximo: 15 Unidade: segundos | Predefinição— |
| Campo`resolution` | Tipo`string` | RequisitoObrigatório | Valores e limites 720p | Predefinição— |
| Campo`aspect_ratio` | Tipo`string` | RequisitoObrigatório | Valores e limites 16:9 | 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âmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, prompt, duration, resolution, aspect\_ratio |
| Parâmetro`other_options` | Contratofalse |
| Parâmetro`resolution` | Contrato720p |
| Parâmetro`prompt_max_bytes` | Contrato10000 |
| Parâmetro`duration_integer_range` | Contrato3, 15 |
| Parâmetro`aspect_ratio` | Contrato16:9 |
| Parâmetro`generate_audio` | Contratotem de ser omitido (não false); AAC incluído |
| Parâmetro`material_types` | Contratotext |
| Parâmetro`additional_properties` | Contratofalse |

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`

Crie uma única vez e guarde o ID devolvido.

Consulte periodicamente o estado original; conserve todos os recursos concluídos e a respetiva duração.

### 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 | Unidade de faturação | Condições de faturação | Custo |
| --- | --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | 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çãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoresolution: 1080p | Custo Saída · Preço do vídeo · Estimativa apenas para comparação **$0.2556** por segundo de vídeo |
| ConfiguraçãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoresolution: 720p | Custo Saída · Preço do vídeo · Estimativa apenas para comparação **$0.1976** por segundo de vídeo |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Unidade de faturação— | Condições de faturação— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação **$0.5928** 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 →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

#### 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çãoresolution: 720p | Custo Saída · Preço do vídeo **$0.1976** 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çãoresolution: 1080p | Custo Saída · Preço do vídeo **$0.2556** 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

curl · pedido de criação preservado sem alterações

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/happyhorse-1.1", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 3, "resolution": "720p", "aspect_ratio": "16:9"}')

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
```

### 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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Verificar o estado da tarefa

GET estado da operação original

```bash
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

Guardar cada saída concluída de que é titular

```bash
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.

data\[\] concluído contém todos os URLs assinados para conteúdos pertencentes ao utilizador. Obtenha cada URL devolvido ou utilize o endpoint de conteúdo com index definido como um índice real de saída. Uma tarefa original falhada pode devolver charge\_pending\_check; consulte essa tarefa original em vez de a criar novamente.

##### 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 |
| --- | --- | --- |
| Campo`id` | Tipostring | Significado— |
| Campo`object` | Tipostring | Significado— |
| Campo`model` | Tipostring | Significado— |
| Campo`status` | Tipostring | Significado— |
| Campo`data[]` | Tiposigned content URL | Significado— |
| Campo`charge_pending_check` | Tipoboolean | Significado— |
| Campo`error.code` | Tipostring | Significado— |
| Campo`error.message` | Tipostring | Significado— |
| Campo`operation_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. |
| Campo`error.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. |
| Resposta`server_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** [`alibaba/happyhorse-1.1`](https://ailoot.ai/models/pt-pt/#m=alibaba%2Fhappyhorse-1.1&route=Ultra&caller=alibaba%2Fhappyhorse-1.1&fmt=videos)

#### Aliases dos caminhos dos métodos

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### IDs de chamada relacionados

[`alibaba/happyhorse-1.1`](https://ailoot.ai/models/pt-pt/#m=alibaba%2Fhappyhorse-1.1&route=Ultra&caller=alibaba%2Fhappyhorse-1.1&fmt=videos)

FAQ · Alibaba: HappyHorse 1.1

Que entradas e resultados estão disponíveis?

`POST /v1/videos` · `alibaba/happyhorse-1.1`: `text` → `video`

Que campos utiliza o pedido?

`POST /v1/videos` · `alibaba/happyhorse-1.1`: `model`, `prompt`, `duration`, `resolution`, `aspect_ratio`

Que limites se aplicam?

`POST /v1/videos` · `alibaba/happyhorse-1.1`: `duration.minimum`: `3`; `duration.maximum`: `15`

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](https://ailoot.ai/docs/pt-pt/billing/subscriptions/) · [Ver preços dos modelos](https://ailoot.ai/models/pt-pt/)

## 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](mailto:support@ailoot.ai) · [Oferta e contrato de licença](https://ailoot.ai/legal/offer?lang=pt-pt)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
