Hornyhero

Adult video and images from four models, behind one API.

A resale API for developers and businesses. Buy credits, hold one key, send one request. The models underneath take four incompatible envelopes; that stays on our side of the wire.

w3-video
  • 480p / 720p / 1080p
  • 2–30s
  • first_frame
  • reference_images
w3-video-pro
  • 1080p / 2k / 4k
  • 2–30s
  • first_frame
  • reference_images
wan-2.7-i2v
  • prompt required
  • image required
  • 720p / 1080p
  • 2–15s
  • negative_prompt
  • audio_url
z-image
  • prompt required
  • 256–1536 px per side
  • no duration
POST /v1/generations
Authorization: Bearer sk_live_...
Content-Type: application/json

{
  "model": "z-image",
  "prompt": "..."
}
Four models, four sets of rules. The gateway keeps the disagreement and gives you one request, one key, one set of error codes and one unit of money.

What you are buying

One request shape
Every model is created through POST /v1/generations with the same body: a model, and the parameters that model declares. A field the model does not support is rejected by name rather than silently dropped, so a wrong request never becomes a confusing bill.
One key
A single bearer token for every model. No per-model credentials, no request signing, no vendor console to keep an account in.
One error taxonomy
A fixed set of string codes — invalid_request, insufficient_credits, rate_limit_exceeded, content_policy_violation, provider_error — with a stable HTTP status each. You branch on the code, not on prose.
One unit of money
Prepaid credits. 1 credit is US$0.001. Video is priced per second by resolution, images are flat per image, and a generation that fails is refunded in full.
Assets we serve
Output is stored and delivered from signed, expiring URLs on this domain, retained for 30 days. Nothing hotlinks anywhere else, and nothing in a response identifies where a model came from.

Models

Four models generate explicit video and images from text, from a still image, or from keyframes and references. z-image costs 40 credits ($0.04) and finishes in about fifteen seconds. Video takes longer, so a create call returns immediately and you poll, or you ask it to hold the connection.

ModelMakesPrice
w3-video video — text-to-video, keyframe, reference 80 credits per second at 1080p; a 5-second clip is 400 credits ($0.40)
w3-video-pro video — text-to-video, keyframe, reference 120 credits per second at 1080p; a 5-second clip is 600 credits ($0.60)
wan-2.7-i2v video — image-to-video 100 credits per second at 1080p; a 5-second clip is 500 credits ($0.50)
z-image image — text-to-image 40 credits ($0.04) per image

Every parameter, range, default and constraint is listed in the documentation, generated from the same definitions the validator enforces.

Running it in production

Retries are safe
Send an Idempotency-Key and a replayed request returns the original generation. It is never dispatched twice and never charged twice.
Sync when it is quick
Add Prefer: wait=30 and the request holds open until the generation is done or the budget runs out, then answers 200 or 202. Without it you get 202 and poll.
Limits you can see
Per-key rate limiting and a per-account cap on generations in flight, both reported as ordinary error codes rather than a dropped connection.
Spend you can read
GET /v1/account returns the credit balance, the dollar equivalent and how many generations are currently running.

For whoever signs off on this

The service generates adult sexual material to order. It is sold to businesses and developers, not to consumers, and using it means accepting the Terms of Service and the Acceptable Use Policy and attesting that you are at least 18.

The Acceptable Use Policy is the short version of what the platform will not produce, and it is enforced rather than posted: prompts that trip content policy are rejected, refunded and counted, and an account that keeps tripping it is suspended for review. Input media is fingerprinted so a takedown can be enforced by hash across every account. Generated assets expire after 30 days.