You have an adult character image you like, and you want it to move without the model replacing the scene with a safer interpretation. That is a different question from whether HappyHorse can create an adult scene from a sentence.
HappyHorse 1.1 is unrestricted on SpicyAPI's image-to-video and reference-to-video tasks; text-to-video is filtered. Image-to-video delivered the requested content in three of three runs in each tested adult category, including advanced NSFW imagery and higher-intensity adult scenes. Text-to-video rejected all three higher-intensity adult requests in the corresponding category. Reference-to-video also delivered advanced NSFW imagery, but the test coverage was much smaller.
For an adult creator with an approved opening image, start with image-to-video. Choose reference-to-video when you need to assemble a new composition from separate images. Do not choose text-to-video expecting the same content boundary. All three cost $0.14 per second at 720p or $0.18 per second at 1080p: five seconds costs $0.70 or $0.90.
What the HappyHorse 1.1 NSFW tests actually showed
The results below come from September 25, 2026 integration tests, using three-second clips at 720p.
The category labels keep the differences in the original test set: L1 is suggestive, L2 moderate NSFW imagery, L3 advanced NSFW imagery, and L4 higher-intensity adult scenes. They do not mean every possible scene within a category was tested.
| Tested category | Image-to-video | Reference-to-video | Text-to-video |
|---|---|---|---|
| L1: suggestive | 3 delivered, 0 refused | 1 delivered, 0 refused | 3 delivered, 0 refused |
| L2: moderate NSFW imagery | 3 delivered, 0 refused | Not tested | 3 delivered, 0 refused |
| L3: advanced NSFW imagery | 3 delivered, 0 refused | 3 delivered, 0 refused | 2 delivered, 1 refused |
| L4: higher-intensity adult scenes | 3 delivered, 0 refused | Not tested | 0 delivered, 3 refused |
| L5 class A: extreme adult-category subset | 3 delivered, 0 refused | Not tested | 0 delivered, 2 refused |
The HappyHorse 1.1 test report provides the recorded results by task and content category. The text-to-video L5 class A row contains two requests. Violence-category probes are excluded from this adult-content table.
No softened output was recorded in these rows. For image-to-video, “delivered” means the adult content in the source and request remained in the resulting clip. For text-to-video, a refusal means the requested clip was not delivered; it does not describe a less intense finished video.
The useful difference is visible at L3 and L4. Text generation becomes inconsistent at L3 and fails the L4 sample, while the tested opening-frame route delivers both.
Reference-to-video delivered all three advanced-category requests; use the image-led route for the broader adult-category coverage shown above.

Matched means the requested content was delivered. Image input delivered both selected categories; text input did not deliver the L4 requests. The reference L4 cell is marked “Not tested.”
“Uncensored” does not answer whether the shot is usable
Content acceptance and shot quality are separate decisions. A clip can retain the requested content while changing a face, shirt or pose. Start with a short take and one small movement, then judge identity, clothing and motion before extending it.
Start from the image when the adult character already looks right
Open HappyHorse 1.1 image-to-video. Upload an authorized opening image, add a motion prompt, and select five seconds at 720p. Image-to-video takes one image_url and follows the image's shape; it has no separate aspect_ratio field.
For a vertical adult-character teaser, prepare the image in the vertical crop you actually want. Leave space around the head and the intended hand movement. A tight portrait cannot show a hand reaching into empty space without asking the video model to invent that part of the person and room.
Starting prompt for a seated adult man in a charcoal satin shirt beside a warm lamp:
One continuous five-second medium close-up of the fictional 35-year-old man in the opening image. He glances slowly toward the adult partner already seated beside him, then looks back toward the camera with a small smile. Preserve both faces, the charcoal satin shirt, its neckline and the warm bedside lamp. Keep both people seated and the camera still. Quiet room ambience, no dialogue, no cuts and no added people.
The source image should already contain both adults if both are meant to appear. Asking an opening-frame model to add a partner creates a second job: inventing a person as well as animating the approved person. If your teaser needs only one character, remove the partner and describe a glance toward the camera instead.
HappyHorse accepts integer durations from three to fifteen seconds. Start with five seconds for the glance. A three-second take at 720p costs $0.42; a seven-second take costs $0.98.
Image-to-video offers an optional seed. Keep it fixed while comparing prompt changes if you want to reduce one source of variation, but do not treat it as a guarantee of identical identity or motion. The task has no closing-frame field: if the last expression must match an exact approved image, this route cannot pin that frame with an additional upload.

