Dolphin Surf · عوامی Open Skill

Dolphin Surf

Dolphin Surf Digen پر ایک عوامی Open Skill ہے۔ کھولیں اور دیکھیں یہ ورک فلو کیا تخلیق کرتا ہے۔

@Ragazul

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=