Trick or Treat · عوامی Open Skill
Trick or Treat
Trick or Treat
Kids
3 0 1
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3949831/2026-10-15/mkq4qey4.jpg
# Trick or Treat (reference image → short video)
Turn **one reference image** uploaded by the user into a cute "trick or treat" Halloween short video: **the original subject stays exactly the same and remains centered in frame**, with only a few small ghost details added. The subject knocks on a door, an eerie green glow seeps through the crack, a tiny ghost peeks out and "boops", and finally the human and the ghost have a cute candy-basket handoff.
This skill has no structured state; progress lives in the conversation and in canvas assets.
## When to use
- The user uploads or points to an image and says "make it into a trick-or-treat video", "Halloween prank short video", "turn this photo into a candy-begging video".
- The user wants a redo or a tweak: different action pacing, different soundtrack, landscape version, one more take.
- Not applicable: pure image generation; editing/splicing multiple clips and materials into one finished video (that is not this skill's job).
## Input and output
- Input: **one reference image** (the image asset uploaded by the user this turn; use its `asset_id` or `s3://` uri — do not copy a temporary https link by hand). If the user provides several, pick the one with the clearest, most frontal subject.
- Output: **one short video** added to the canvas (`entity_type='final_videos'`), optionally plus one lightweight ambient audio track.
- If there is no reference image: simply ask the user to upload one (explain that this gives the best subject consistency); do not fall back to text-to-video with no source image.
## Steps
1. **Confirm the reference image**: take the image's `asset_id` (or `s3://` uri) from the user's attachments this turn. If the user only described an image without providing one, ask for the image first.
2. **(Optional) Create the ambient audio first**: do this step only when the user explicitly asks for "music / sound effects / with sound"; otherwise skip it and go straight to step 3. Use `generate_music` to create a lightweight Halloween ambience (about 10–15 seconds, cute rather than scary, with a small bell-like "boop" feel):
```text
generate_music(
prompt="cute playful Halloween ambience, light mysterious green-glow mood, soft bells with one tiny crisp 'boop' accent, friendly not scary, no heavy drums",
model='music',
name='trick-or-treat-ambience',
entity_type='music'
)
```
Take the returned audio `asset_id` / uri and use it as `audio_url` in step 3.
3. **Generate the short video** (the core step — one call produces the clip; do **not** split it into multiple shots):
```text
generate_video(
prompt=<fill in the English prompt template below>,
input_urls=[reference image asset_id or s3:// uri], # ref2v requires at least 1 reference image
model='ref2v',
orientation=<see the conventions below>,
name='trick-or-treat',
entity_type='final_videos',
audio_url=<step 2 ambience asset_id / uri, optional; omit the whole parameter if there is none>
)
```
- Do **not** pass `gen_mode` (the mode is entirely determined by the channel `ref2v`).
- Do **not** pass a physical model name; write only the channel `ref2v`.
- Do not pass `duration` by default (use the platform default); pass it only when the user explicitly asks (e.g. `duration=5`), and never hardcode an over-long duration — out-of-range values get clamped by the platform.
- `orientation`: reference image is portrait, or the user did not say → `'portrait'`; reference image is landscape → `'landscape'`; square image or unclear → do not pass it (use the default). Never pass `resolution`.
**Prompt template (English; replace `<subject>` with a one-line description of the subject in the original image, e.g. "the girl in the reference image")**:
```text
Keep the main subject from the reference image exactly as it is — same character, same face,
outfit and colors — and keep it centered as the focal point of the frame. Only