The controls show five seconds at 1080p; those settings cost $0.90. Select 720p for the $0.70 preview described above; seed does not change the price.
Use references when you want a new scene, not just motion
Suppose you have an adult woman's approved character portrait, a separate opaque outfit reference, and an empty room image. You want her seated beside the window in that room, rather than animating the portrait's original background. This is a job for HappyHorse 1.1 reference-to-video.
The task accepts one to nine ordered reference_image_urls, plus an output aspect ratio. Give each image one clear role. The character image defines face and hair; the outfit image defines garments; the room image defines the setting. A room photo containing another recognizable person introduces a competing identity, so an empty-room reference is easier to explain.
A proposed direction for this arrangement is:
[Image 1] defines the fictional adult woman's face and hairstyle. [Image 2] defines her opaque black satin outfit. [Image 3] defines the room and window. Begin with her already seated beside the window, framed from the waist up. She turns her eyes toward the camera and rests one hand on the chair arm. Preserve the outfit's shape and color. One continuous take, stationary camera, no extra people. Soft evening room ambience.
If the generated person looks right but the starting pose is wrong, adding five more portraits is unlikely to clarify where her hand belongs. Approve the desired scene as a still first, then animate it with image-to-video. If the starting pose can vary and you want to explore compositions, keep the reference task and use fewer, unambiguous images.
What to budget for a short adult-character clip
There is no price premium between the three HappyHorse 1.1 tasks in the current SpicyAPI listing. Duration and resolution decide the generation subtotal.
| Requested length | 720p at $0.14/second | 1080p at $0.18/second |
|---|---|---|
| 3 seconds | $0.42 | $0.54 |
| 5 seconds | $0.70 | $0.90 |
| 10 seconds | $1.40 | $1.80 |
| 15 seconds | $2.10 | $2.70 |
Three completed five-second candidates at 720p total $2.10; ten total $7.00. These are arithmetic examples, not a prediction that three attempts will produce a usable scene. Still creation, editing and any other model tasks are outside those totals.
Moving a five-second attempt from 720p to 1080p adds $0.20. That buys a different resolution tier; it does not repair a changed face or an unclear motion prompt. Solve the shot at the cheaper tier when that is sufficient to judge it, then decide whether another generation at 1080p is worth buying. A new generation is not an upscale of the same exact performance.
The distinction matters for longer scenes, too. Two independent five-second takes have the same listed generation subtotal as one ten-second take at the same resolution. They may be easier to replace separately, but they introduce a cut and do not guarantee continuity between clips. Choose between them according to the edit you want, rather than assuming one form is always better.

A five-second HappyHorse take costs $0.70 at 720p or $0.90 at 1080p. The resolution premium is $0.20 per take across its three listed tasks.
Sound and controls that affect adult creators
HappyHorse returns generated sound, but the current tasks expose no generate_audio switch. Describe the desired ambience in the prompt and listen to the delivered file. If you need a silent loop or an existing voice track, mute or replace the generated audio in your editor. Do not send an invented audio-off parameter.
That also means a pleasant-looking clip is not ready to post until you have heard it. An unexpected line or sound can change the tone of an intimate adult-character scene, even when the picture works.
There is no negative_prompt field on these tasks. State the desired shot plainly in the main prompt. A request for a stationary camera and a small glance is more informative than a long list of unwanted camera behaviors. Image-to-video and reference-to-video expose seed; text-to-video does not.
For the broader request examples and task differences, use the HappyHorse task-selection guide.
Should you use HappyHorse 1.1 for NSFW video?
Choose image-to-video for an approved adult character and reference-to-video to assemble a composition from separate character, outfit and setting images. For a higher-intensity adult scene, prefer the image-led task over text-to-video, whose corresponding requests were refused.






