Passer au contenu

api.horny.studio

Référence API

Queue, fichiers, webhook et codes d'erreur. Les appels vont à https://api.horny.studio/v1. Le catalogue et les prix sont ouverts sur la page API.

Catalogue et prixapi.horny.studio/v1

Début rapide

Première demande

URL de 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 réponse 202 contient request id, status url, response url et annula url.
  2. Statut url du sondage toutes les 2-5 secondes ou passez webhook url.
  3. Sur COMPLETED récupérer le résultat de response url. Les liens de fichier sont valides pendant 24 heures.

Pour les agents d'IA

Sources lisibles par machine

Référence

Méthodes

GET/modelsCatalogue modèle, unités et prix
POST/estimateCoût exact de la demande avant le lancement
POST/chat/completionsModèle texte : messages et max tokens, réponse directe ou flux
POST/queue/{model_id}Demander une génération, 202 réponses avec request id
GET/requests/{id}/statusStatut: IN QUEUE, IN PROGRESS, COMPLET, FAIBLE
GET/requests/{id}/responseRésultat avec liens de fichiers signés
PUT/requests/{id}/cancelAnnuler une requête en attente
POST/filesTélécharger un fichier d'entrée, retourne file id
GET/requests/{id}Demande de carte: état, devis, frais réels

Boucliers Web

Avis d'achèvement

Passez webhook url dans la requête ou le corps. Traitez la notification comme un signal pour récupérer le résultat : confirmez-le via response url avec votre clé.

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"
}

Fichiers

Fichiers d'entrée

POST /v1/ fichiers avec les octets et un Type de Contenu. La réponse contient un fichier id comme chfile ..., qui va dans n'importe quel champ URL de l'entrée.

  • Les liens https publics vers les fichiers d'entrée sont également acceptés
  • Les résultats ne sont pas archivés : un lien signé vit 24 heures, puis 410
  • Un en-tête Idempotency-Key protège contre les duplicata soumis

Erreurs

Codes de réponse

401unauthorizedClé manquante, révoquée ou invalide
402insufficient_balanceLe solde partagé USDT ne peut pas couvrir la soute. En haut du compte studio. Il n'y a pas de portefeuille séparé
402key_limit_reachedLa limite mensuelle de la clé est atteinte
400unknown_model · unpriceableModèle non dans le catalogue ou les entrées ne permettent pas de prix
409idempotency_conflictMême clé d'Idempotency avec un corps différent
409request_not_readyRésultat demandé avant achèvement
429rate_limitedChiffres clés ou limite de concordance dépassés
503capacity_unavailableCapacité temporairement indisponible — réessayer plus tard, rien n'a été facturé
410expiredLe lien signé (24 heures) a expiré