modelos

happyhorse-1.0-r2v

Markdown · JSON

happyhorse-1.0-r2v

O HappyHorse 1.0 R2V cria um vídeo utilizando uma imagem de referência e indicações escritas. O pedido à Ailoot inclui duração, resolução e uma escolha de proporções do enquadramento.

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.

Selecione happyhorse-1.0-r2v e forneça prompt com image. O pedido disponibiliza resolução 720P ou 1080P, durações de 3 a 15 segundos e proporções 16:9, 9:16, 1:1, 4:3 ou 3:4. Escolha o formato em função do local onde o vídeo será apresentado antes de descrever a cena.

Explique que elemento principal visível ou tratamento a referência fornece e o que o novo plano deve fazer. Num visual de produto, identifique o objeto, o cenário, o movimento e o enquadramento final. Num momento de personagem, distinga a ação pretendida das indicações para a câmara. Guarde a referência e o prompt juntos, para que o plano concluído possa ser comparado com ambos.

Submeta o plano uma única vez através de /v1/videos, guarde o ID do pedido devolvido e consulte periodicamente essa operação original através de /v1/videos/{request_id}. Guarde todos os vídeos concluídos e a resposta completa antes de comparar a ação, o enquadramento e o estado final com o pedido.

Ailoot Ultra · Video POST /v1/videos happyhorse-1.0-r2v

happyhorse-1.0-r2v

Outro /happyhorse-1.0-r2v

Introdução

O HappyHorse 1.0 R2V cria um vídeo utilizando uma imagem de referência e indicações escritas. O pedido à Ailoot inclui duração, resolução e uma escolha de proporções do enquadramento.

Entradas aceites
Texto · Imagens
Resultados
Vídeo

Disponível no Ailoot · entradas e métodos

Ailoot Ultra · Video POST /v1/videos
Entrada
text, image
Saída
video
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
happyhorse-1.0-r2v
Condições: Utilize exatamente este seletor de encaminhamento do Ailoot.
Predefinição—
CampopromptTipostringRequisitoObrigatórioValores e limites
Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado.
Predefinição—
CampoimageTipostringRequisitoObrigatórioValores e limites
Condições: Forneça uma URL real e acessível da sua imagem. Só é aceite uma lista quando o esquema do parâmetro indicar uma matriz.
Predefinição—
CamporesolutionTipostringRequisitoOpcionalValores e limites
720P, 1080P
Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado.
Predefinição720P
Campoaspect_ratioTipostringRequisitoOpcionalValores e limites
16:9, 9:16, 1:1, 4:3, 3:4
Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado.
Predefinição—
CampodurationTipointegerRequisitoOpcionalValores e limites
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Condições: Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado.
Predefinição5
Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratomodel, prompt, image
ParâmetrooptionalContratoresolution, aspect_ratio, duration
Parâmetromaterial_typesContratotext, image
ParâmetroconditionsContratoUtilize exatamente este seletor de encaminhamento do Ailoot., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado., Forneça uma URL real e acessível da sua imagem. Só é aceite uma lista quando o esquema do parâmetro indicar uma matriz., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado., Utilize o campo documentado para o modelo selecionado e as opções indicadas; omita qualquer valor opcional que não tenha sido especificado.

Aliases do método: /v1/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/media/assets

GET /v1/media/assets/{asset_id}

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çãoTabela de tarifasQuantidade previstaResolução de saídaUnidade de faturaçãoCondições de faturaçãoCusto
ConfiguraçãoTarifas base por tokenTabela de tarifasTarifa baseQuantidade prevista—Resolução de saída—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çãoVídeo de saídaTabela de tarifas—Quantidade prevista—Resolução de saída1080PUnidade de faturaçãopor segundo de vídeoCondições de faturaçãoEstimativa indicativa do vídeo de saída com resolução 1080P. O montante final cobrado é calculado de acordo com a fatura original registada.Custo
Saída · Vídeo de saída · Estimativa apenas para comparação $0.552 por segundo de vídeo

Estimativa meramente indicativa; o montante final cobrado é calculado de acordo com a fatura original registada.

ConfiguraçãoVídeo de saídaTabela de tarifas—Quantidade prevista—Resolução de saída720PUnidade de faturaçãopor segundo de vídeoCondições de faturaçãoEstimativa indicativa do vídeo de saída com resolução 720P. O montante final cobrado é calculado de acordo com a fatura original registada.Custo
Saída · Vídeo de saída · Estimativa apenas para comparação $0.312 por segundo de vídeo

Estimativa meramente indicativa; o montante final cobrado é calculado de acordo com a fatura original registada.

ConfiguraçãoCusto estimado de geraçãoTabela de tarifas—Quantidade previstaestimativa para uma geraçãoResolução de saída—Unidade de faturação—Condições de faturação—Custo
Saída · Custo estimado de geração · Estimativa apenas para comparação $0.312 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 →

Exemplos de pedidos

Ailoot Ultra · Video

curl · crie uma única vez e guarde o resultado completoConsulte a tarefa originalGuarde cada recurso concluído que lhe pertence
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.0-r2v", "prompt": "A cat is walking on grass.", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

Receber e guardar os resultados

Ailoot Ultra · Video

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Guardar todos os resultados concluídos

Guarde cada vídeo concluído ou ficheiro devolvido; obtenha cada URL de recurso efetivamente devolvido.

Conserve a resposta completa e os cabeçalhos, os identificadores originais, todos os resultados reais e todos os campos de utilização/contabilidade. Guarde cada recurso único pertencente ao utilizador e conserve todas as funções que apontam para ele.

Se for necessário verificar a resposta original

Conserve o id público de tarefa ou operação devolvido e todos os cabeçalhos. Consulte apenas a tarefa original; unknown ou result_pending_check não autoriza uma nova criação.

Campos da resposta
CampoTipo
CampoidTipostring
Campopolling_urlTipostring
Campoprovider_task_idTipostring
Campotask_idTipostring
CampostatusTipostring
Campovideo_urlTipostring
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoUm campo obrigatório, o seletor de modelo, o tipo ou a representação da entrada é inválido.Passo seguinteAnalise os detalhes de validação devolvidos antes de preparar um pedido separado.
RespostaCondiçãoO pedido original ou o respetivo resultado é desconhecido ou requer uma verificação.Passo seguinteMantenha os identificadores e os cabeçalhos originais; consulte apenas os registos de estado ou da biblioteca suportados. Não volte a enviar o pedido de criação.

Aliases

Aliases do modelo

Ailoot Ultra happyhorse-1.0-r2v

Aliases dos caminhos dos métodos

/v1/videos/generations

IDs de chamada relacionados

happyhorse-1.0-r2v

FAQ · happyhorse-1.0-r2v
Que entradas e resultados estão disponíveis?

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

Que campos utiliza o pedido?

POST /v1/videos · happyhorse-1.0-r2v: model, prompt, image, resolution, aspect_ratio, duration

Mais detalhes

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 · Ver preços dos modelos

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 · Oferta e contrato de licença