Saltar al contenido

api.horny.studio

Usar como referencia

Las llamadas van a https://api.horny.studio/v1. El catálogo y los precios están abiertos en la página API.

Catálogo y preciosapi.horny.studio/v1

Inicio rápido

Primera solicitud

URL de la base: https://api.horny.studio/v1

curl
curl -X POST https://api.horny.studio/v1/queue/bytedance/seedance-2.5/text-to-video \
  -H "Authorization: Key ch_live_…" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"a quiet street at dusk, handheld","duration_seconds":8,"resolution":"1080p","generate_audio":true}'
  1. La respuesta 202 contiene request_id, status_url, response_url y cancele_url.
  2. Estado de la encuesta_url cada 2-5 segundos o pasar webhook_url.
  3. En COMPLETED obtener el resultado de response_url. Los enlaces de archivos son válidos durante 24 horas.

Para agentes de IA

Fuentes legibles por máquina

Usar como referencia

Métodos

GET/modelsCatálogo de modelos, unidades y precios
POST/estimateCosto exacto de la solicitud antes del lanzamiento
POST/chat/completionsModelo de texto: mensajes y max_tokens, una respuesta directa o una secuencia
POST/queue/{model_id}Coloque una generación, 202 respuesta con request_id
GET/requests/{id}/statusEstado: IN_QUEE, IN_PROGRESS, COMPLETADO, FALSADO
GET/requests/{id}/responseResultado con enlaces de archivos firmados
PUT/requests/{id}/cancelCancelar una solicitud en cola
POST/filesCargar un archivo de entrada, devuelve file_id
GET/requests/{id}Tarjeta de solicitud: estado, presupuesto, cargo real

Hooks web

Notificación de finalización

Pase webhook_url en la consulta o el cuerpo. Trate la notificación como una señal para obtener el resultado: confirmarlo a través de response_url con su clave.

http
POST https://api.horny.studio/v1/queue/bytedance/seedance-2.5/text-to-video?webhook_url=https://example.com/hooks/imhorny

// после завершения на webhook_url придёт POST
{
  "request_id": "req_9f2c…",
  "status": "COMPLETED",
  "response_url": "https://api.horny.studio/v1/requests/req_9f2c…/response"
}

Archivos

Archivos de entrada

POST /v1/files con los bytes y un tipo de contenido. La respuesta contiene un archivo_id como chfile_..., que va a cualquier campo URL de la entrada.

  • También se aceptan enlaces públicos https a archivos de entrada
  • Los resultados no se archivan: un enlace firmado vive 24 horas, luego 410
  • Una cabecera Idempotency-Key protege contra envíos duplicados

Error

Códigos de respuesta

401unauthorizedFalta la clave, revocada o inválida
402insufficient_balanceEl saldo compartido de USDT no puede cubrir la bodega. Rellénalo en la cuenta del estudio. No hay cartera separada
402key_limit_reachedSe alcanza el límite mensual de la llave
400unknown_model · unpriceableModelo no en el catálogo o entradas no permiten precios
409idempotency_conflictLa misma clave de Idempotencia con un cuerpo diferente
409request_not_readyResultado solicitado antes de su finalización
429rate_limitedExcedido el límite de RPM o concurrencia clave
503capacity_unavailableCapacidad temporalmente no disponible — reintentar más tarde, nada fue cargado
410expiredEl enlace firmado (24 horas) ha expirado