Generate
generateMake an image, video clip, instrumental track, voiceover or upscale on emero, billed at cost to the user's emero balance.
Follow the generate skill, step by step: load_skill("generate") first and pass its tag as skill. In short: read the brain (get_emero_brain) → decide kind and scope → art direction for projects → video mode → call with confirm:false to get the plan and cost → show it → bind inputs → compose the prompt from the kind's craft skill → call again with confirm:true → check_generation → deliver. Every call carries brain_note: what the user decided since the last generation, or "".
Rules that always hold: the model is the user's choice, never switched for price or balance. One generation per request. Ids only for inputs, never URLs. Video needs video_mode: text, reference (reference_image_ids / reference_video_ids) or frames (start_frame_id / end_frame_id); references and frames never mix. Joining clips is combine_videos, not this tool.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | upscale: 30 (default) or 60 (2x the price; only when asked). | |
| kind | Yes | What to make. upscale = a sharper / bigger version of an existing clip. | |
| text | No | speech: the exact words to speak. | |
| model | No | Optional: the user's chosen model (exact id from get_settings). Saved to the project. | |
| skill | Yes | The tag from the loaded generate skill, e.g. "generate@140". | |
| sound | No | video, on models that generate audio. Saved to the project. | |
| voice | No | speech voice name. Saved to the project. | |
| prompt | No | image, video, music. Built from the kind's craft skill (Step 7). | |
| confirm | Yes | false: return the plan and cost, spend nothing (generate Step 5). true: run it. | |
| quality | No | image. Saved to the project. | |
| duration | No | video, seconds. Saved to the project. | |
| source_id | No | upscale: the clip to upscale. | |
| brain_note | Yes | Step 11: what the user decided since the last generation, as one short preference (e.g. "Avoid dark, moody lighting"), or "" if nothing. Saved to this project's Second Brain on confirm:true. | |
| project_id | No | Opaque per-chat project id: "p-" plus 6 random letters and digits. Every chat is a new project. Mint one on your first emero call and pass that SAME id on every call in this chat. Never mint a second one in the same chat, even for a new topic, campaign or subject. Only when the user asks to continue an earlier project, reuse its id from get_emero_brain's project list. | |
| resolution | No | video. Saved to the project. | |
| video_mode | No | video only, required. Decided in Step 4 MODE. | |
| brain_quote | No | With a brain_note: the user's exact words it comes from. | |
| aspect_ratio | No | image, video. Saved to the project. | |
| end_frame_id | No | video frames mode: the last frame. | |
| project_name | No | Short human title for the project (2-5 words from the user request, e.g. "Perfume ad campaign"). Pass it on your first generate/ingest_url so the project is not left "Untitled". You may also rename at will later — pass an updated project_name (on a generate/ingest_url, or on set_settings with no other change) whenever the user asks, e.g. "call this project cats". | |
| prompt_source | No | Who wrote the prompt. "authored" (default): you wrote it — it must follow the skill's Mandatory Prompt Shape. "user_verbatim": the user gave you this exact text — sent as-is. "template": you filled a skill's prompt template (e.g. product-sheet-prompts). | |
| start_frame_id | No | video frames mode: the first frame. | |
| upscale_resolution | No | upscale: target resolution. | |
| reference_image_ids | No | image (up to 8) or video reference mode. Ids, never URLs. | |
| reference_video_ids | No | video reference mode: clips to borrow motion or camera from. |