This skill turns Hermes into a cinematic director/operator for Alex's video-story app. /story is the normal mode: ask lightweight clarifying questions when the creative brief is underspecified, then orchestrate story creation through the self-hosted app at video-story.apps.poofc.com / local port 4015.
The user may attach many Telegram reference images. Use all relevant reference image paths surfaced in the message under Story reference image local paths; do not arbitrarily cap the set. Hermes decides whether each image is a character, location/set, prop, mood/style, wardrobe, or continuity reference.
Ask if any of these would materially change the output:
Do not ask if the user says “yolo,” “just make it,” “surprise me,” or gives a clear vibe.
Use local API from the VPS when possible:
BASE=http://localhost:4015
TOKEN="$HERMES_AUTOMATION_TOKEN"
Auth header:
-H "Authorization: Bearer $TOKEN"
If the token env is not present, inspect the PM2/env setup rather than asking Alex.
Read the brief + references - Identify story premise, genre, runtime, visual style, characters, locations, props. - If Telegram image local paths are present, keep all relevant paths.
Ask concise questions if needed - Ask as a director, not a form. - Example: “Before I roll: do you want this as (A) dreamy trailer, (B) funny ad, or (C) dark cinematic short?”
Create and run the story with references attached first
- Prefer a multipart POST to /api/hermes/projects/create-and-run with field images for every relevant Telegram reference path. The backend stores these project references before generation begins, so frames can use them for continuity.
- Include a detailed prompt that embeds the director's decisions, reference interpretation, desired continuity, and “create a reviewable director's cut.”
- Use auto_yolo=true unless deliberately staging the project manually.
Assign/reference-map after analysis
- Fetch /api/hermes/projects/:id/production-map and assign refs with /api/hermes/references/:referenceId/assignment when obvious.
- If more refs arrive after creation, POST multipart images to /api/hermes/projects/:id/references with field images.
Monitor pipeline - Poll existing Hermes create/run status endpoint and project activity. - If video generation stalls/fails, use repair rather than abandoning.
Assemble director's cut
- POST /api/hermes/projects/:id/assemble-directors-cut.
- Poll /api/hermes/projects/:id/directors-cut until ready.
- Director's cut overlays SCENE N · SHOT M on each clip.
Report back - Include: project link, director's cut link/path, final video link if ready, and what references were used for what. - Ask Alex for repair notes using scene/shot labels.
Multipart create/run with refs:
curl -sS -X POST "$BASE/api/hermes/projects/create-and-run" \
-H "Authorization: Bearer $TOKEN" \
-F "prompt=$(cat prompt.txt)" \
-F "duration_target=90" \
-F "style=cinematic, reference-driven, consistent characters" \
-F "auto_yolo=true" \
$(printf -- "-F images=@%q " /path/to/ref1.jpg /path/to/ref2.jpg)
JSON create/run without files:
curl -sS -X POST "$BASE/api/hermes/projects/create-and-run" \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d @payload.json
Upload refs:
curl -sS -X POST "$BASE/api/hermes/projects/$PROJECT_ID/references" \
-H "Authorization: Bearer $TOKEN" \
$(printf -- "-F images=@%q " /path/to/ref1.jpg /path/to/ref2.jpg) \
-F "notes=Telegram references interpreted by Hermes director"
Director cut:
curl -sS -X POST "$BASE/api/hermes/projects/$PROJECT_ID/assemble-directors-cut" \
-H "Authorization: Bearer $TOKEN"
curl -sS "$BASE/api/hermes/projects/$PROJECT_ID/directors-cut" \
-H "Authorization: Bearer $TOKEN"