Ai Dog Selfie Video
Playground
Try it on WavespeedAI!AI Dog Selfie Video generates cute dog selfie videos with customizable breed, style, expression, action, and duration. Ready-to-use REST inference API, no coldstarts, affordable pricing.
Features
AI Dog Selfie Video
Your dog deserves more than a photo — give them a whole movie moment. AI Dog Selfie Video takes a picture of your pup and turns it into an animated video portrait, complete with customizable breed, size, style, expression, and action. Watch your dog play, pose, and perform like the star they truly are.
Upload a photo, set the scene, and let the magic roll.
Why You’ll Love It
-
Animated dog portraits Your dog doesn’t just pose — they move. Choose an action and watch them come to life on screen.
-
Fully customizable Control breed look, body size, outfit style, facial expression, and what your dog is actually doing in the video.
-
Multiple dogs Generate a single pup or a whole group scene using the count parameter.
-
Adjustable duration Choose how long your dog’s moment in the spotlight lasts.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Reference photo of your dog for a more personalized result. |
| breed | No | Target breed appearance. Default: random. |
| count | No | Number of dogs to generate. Default: 1. |
| dog_size | No | Size of the dog: any, small, medium, or large. Default: any. |
| style | No | Visual style of the portrait. Default: casual. |
| expression | No | Facial expression of the dog. Default: happy. |
| action | No | What the dog is doing in the video. Default: play. |
| duration | No | Video length in seconds. Default: 5. |
How to Use
- Upload a photo — a clear photo of your dog helps personalize the result.
- Choose a breed — pick a specific breed or leave it on random.
- Set count — one dog or a whole pack.
- Select dog size — any, small, medium, or large.
- Pick a style and expression — dress them up and set their mood.
- Choose an action — decide what your dog is doing in the video.
- Set duration — drag the slider to your preferred clip length.
- Hit Run — your dog’s video is ready in seconds.
Pricing
| Duration | Cost |
|---|---|
| 5s | $0.30 |
| 10s | $0.60 |
| 15s | $0.90 |
Rate: $0.06 per second.
Best Use Cases
- Social media content — Animated dog videos stop the scroll every time. Make yours.
- Pet tributes — Create a moving keepsake of your dog in action.
- Gifts — An animated portrait of a friend’s dog is the most personal gift imaginable.
- Fun experiments — See your tiny chihuahua reimagined as a running husky. Why not?
Pro Tips
- A clear, well-lit front-facing photo of your dog gives the most accurate and personalized animation.
- Try different action values to find the most entertaining result for your dog’s personality.
- No photo? Leave image empty and let the AI dream up a dog entirely from scratch.
- Pair a fun expression with a matching action for the most cohesive and shareable result.
Notes
- All fields are optional — you can run with no inputs at all for a surprise result.
- Ensure image URLs are publicly accessible if using a link rather than a direct upload.
- Please ensure your content complies with WaveSpeed AI’s usage policies.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/ai-dog-selfie-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"breed": "random",
"count": 1,
"dog_size": "any",
"style": "casual",
"expression": "happy",
"action": "play",
"duration": 5
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| image | string | Yes | - | The URL of the input image (optional). | |
| breed | string | No | random | random, golden_retriever, husky, corgi, poodle, labrador, shiba, pomeranian, bulldog, dalmatian, samoyed | Dog breed. Choose from presets or enter a custom breed. |
| count | integer | No | 1 | 1 ~ 5 | Number of videos to generate (1-5). |
| dog_size | string | No | any | any, puppy, adult | Dog age: puppy or adult. |
| style | string | No | casual | casual, studio, outdoor, christmas, beach, cozy | Photo style. |
| expression | string | No | happy | happy, silly, cool, sleeping | Dog expression. |
| action | string | No | play | lick, hug, play, shake_hands | Dog action in the video. |
| duration | integer | No | 5 | 5 ~ 15 | Video duration in seconds (5-15). |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |