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

# Alibaba: HappyHorse 1.0

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

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

Alibaba HappyHorse 1.0 cria vídeos curtos com som a partir de texto, de uma imagem inicial ou de até nove imagens de referência. Os seus modos de geração produzem MP4 de 3–15 segundos a 24 fps, em 720p ou 1080p. Um perfil 1.0 de edição de vídeo, com nome próprio, revê filmagens fornecidas com referências visuais opcionais e limites próprios.

- [**Ailoot Ultra · Vídeo** `POST /v1/videos` `alibaba/happyhorse-1.0`](https://ailoot.ai/models/pt-pt/alibaba-happyhorse-1-0/#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.0 é uma edição de criação de vídeo com perfis identificados de texto para vídeo, imagem do primeiro fotograma para vídeo e referências para vídeo. O fabricante descreve como foco criativo o movimento fisicamente convincente, a compreensão semântica e a sincronização audiovisual. O seu perfil de referências pode utilizar até nove imagens para orientar sujeitos e cenas. O recurso útil é um clipe curto com som: uma nova cena, uma animação a partir de uma imagem inicial preparada ou um plano de personagem ou produto guiado por referências.

Para uma cena em texto, defina o sujeito, o cenário, a ação e a câmara, com o som pretendido. Numa cena sobre uma mesa, mostre um pequeno veleiro em miniatura a deslocar-se num tabuleiro raso com água enquanto a câmara o acompanha à altura da mesa. A revisão pode depois verificar a forma do barco, a escala da cena, o movimento da água e a relação entre movimento e som. Uma ação focada é mais fácil de avaliar do que uma sequência densa cujo momento essencial não está claramente indicado.

Para geração a partir do primeiro fotograma, utilize uma imagem fixa cujo sujeito e composição já correspondam à abertura pretendida. Descreva o movimento que se segue e o percurso da câmara. O perfil exato de imagem da versão 1.0 do fabricante aceita texto e imagem, enquanto a sua matriz de geração o identifica como imagem do primeiro fotograma para vídeo. Prepare o recorte e os pormenores visíveis do produto ou da personagem antes de gerar o plano. Verifique se esses pormenores continuam reconhecíveis durante o movimento, em vez de avaliar apenas o primeiro fotograma.

Referências para vídeo combina as pessoas, os produtos, o estilo ou o cenário mostrados em fontes visuais numa cena descrita de novo. A página do modelo exato de referências da versão 1.0 documenta até nove imagens. Atribua-lhes papéis nas instruções e descreva como o sujeito deve agir na cena. Uma apresentação de produto pode distinguir a referência do artigo do local envolvente ou do estilo visual. A ênfase do fabricante na estabilidade é um objetivo de revisão: compare o sujeito, as marcas e a posição com as referências efetivas ao longo de todo o clipe.

A família 1.0 tem também um perfil de edição de vídeo, com nome próprio, para alterações de estilo e revisões locais ou mais amplas de filmagens existentes. Esse perfil recebe exatamente um vídeo de origem e entre zero e cinco imagens de referência, em vez da configuração de nove imagens da geração por referências. Indique o que deve mudar e o que deve manter-se, por exemplo, alterar uma peça de roupa conservando a pessoa, o movimento e o fundo. O resultado da edição exige uma comparação com o clipe de origem completo, e não apenas com um fotograma que mostra a substituição pretendida.

O guia exato de edição da versão 1.0 aceita filmagens de origem MP4 ou MOV, recomenda H.264 e permite durações de origem entre três e sessenta segundos. Indica um máximo de 100 MB, um lado menor de pelo menos 360 píxeis, um lado maior até 4 096 píxeis, proporções entre 1:2.5 e 2.5:1 e uma taxa de fotogramas de entrada entre oito e sessenta fps. As edições de saída estão limitadas a três a quinze segundos: as fontes de quinze segundos ou menos conservam a duração, enquanto as mais longas utilizam apenas os primeiros quinze segundos. Corte previamente a passagem pretendida antes de preparar a edição quando uma ação importante ocorre mais adiante na fonte.

As imagens de referência opcionais do perfil de edição têm o seu próprio limite de vinte MB e exigem os formatos JPEG/JPG, PNG ou WEBP, ambas as dimensões de pelo menos 300 píxeis e o mesmo intervalo documentado de proporções. O guia distingue também o tratamento automático de áudio da conservação do áudio original. Prepare a referência que identifica a alteração pretendida e escolha como o som de origem deve relacionar-se com ela. Estes controlos são específicos do perfil de edição da versão 1.0, separados dos modos de geração de novas cenas.

Para os modos de geração da versão 1.0, a matriz exata do fabricante indica 720p ou 1080p, três a quinze segundos, MP4 a 24 fps e áudio. O perfil de edição também produz 720p ou 1080p dentro do seu limite de quinze segundos. O fluxo de tarefas documentado devolve primeiro um identificador de processamento e, após o sucesso, a localização do vídeo concluído; as localizações dos resultados são válidas durante vinte e quatro horas. Conserve o clipe efetivo, a instrução e as referências ao preparar uma montagem de produção e inspecione em conjunto o enquadramento, a duração e o som devolvidos.

HappyHorse 1.1 acrescenta uma opção de geração a 480p e melhorias identificadas no pormenor visual, no movimento e na consistência entre clipes. Essas afirmações de geração posteriores não constituem uma garantia para a revisão fixa do perfil 1.0. A preparação útil da versão 1.0 segue o modo selecionado e os seus materiais de origem efetivos. Reveja a identidade, o contacto, a geometria dos objetos, o texto e o som e torne concreta a correção seguinte. Num clipe editado, verifique também se os pormenores originais importantes fora da alteração pedida continuam adequados à cena pretendida.

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

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

Alibaba /`alibaba/happyhorse-1.0`

### Introdução

Alibaba HappyHorse 1.0 cria vídeos curtos com som a partir de texto, de uma imagem inicial ou de até nove imagens de referência. Os seus modos de geração produzem MP4 de 3–15 segundos a 24 fps, em 720p ou 1080p. Um perfil 1.0 de edição de vídeo, com nome próprio, revê filmagens fornecidas com referências visuais opcionais e limites próprios.

Entradas aceites

Texto · Imagens

Resultados

Vídeo

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · Vídeo** `POST /v1/videos`

Entrada

`text`, `image`

Saída

`video`

Formato de saída

bytes MP4 originais; sem normalização nem transcodificação

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites alibaba/happyhorse-1.0 | Predefinição— |
| Campo`prompt` | Tipo`string` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`duration` | Tipo`integer` | RequisitoObrigatório | Valores e limites 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Mínimo: 1 Máximo: 600 | Predefinição— |
| Campo`resolution` | Tipo`string` | RequisitoOpcional | Valores e limites 720p, 1080p | Predefinição— |
| Campo`aspect_ratio` | Tipo`string` | RequisitoOpcional | Valores e limites 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21 | Predefinição— |
| Campo`generate_audio` | Tipo`boolean` | RequisitoOpcional | Valores e limites false | Predefinição— |
| Campo`frame_images` | Tipo`array` | RequisitoOpcional | Valores e limites Número mínimo de elementos: 1 Número máximo de elementos: 1 Conteúdo de entrada: Matriz de objetos de fotograma. Cada objeto tem type=image\_url, image\_url com url e frame\_type. Utilize um URL HTTPS de imagem e defina frame\_type como first\_frame. Cada função de fotograma aparece, no máximo, uma vez. Chaves exatas: type, image\_url, frame\_type Condições: Estas chaves descrevem cada objeto de fotograma; image\_url contém apenas url. Omita frame\_images num pedido apenas de texto. | Predefinição— |
| Campo`input_references` | Tipo`array` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`size` | Tipo`string` | RequisitoOpcional | Valores e limites 1280x720, 720x1280, 720x720, 960x720, 720x960, 1680x720, 720x1680, 1920x1080, 1080x1920, 1080x1080, 1440x1080, 1080x1440, 2520x1080, 1080x2520 Padrão: ^\[1-9\]\[0-9\]\*x\[1-9\]\[0-9\]\*$ | Predefinição— |
| Campo`seed` | Tipo`integer` | RequisitoOpcional | Valores e limites Mínimo: -9 223 372 036 854 775 808 Máximo: 9 223 372 036 854 775 807 | Predefinição— |
| Campo`callback_url` | Tipo`string` | RequisitoOpcional | Valores e limites Padrão: ^https:// | Predefinição— |
| Campo`session_id` | Tipo`string` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`trace` | Tipo`object` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`user` | Tipo`string` | RequisitoOpcional | Valores e limites | Predefinição— |

Combinações de materiais de entrada

**Texto para vídeo** · Uma instrução escrita. · Obrigatório: model, prompt, duration

`Forneça prompt como texto e duration em segundos inteiros. Escolha uma resolução suportada; adicione uma proporção ou utilize um tamanho enumerado.`

`model`: Tipo: string · alibaba/happyhorse-1.0

`prompt`: Tipo: string · Número máximo de bytes UTF-8: 10 000 · São obrigatórios caracteres que não sejam espaços: Sim

**Imagem para vídeo** · Uma instrução escrita e uma imagem do primeiro fotograma. · Obrigatório: model, prompt, duration, frame\_images

`frame_images é uma matriz. Cada objeto de fotograma tem type, image_url e frame_type; image_url contém url. Defina type como image_url. Utilize first_frame. Cada função de fotograma aparece, no máximo, uma vez. Forneça um URL HTTPS público de imagem para cada fotograma. Escolha uma resolução suportada; adicione uma proporção ou utilize um tamanho enumerado.`

Chaves exatas: type, image\_url, frame\_type

`model`: Tipo: string · alibaba/happyhorse-1.0

`prompt`: Tipo: string · Número máximo de bytes UTF-8: 10 000 · São obrigatórios caracteres que não sejam espaços: Sim

**Reference to video** · Uma instrução escrita e referências de imagem suportadas. · Obrigatório: model, prompt, duration, input\_references

`input_references é uma matriz de objetos. Defina type como image_url e utilize o campo correspondente que contém url. Utilize URLs HTTPS públicos. Omita frame_images para selecionar o modo de referência. Escolha uma resolução suportada; adicione uma proporção ou utilize um tamanho enumerado.`

`model`: Tipo: string · alibaba/happyhorse-1.0

`prompt`: Tipo: string · Número máximo de bytes UTF-8: 10 000 · São obrigatórios caracteres que não sejam espaços: Sim

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, prompt, duration |
| Parâmetro`material_types` | Contratotext, image |
| Parâmetro`additional_properties` | Contratofalse |
| Parâmetro`optional_controls` | Contratoresolution, aspect\_ratio, generate\_audio, frame\_images, input\_references, size, seed, callback\_url, session\_id, trace, user |

Ciclo de vida: `submit_once_poll_original`

`GET /v1/videos/{public_id}`

`GET /v1/videos/{public_id}/content`

### 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.3388** 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.3388** 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 · crie um vídeo

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":3,"model":"alibaba/happyhorse-1.0","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
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

URLs assinados para conteúdo pertencente ao utilizador

- `GET /v1/videos/{public_id}`
- `GET /v1/videos/{public_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.

Conserve todos os resultados reais que pertencem ao utilizador e os respetivos metadados medidos devolvidos.

##### Se for necessário verificar a resposta original

503 result\_pending\_check + id original + X-Should-Retry:false; nunca repita o original

Campos da resposta

| Campo | Tipo | Significado |
| --- | --- | --- |
| Campo`index` | Tipointeger | SignificadoPosição deste vídeo na lista de saídas, com contagem a partir de zero. |
| Campo`content_url` | Tipostring | SignificadoURL HTTPS assinado para transferir este vídeo concluído. |
| Campo`sha256` | Tipostring \| null | SignificadoResumo criptográfico SHA-256 dos bytes do vídeo original; null se não estiver disponível. |
| Campo`size_bytes` | Tipointeger \| null | SignificadoTamanho do ficheiro de vídeo original em bytes; null se não estiver disponível. |
| Campo`duration_ms` | Tipointeger \| null | SignificadoDuração medida do vídeo em milissegundos; null se não estiver disponível. |
| Campo`width` | Tipointeger \| null | SignificadoLargura do vídeo em píxeis; null se não estiver disponível. |
| Campo`height` | Tipointeger \| null | SignificadoAltura do vídeo em píxeis; null se não estiver disponível. |
| Campo`video_codec` | Tipostring \| null | SignificadoIdentificador do codec de vídeo; null se não estiver registado. |
| Campo`has_audio` | Tipoboolean \| null | SignificadoIndica se o vídeo contém uma faixa de áudio; null se não tiver sido medido. |
| Campo`audio_codec` | Tipostring \| null | SignificadoIdentificador do codec de áudio; null quando não está registado qualquer identificador. |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta404 · `not_found_error` | CondiçãoO acesso ao vídeo não está disponível ou este ID de vídeo não foi encontrado. | Passo seguinteVerifique o acesso ao vídeo. Para um vídeo existente, utilize o ID público original e a mesma chave API. |
| Resposta401 · `authentication_error` | CondiçãoA chave API não corresponde à conta autenticada. | Passo seguinteVerifique a sua chave API e o acesso à conta antes de enviar. |
| Resposta400 · `invalid_request_error` | CondiçãoNão foi possível ler o pedido ou o índice de transferência é inválido. | Passo seguinteCorrija o corpo do pedido. Para uma transferência, escolha um índice de saída devolvido pela tarefa original. |
| Resposta422 · `price_unavailable` | CondiçãoNão é possível calcular o preço da configuração de vídeo selecionada. | Passo seguinteEscolha uma configuração de vídeo suportada e preencha as opções obrigatórias antes de enviar um pedido corrigido. |
| Resposta422 · `invalid_request_error` | CondiçãoUma entrada de vídeo ou a tarefa original de continuação é inválida. | Passo seguinteUtilize entradas HTTPS válidas. Para continuação, utilize o ID público do seu vídeo original concluído com a mesma chave API. |
| Resposta402 · `billing_error` | CondiçãoO saldo disponível ou os limites não permitem efetuar uma reserva. | Passo seguinteVerifique o saldo disponível e os limites antes de enviar um novo pedido. |
| Resposta503 · `server_error` | CondiçãoA verificação, o armazenamento ou o acesso ao serviço de vídeo está temporariamente indisponível. | Passo seguinteAguarde a disponibilidade do serviço. Se já tiver um ID de vídeo, consulte essa tarefa original em vez de criar outra geração. |
| Resposta503 · `result_pending_check` | CondiçãoO resultado e a cobrança do vídeo original precisam de verificação. | Passo seguinteConserve o ID de vídeo devolvido e consulte essa tarefa. Não envie um pedido de geração substituto enquanto estiver a ser verificada. |
| Resposta503 · `owned_result_unavailable` | CondiçãoA transferência do vídeo existente está temporariamente indisponível. | Passo seguinteConsulte a mesma tarefa de vídeo mais tarde e transfira a saída existente. Uma nova geração cria uma operação separada. |
| Resposta409 · `video_not_ready` | CondiçãoO conteúdo do vídeo não foi publicado. | Passo seguinteConsulte o estado da tarefa original. Transfira quando indicar completed; se indicar failed, siga o aviso de verificação da cobrança. |

### Aliases

#### Aliases do modelo

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

#### Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

#### IDs de chamada relacionados

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

FAQ · Alibaba: HappyHorse 1.0

Que entradas e resultados estão disponíveis?

`POST /v1/videos` · `alibaba/happyhorse-1.0`: `text`, `image` → `video`

Que campos utiliza o pedido?

`POST /v1/videos` · `alibaba/happyhorse-1.0`: `model`, `prompt`, `duration`, `resolution`, `aspect_ratio`, `generate_audio`, `frame_images`, `input_references`, `size`, `seed`, `callback_url`, `session_id`, `trace`, `user`

Que limites se aplicam?

`POST /v1/videos` · `alibaba/happyhorse-1.0`: `duration.minimum`: `1`; `duration.maximum`: `600`; `frame_images.max_items`: `1`; `frame_images.min_items`: `1`; `seed.minimum`: `-9223372036854775808`; `seed.maximum`: `9223372036854775807`

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.
