Dolphin Surf · عوامی Open Skill
Dolphin Surf
Dolphin Surf Digen پر ایک عوامی Open Skill ہے۔ کھولیں اور دیکھیں یہ ورک فلو کیا تخلیق کرتا ہے۔
Sports
5 0 3
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/1856918/2026-09-23/e42pbq3p.png
# Dolphin Surfer
Create a 10-second video of a person surfing on the back of a dolphin that swims very fast, gliding like a surfboard above the waterline on a sunny, calm open sea. The exact person from the uploaded photo (or the described person) must appear in the video, unedited.
## When to use
- The user uploads a photo of a person and wants a video of that person surfing on a fast-swimming dolphin.
- The user describes a person (no photo) and wants the dolphin-surfing video.
- The user wants to change the person, the aspect ratio, the background audio, or redo the video.
## Steps
1. **Get the person.** If the user uploaded a photo of the person, use it directly as the identity source — **do not edit, alter, or restyle the person**; they must appear exactly as in the photo. If no photo was uploaded, ask for one and **do not proceed** until the user uploads a photo or describes the person in enough detail (appearance, hair, build, clothing) to generate them. If the user only describes the person (no photo), first generate a person reference image with `generate_image(model='t2i', prompt=<the user's description of the person>, orientation='portrait', name='Person reference', entity_type='characters')` and use that as the video reference. Confirm the identity source before continuing.
2. **Generate the 10-second video.** Call `generate_video(model='ref2v', input_urls=[<the uploaded photo, or the generated person image if only described>], duration=10, orientation='portrait', resolution='720P', name='Dolphin surf video', entity_type='dolphin_videos')` with a prompt that strictly enforces the scene:
- The exact person from the reference image stands/surfs on the back of a large dolphin, **looking exactly as in the photo — unchanged**.
- The dolphin swims **very fast** through the water, **always with its back up and above the waterline** — it must **never jump, leap, or dive**; it only glides quickly through the water and acts like a surfboard under the person.
- Show the speed through the **headwind** (the person's hair and clothing blowing back) and the **water surface** rushing past.
- A **sunny day in the middle of the open sea**, good weather, bright sunlight.
- The **entire water surface is calm**; the only disturbance is the **V-shaped wake** trailing behind the dolphin.
- **Framing:** open the shot with a **close-up of the person's face** so the viewer can clearly recognize who is standing on the dolphin, then **zoom out within the first 2 seconds** until the dolphin and the person are both fully visible together in frame. After that, keep the **dolphin and the person always fully visible** in frame with one continuous, dynamic shot of the person surfing on the dolphin.
- Photorealistic, cinematic, natural lighting.
- If the user specified a different aspect ratio, use that instead of portrait.
3. **Generate the background audio (ask first).** Ask the user which background audio they want for the videos:
- **A) 80s synthwave** — an **original** instrumental track inspired by the retro "Miami Vice"-style vibe: driving synthesizer melody, warm pads, retro bass, upbeat. **It must be an original composition, not a copy of the actual copyrighted Miami Vice theme.**
- **B) Natural ocean sounds** — only ocean ambience (gentle waves, sea breeze, occasional dolphin clicks/whistles), no music.
- **C) Both mixed together** — the 80s synthwave track **and** the natural ocean sounds layered underneath, mixed together.
- Then generate the chosen audio with:
- For **A**: `generate_music(model='music', prompt="Original retro 80s synthwave instrumental with a driving synthesizer melody, warm pads, retro bass and drums, evoking a sunny Miami seaside vibe. Uptempo, nostalgic, instrumental only, no singing. This must be an original composition, not a copy of any existing song.", duration=10, name='Synthwave track', entity_type='music')`.
- For **B**: `generate_music(model='music', prompt=