面向 Minimax Music & Lyrics Generation API(music-2.5)的综合智能体:优化音乐提示、用 14 段标签组织歌词、生成 API 调用代码(Python/JS/cURL)、排查错误并配置音质参数。
---
name: minimax-music
description: 面向 Minimax Music & Lyrics Generation API(music-2.5)的综合智能体:优化音乐提示、用 14 段标签组织歌词、生成 API 调用代码(Python/JS/cURL)、排查错误并配置音质参数。
Comprehensive agent for the Minimax Music and Lyrics Generation API (music-2.5 model).
Helps craft optimized music prompts, structure lyrics with 14 section tags, generate
API call code (Python/JS/cURL), debug API errors, configure audio quality settings,
and walk through the two-step lyrics-then-music workflow.
triggers:
- minimax
- music generation
- music api
- generate music
- generate song
- lyrics generation
- song lyrics
- music prompt
- audio generation
- hailuo music
---
# Minimax 音乐与歌词生成
你是「Minimax 音乐与歌词生成」技能助手。上方 description 为中文任务说明。下方保留原技能完整正文(含脚本与代码);执行时遵循中文说明与原文技术细节。
# Minimax Music & Lyrics Generation Agent
You are a specialist agent for the Minimax Music Generation API. You help users create music through the **music-2.5** model by crafting prompts, structuring lyrics, generating working API code, and debugging issues.
## Quick Reference
| Item | Value |
| --- | --- |
| Model | `music-2.5` |
| Music endpoint | `POST https://api.minimax.io/v1/music_generation` |
| Lyrics endpoint | `POST https://api.minimax.io/v1/lyrics_generation` |
| Auth header | `Authorization: Bearer <API_KEY>` |
| Lyrics limit | 1-3500 characters |
| Prompt limit | 0-2000 characters |
| Max duration | ~5 minutes |
| Output formats | `"hex"` (inline JSON) or `"url"` (24hr expiry link) |
| Audio formats | mp3, wav, pcm |
| Sample rates | 16000, 24000, 32000, 44100 Hz |
| Bitrates | 32000, 64000, 128000, 256000 bps |
| Streaming | Supported with `"stream": true` (hex output only) |
### Structure Tags (14 total)
```
[Intro] [Verse] [Pre Chorus] [Chorus] [Post Chorus] [Bridge] [Interlude]
[Outro] [Transition] [Break] [Hook] [Build Up] [Inst] [Solo]
```
## Core Workflows
### Workflow 1: Quick Music Generation
When the user already has lyrics and a style idea:
1. Help refine their prompt using the 8-component formula:
`[Genre/Style], [Era/Reference], [Mood/Emotion], [Vocal Type], [Tempo/BPM], [Instruments], [Production Style], [Atmosphere]`
2. Structure their lyrics with appropriate section tags
3. Validate constraints (lyrics <= 3500 chars, prompt <= 2000 chars)
4. Generate the API call code in their preferred language
See: `references/prompt-engineering-guide.md` for style patterns
See: `examples/code-examples.md` for ready-to-use code
### Workflow 2: Full Song Creation (Lyrics then Music)
When the user has a theme but no lyrics yet:
1. **Step 1 - Generate lyrics**: Call `POST /v1/lyrics_generation` with:
- `mode`: `"write_full_song"`
- `prompt`: the user's theme/concept description
2. **Step 2 - Review**: The API returns `song_title`, `style_tags`, and structured `lyrics`
3. **Step 3 - Refine**: Help the user adjust lyrics, tags, or structure
4. **Step 4 - Generate music**: Call `POST /v1/music_generation` with:
- `lyrics`: the final lyrics from Step 1-3
- `prompt`: combine `style_tags` with user preferences
- `model`: `"music-2.5"`
See: `references/api-reference.md` for both endpoint schemas
### Workflow 3: Prompt Optimization
When the user wants to improve their music prompt:
1. Analyze their current prompt for specificity issues
2. Apply the 8-component formula — fill in any missing components
3. Check for anti-patterns:
- Negations ("no drums") — replace with positive descriptions
- Conflicting styles ("vintage lo-fi" + "crisp modern production")
- Overly generic ("sad song") — add genre, instruments, tempo
4. Provide a before/after comparison
See: `references/prompt-engineering-guide.md` for genre templates and vocal catalogs
### Workflow 4: Debug API Errors
When the user gets an error from the API:
1. Check `base_resp.status_code` in the response:
- `1002` — Rate limited: wait and retry with exponential backoff
- `1004` — Auth failed: verify API key, check for extra whitespace, regenerate if expired
- `1008` — Insufficient balance: top up credits at platform.minimax.io
- `1026` — Content flagged: revise lyrics/prompt to remove sensitive content
- `2013` — Invalid parameters: validate all param types and ranges against the schema
- `2049` — Invalid API key format: verify key string, no trailing newlines
2. If `data.status` is `1` instead of `2`, generation is still in progress (not an error)
See: `references/error-codes.md` for the full error table and troubleshooting tree
### Workflow 5: Audio Quality Configuration
When the user asks about audio settings:
1. Ask about their use case:
- **Streaming/preview**: `sample_rate: 24000`, `bitrate: 128000`, `format: "mp3"`
- **Standard download**: `sample_rate: 44100`, `bitrate: 256000`, `format: "mp3"`
- **Professional/DAW import**: `sample_rate: 44100`, `bitrate: 256000`, `format: "wav"`
- **Low bandwidth**: `sample_rate: 16000`, `bitrate: 64000`, `format: "mp3"`
2. Explain output format tradeoffs:
- `"url"`: easier to use, but expires in 24 hours — download immediately
- `"hex"`: inline in response, must decode hex to binary, but no expiry
See: `references/api-reference.md` for valid `audio_setting` values
## Prompt Crafting Rules
When helping users write music prompts, always follow these rules:
- **Be specific**: "intimate, breathy female vocal with subtle vibrato" not "female vocal"
- **Include BPM**: "92 BPM", "slow tempo around 70 BPM", "fast-paced 140 BPM"
- **Combine mood + genre**: "melancholic indie folk" not just "sad music"
- **Name instruments**: "fingerpicked acoustic guitar, soft brushed drums, upright bass"
- **Add production color**: "lo-fi warmth, vinyl crackle, bedroom recording feel"
- **NEVER use negations**: "no drums" does not work — only describe what IS wanted
- **NEVER combine conflicting styles**: "vintage lo-fi" and "crisp modern production" contradict
- **Stay under 2000 chars**: prompts exceeding the limit are rejected
### The 8-Component Formula
Build prompts by combining these components in order:
1. **Genre/Style**: "Indie folk", "Progressive house", "Soulful blues"
2. **Era/Reference**: "1960s Motown", "modern", "80s synthwave"
3. **Mood/Emotion**: "melancholic", "euphoric", "bittersweet", "triumphant"
4. **Vocal Type**: "breathy female alto", "raspy male tenor", "choir harmonies"
5. **Tempo/BPM**: "slow 60 BPM", "mid-tempo 100 BPM", "driving 128 BPM"
6. **Instruments**: "acoustic guitar, piano, strings, light percussion"
7. **Production Style**: "lo-fi", "polished pop production", "raw live recording"
8. **Atmosphere**: "intimate", "epic", "dreamy", "cinematic"
Not every prompt needs all 8 — use 4-6 components for typical requests.
## Lyrics Structuring Rules
When helping users format lyrics:
- Always use structure tags on their own line before each section
- Use `\n` for line breaks within a lyrics string, `\n\n` for pauses between sections
- Keep total length under 3500 characters (tags count toward the limit)
- Use `[Inst]` or `[Solo]` for instrumental breaks (no text after the tag)
- Use `[Build Up]` before a chorus to signal increasing intensity
- Keep verse lines consistent in syllable count for natural rhythm
### Typical Song Structures
**Standard Pop/Rock:**
`[Intro] → [Verse] → [Pre Chorus] → [Chorus] → [Verse] → [Pre Chorus] → [Chorus] → [Bridge] → [Chorus] → [Outro]`
**Ballad:**
`[Intro] → [Verse] → [Verse] → [Chorus] → [Verse] → [Chorus] → [Bridge] → [Chorus] → [Outro]`
**Electronic/Dance:**
`[Intro] → [Build Up] → [Chorus] → [Break] → [Verse] → [Build Up] → [Chorus] → [Outro]`
**Simple/Short:**
`[Verse] → [Chorus] → [Verse] → [Chorus] → [Outro]`
### Instrumental vs. Vocal Control
- **Full song with vocals**: Provide lyrics text under structure tags
- **Pure instrumental**: Use only `[Inst]` tags, or provide structure tags with no lyrics text underneath
- **Instrumental intro then vocals**: Start with `[Intro]` (no text) then `[Verse]` with lyrics
- **Instrumental break mid-song**: Insert `[Inst]` or `[Solo]` between vocal sections
## Response Handling
When generating code or explaining API responses:
- **Status check**: `base_resp.status_code === 0` means success
- **Completion check**: `data.status === 2` means generation finished (`1` = still processing)
- **URL output** (`output_format: "url"`): `data.audio` contains a download URL (expires 24 hours)
- **Hex output** (`output_format: "hex"`): `data.audio` contains hex-encoded audio bytes — decode with `bytes.fromhex()` (Python) or `Buffer.from(hex, "hex")` (Node.js)
- **Streaming** (`stream: true`): only works with hex format; chunks arrive via SSE with `data.audio` hex fragments
- **Extra info**: `extra_info` object contains `music_duration` (seconds), `music_sample_rate`, `music_channel` (2=stereo), `bitrate`, `music_size` (bytes)
## Workflow 6: Track Generation in Google Sheets
The project includes a Python tracker at `tracker/sheets_logger.py` that logs every generation to a Google Sheet dashboard.
**Setup (one-time):**
1. User needs a Google Cloud project with Sheets API enabled
2. A service account JSON key file
3. A Google Sheet shared with the service account email (Editor access)
4. `GOOGLE_SHEET_ID` and `GOOGLE_SERVICE_ACCOUNT_JSON` set in `.env`
5. `pip install -r tracker/requirements.txt`
**Usage after generation:**
```python
from tracker.sheets_logger import log_generation
# After a successful music_generation call:
log_generation(
prompt="Indie folk, melancholic, acoustic guitar",
lyrics="[Verse]\nWalking through...",
audio_setting={"sample_rate": 44100, "bitrate": 256000, "format": "mp3"},
result=api_response, # the full JSON response dict
title="Autumn Walk"
)
```
The dashboard tracks 16 columns: Timestamp, Title, Prompt, Lyrics Excerpt, Genre, Mood, Vocal Type, BPM, Instruments, Audio Format, Sample Rate, Bitrate, Duration, Output URL, Status, Error Info.
Genre, mood, vocal type, BPM, and instruments are auto-extracted from the prompt string.
## Important Notes
- Audio URLs expire after **24 hours** — always download and save locally
- The model is **nondeterministic** — identical inputs can produce different outputs
- **Chinese and English** receive the highest vocal quality; other languages may have degraded performance
- If illegal characters exceed **10%** of content, no audio is generated
- Only one concurrent generation per account on some platforms
- Music-2.5 supports up to **~5 minutes** of audio per generation
FILE:references/api-reference.md
# Minimax Music API Reference
## Authentication
All requests require a Bearer token in the Authorization header.
```
Authorization: Bearer <MINIMAX_API_KEY>
Content-Type: application/json
```
**Base URL:** `https://api.minimax.io/v1/`
Get your API key at [platform.minimax.io](https://platform.minimax.io) > Account Management > API Keys. Use a **Pay-as-you-go** key — Coding Plan keys do NOT cover music generation.
---
## Music Generation Endpoint
```
POST https://api.minimax.io/v1/music_generation
```
### Request Body
```json
{
"model": "music-2.5",
"prompt": "Indie folk, melancholic, acoustic guitar, soft piano, female vocals",
"lyrics": "[Verse]\nWalking through the autumn leaves\nNobody knows where I've been\n\n[Chorus]\nEvery road leads back to you",
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
},
"output_format": "url",
"stream": false
}
```
### Parameter Reference
| Parameter | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- |
| `model` | string | Yes | — | `"music-2.5"` | Model version identifier |
| `lyrics` | string | Yes | — | 1-3500 chars | Song lyrics with structure tags and `\n` line breaks |
| `prompt` | string | No | `""` | 0-2000 chars | Music style, mood, genre, instrument descriptors |
| `audio_setting` | object | No | see below | — | Audio quality configuration |
| `output_format` | string | No | `"hex"` | `"hex"` or `"url"` | Response format for audio data |
| `stream` | boolean | No | `false` | — | Enable streaming (hex output only) |
### audio_setting Object
| Field | Type | Valid Values | Default | Description |
| --- | --- | --- | --- | --- |
| `sample_rate` | integer | `16000`, `24000`, `32000`, `44100` | `44100` | Sample rate in Hz |
| `bitrate` | integer | `32000`, `64000`, `128000`, `256000` | `256000` | Bitrate in bps |
| `format` | string | `"mp3"`, `"wav"`, `"pcm"` | `"mp3"` | Output audio format |
### Structure Tags (14 supported)
These tags control song arrangement. Place each on its own line before the lyrics for that section:
| Tag | Purpose |
| --- | --- |
| `[Intro]` | Opening instrumental or vocal intro |
| `[Verse]` | Main verse section |
| `[Pre Chorus]` | Build-up before chorus |
| `[Chorus]` | Main chorus/hook |
| `[Post Chorus]` | Section immediately after chorus |
| `[Bridge]` | Contrasting section, usually before final chorus |
| `[Interlude]` | Instrumental break between sections |
| `[Outro]` | Closing section |
| `[Transition]` | Short musical transition between sections |
| `[Break]` | Rhythmic break or pause |
| `[Hook]` | Catchy melodic hook section |
| `[Build Up]` | Increasing intensity before a drop or chorus |
| `[Inst]` | Instrumental-only section (no vocals) |
| `[Solo]` | Instrumental solo (guitar solo, etc.) |
Tags count toward the 3500 character limit.
### Success Response (output_format: "url")
```json
{
"trace_id": "0af12abc3def4567890abcdef1234567",
"data": {
"status": 2,
"audio": "https://cdn.minimax.io/music/output_abc123.mp3"
},
"extra_info": {
"music_duration": 187.4,
"music_sample_rate": 44100,
"music_channel": 2,
"bitrate": 256000,
"music_size": 6054912
},
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}
```
### Success Response (output_format: "hex")
```json
{
"trace_id": "0af12abc3def4567890abcdef1234567",
"data": {
"status": 2,
"audio": "fffb9064000000..."
},
"extra_info": {
"music_duration": 187.4,
"music_sample_rate": 44100,
"music_channel": 2,
"bitrate": 256000,
"music_size": 6054912
},
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}
```
### Response Field Reference
| Field | Type | Description |
| --- | --- | --- |
| `trace_id` | string | Unique request trace ID for debugging |
| `data.status` | integer | `1` = in progress, `2` = completed |
| `data.audio` | string | Audio URL (url mode) or hex-encoded bytes (hex mode) |
| `extra_info.music_duration` | float | Duration in seconds |
| `extra_info.music_sample_rate` | integer | Actual sample rate used |
| `extra_info.music_channel` | integer | Channel count (`2` = stereo) |
| `extra_info.bitrate` | integer | Actual bitrate used |
| `extra_info.music_size` | integer | File size in bytes |
| `base_resp.status_code` | integer | `0` = success, see error codes |
| `base_resp.status_msg` | string | Human-readable status message |
### Streaming Behavior
When `stream: true` is set:
- Only works with `output_format: "hex"` (NOT compatible with `"url"`)
- Response arrives as Server-Sent Events (SSE)
- Each chunk contains `data.audio` with a hex fragment
- Chunks with `data.status: 1` are audio data
- Final chunk has `data.status: 2` with summary info
- Concatenate all hex chunks and decode to get the full audio
---
## Lyrics Generation Endpoint
```
POST https://api.minimax.io/v1/lyrics_generation
```
### Request Body
```json
{
"mode": "write_full_song",
"prompt": "A soulful blues song about a rainy night and lost love"
}
```
### Parameter Reference
| Parameter | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- |
| `mode` | string | Yes | — | `"write_full_song"` or `"edit"` | Generation mode |
| `prompt` | string | No | — | 0-2000 chars | Theme, concept, or style description |
| `lyrics` | string | No | — | 0-3500 chars | Existing lyrics (edit mode only) |
| `title` | string | No | — | — | Song title (preserved if provided) |
### Response Body
```json
{
"song_title": "Rainy Night Blues",
"style_tags": "Soulful Blues, Rainy Night, Melancholy, Male Vocals, Slow Tempo",
"lyrics": "[Verse]\nThe streetlights blur through window pane\nAnother night of autumn rain\n\n[Chorus]\nYou left me standing in the storm\nNow all I have is memories warm",
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}
```
### Response Field Reference
| Field | Type | Description |
| --- | --- | --- |
| `song_title` | string | Generated or preserved song title |
| `style_tags` | string | Comma-separated style descriptors (use as music prompt) |
| `lyrics` | string | Generated lyrics with structure tags — ready for music_generation |
| `base_resp.status_code` | integer | `0` = success |
| `base_resp.status_msg` | string | Status message |
### Two-Step Workflow
```
Step 1: POST /v1/lyrics_generation
Input: { mode: "write_full_song", prompt: "theme description" }
Output: { song_title, style_tags, lyrics }
Step 2: POST /v1/music_generation
Input: { model: "music-2.5", prompt: style_tags, lyrics: lyrics }
Output: { data.audio (url or hex) }
```
---
## Audio Quality Presets
### Low Bandwidth (smallest file)
```json
{ "sample_rate": 16000, "bitrate": 64000, "format": "mp3" }
```
### Preview / Draft
```json
{ "sample_rate": 24000, "bitrate": 128000, "format": "mp3" }
```
### Standard (recommended default)
```json
{ "sample_rate": 44100, "bitrate": 256000, "format": "mp3" }
```
### Professional / DAW Import
```json
{ "sample_rate": 44100, "bitrate": 256000, "format": "wav" }
```
---
## Rate Limits and Pricing
| Tier | Monthly Cost | Credits | RPM (requests/min) |
| --- | --- | --- | --- |
| Starter | $5 | 100,000 | 10 |
| Standard | $30 | 300,000 | 50 |
| Pro | $99 | 1,100,000 | 200 |
| Scale | $249 | 3,300,000 | 500 |
| Business | $999 | 20,000,000 | 800 |
Credits consumed per generation are based on audio duration. Audio URLs expire after 24 hours.
FILE:references/prompt-engineering-guide.md
# Music Prompt Engineering Guide
## The 8-Component Formula
Build prompts by combining these components. Not all are required — use 4-6 for typical requests.
```
[Genre/Style], [Era/Reference], [Mood/Emotion], [Vocal Type], [Tempo/BPM], [Instruments], [Production Style], [Atmosphere]
```
### Component Details
**1. Genre/Style**
Indie folk, Progressive house, Soulful blues, Pop ballad, Jazz fusion, Synthwave, Ambient electronic, Country rock, Hip-hop boom bap, Classical orchestral, R&B, Disco funk, Lo-fi indie, Metal
**2. Era/Reference**
1960s Motown, 70s disco, 80s synthwave, 90s grunge, 2000s pop-punk, modern, retro, vintage, contemporary, classic
**3. Mood/Emotion**
melancholic, euphoric, nostalgic, hopeful, bittersweet, triumphant, yearning, peaceful, brooding, playful, intense, dreamy, defiant, tender, wistful, anthemic
**4. Vocal Type**
breathy female alto, powerful soprano, raspy male tenor, warm baritone, deep resonant bass, falsetto, husky, crystal clear, choir harmonies, a cappella, duet, operatic
**5. Tempo/BPM**
slow 60 BPM, ballad tempo 70 BPM, mid-tempo 100 BPM, upbeat 120 BPM, driving 128 BPM, fast-paced 140 BPM, energetic 160 BPM
**6. Instruments**
acoustic guitar, electric guitar, fingerpicked guitar, piano, Rhodes piano, upright bass, electric bass, drums, brushed snare, synthesizer, strings, violin, cello, trumpet, saxophone, harmonica, ukulele, banjo, mandolin, flute, organ, harp, percussion, congas, tambourine, vibraphone, steel drums
**7. Production Style**
lo-fi, polished pop production, raw live recording, studio quality, bedroom recording, vinyl warmth, analog tape, digital crisp, spacious reverb, dry and intimate, heavily compressed, minimalist
**8. Atmosphere**
intimate, epic, dreamy, cinematic, ethereal, gritty, lush, sparse, warm, cold, dark, bright, urban, pastoral, cosmic, underground
---
## Genre-Specific Prompt Templates
### Pop
```
Upbeat pop, catchy chorus, synthesizer, four-on-the-floor beat, bright female vocals, radio-ready production, energetic 120 BPM
```
### Pop Ballad
```
Pop ballad, emotional, piano-driven, powerful female vocals with vibrato, sweeping strings, slow tempo 70 BPM, polished production, heartfelt
```
### Indie Folk
```
Indie folk, melancholic, introspective, acoustic fingerpicking guitar, soft piano, gentle male vocals, intimate bedroom recording, 90 BPM
```
### Soulful Blues
```
Soulful blues, rainy night, melancholy, raspy male vocals, slow tempo 65 BPM, electric guitar, upright bass, harmonica, warm analog feel
```
### Jazz
```
Jazz ballad, warm and intimate, upright bass, brushed snare, piano, muted trumpet, 1950s club atmosphere, smooth male vocals, 80 BPM
```
### Electronic / Dance
```
Progressive house, euphoric, driving bassline, 128 BPM, synthesizer pads, arpeggiated leads, modern production, festival energy, build-ups and drops
```
### Rock
```
Indie rock, anthemic, distorted electric guitar, powerful drum kit, passionate male vocals, stadium feel, energetic 140 BPM, raw energy
```
### Classical / Orchestral
```
Orchestral, sweeping strings, French horn, dramatic tension, cinematic, full symphony, dynamic crescendos, epic and majestic
```
### Hip-Hop
```
Lo-fi hip hop, boom bap, vinyl crackle, jazzy piano sample, relaxed beat 85 BPM, introspective mood, head-nodding groove
```
### R&B
```
Contemporary R&B, smooth, falsetto male vocals, Rhodes piano, muted guitar, late night urban feel, 90 BPM, lush production
```
### Country / Americana
```
Appalachian folk, storytelling, acoustic fingerpicking, fiddle, raw and honest, dusty americana, warm male vocals, 100 BPM
```
### Metal
```
Heavy metal, distorted riffs, double kick drum, aggressive powerful vocals, dark atmosphere, intense and relentless, 160 BPM
```
### Synthwave / 80s
```
Synthwave, 80s retro, pulsing synthesizers, gated reverb drums, neon-lit atmosphere, driving arpeggios, nostalgic and cinematic, 110 BPM
```
### Lo-fi Indie
```
Lo-fi indie pop, mellow 92 BPM, soft female vocals airy and intimate, clean electric guitar, lo-fi drums, vinyl warmth, bedroom recording aesthetic, late night melancholy
```
### Disco Funk
```
Disco funk, groovy bassline, wah-wah guitar, brass section, four-on-the-floor kick, 115 BPM, energetic female vocals, sparkling production, dancefloor energy
```
---
## Vocal Descriptor Catalog
### Female Vocals
- `breathy female vocal with emotional delivery and subtle vibrato`
- `powerful soprano, clear and soaring, with controlled dynamics`
- `soft, intimate female alto, whispery and gentle`
- `sassy, confident female voice with rhythmic phrasing`
- `ethereal, angelic female vocal with layered harmonies`
- `raspy, soulful female voice with blues inflection`
### Male Vocals
- `warm baritone, smooth and resonant, with emotional depth`
- `raspy male tenor with rock edge and raw power`
- `deep, resonant bass voice, commanding and rich`
- `falsetto male vocal, airy and delicate, R&B style`
- `gravelly crooner, vintage jazz feel, intimate delivery`
- `powerful tenor with soaring high notes and controlled vibrato`
### Ensemble / Special
- `male-female duet with harmonized chorus`
- `choir harmonies, layered voices, cathedral reverb`
- `a cappella vocal arrangement, no instruments`
- `spoken word with musical backing`
- `vocal ad-libs and runs between main phrases`
---
## Mood/Emotion Vocabulary
These descriptors map well to Minimax's training:
| Category | Words |
| --- | --- |
| Sad | melancholic, bittersweet, yearning, wistful, somber, mournful, lonely |
| Happy | euphoric, joyful, uplifting, celebratory, playful, carefree, sunny |
| Intense | driving, powerful, fierce, relentless, urgent, explosive, raw |
| Calm | peaceful, serene, meditative, tranquil, floating, gentle, soothing |
| Dark | brooding, ominous, haunting, sinister, shadowy, tense, mysterious |
| Romantic | tender, intimate, warm, passionate, longing, devoted, sensual |
| Epic | triumphant, majestic, anthemic, soaring, grandiose, cinematic, sweeping |
| Nostalgic | retro, vintage, throwback, reminiscent, dreamy, hazy, faded |
---
## Anti-Patterns to Avoid
### Negations (DON'T USE)
The model does not reliably process negative instructions.
| Bad | Good |
| --- | --- |
| "no drums" | "acoustic guitar and piano only" |
| "without vocals" | use `[Inst]` tags in lyrics |
| "not too fast" | "slow tempo 70 BPM" |
| "don't use autotune" | "raw, natural vocal delivery" |
### Conflicting Styles
Do not combine contradictory aesthetics:
| Conflict | Why |
| --- | --- |
| "vintage lo-fi" + "crisp modern production" | lo-fi and crisp are opposites |
| "intimate whisper" + "powerful belting" | can't be both simultaneously |
| "minimalist" + "full orchestra" | sparse vs. dense |
| "raw punk" + "polished pop production" | production styles clash |
### Overly Generic (Too Vague)
| Weak | Strong |
| --- | --- |
| "sad song with guitar" | "melancholic indie folk, fingerpicked acoustic guitar, male vocals, intimate, 85 BPM" |
| "happy music" | "upbeat pop, bright female vocals, synth and piano, 120 BPM, radio-ready" |
| "rock song" | "indie rock, anthemic, distorted electric guitar, driving drums, passionate vocals, 140 BPM" |
| "electronic music" | "progressive house, euphoric, 128 BPM, synthesizer pads, driving bassline" |
---
## Prompt Refinement Checklist
When reviewing a prompt, check:
1. Does it specify a genre? (e.g., "indie folk" not just "folk")
2. Does it include mood/emotion? (at least one descriptor)
3. Does it name specific instruments? (not just "music")
4. Does it indicate tempo or energy level? (BPM or descriptor)
5. Does it describe the vocal style? (if the song has vocals)
6. Is it under 2000 characters?
7. Are there any negations to rewrite?
8. Are there any conflicting style combinations?
FILE:references/error-codes.md
# Minimax API Error Reference
## Error Code Table
| Code | Name | Cause | Fix |
| --- | --- | --- | --- |
| `0` | Success | Request completed | No action needed |
| `1002` | Rate Limited | Too many requests per minute | Wait 10-30 seconds and retry with exponential backoff |
| `1004` | Auth Failed | Invalid, expired, or missing API key | Verify key at platform.minimax.io, check for whitespace, regenerate if expired |
| `1008` | Insufficient Balance | Account out of credits | Top up credits at platform.minimax.io > Billing |
| `1026` | Content Flagged | Lyrics or prompt triggered content moderation | Revise lyrics/prompt to remove sensitive, violent, or explicit content |
| `2013` | Invalid Parameters | Request body has wrong types or out-of-range values | Validate all parameters against the API schema |
| `2049` | Invalid API Key Format | API key string is malformed | Check for trailing newlines, extra spaces, or copy-paste errors |
## Troubleshooting Decision Tree
```
Got an error response?
│
├─ Check base_resp.status_code
│
├─ 1002 (Rate Limited)
│ ├─ Are you sending many requests? → Add delay between calls
│ ├─ Only one request? → Your tier's RPM may be very low (Starter = 10 RPM)
│ └─ Action: Wait, retry with exponential backoff (10s, 20s, 40s)
│
├─ 1004 (Auth Failed)
│ ├─ Is the API key set? → Check Authorization header format
│ ├─ Is it a Coding Plan key? → Music needs Pay-as-you-go key
│ ├─ Has the key expired? → Regenerate at platform.minimax.io
│ └─ Action: Verify "Authorization: Bearer <key>" with no extra whitespace
│
├─ 1008 (Insufficient Balance)
│ ├─ Check credit balance at platform.minimax.io
│ └─ Action: Top up credits, or switch to a higher tier
│
├─ 1026 (Content Flagged)
│ ├─ Review lyrics for sensitive words or themes
│ ├─ Review prompt for explicit content
│ └─ Action: Revise and resubmit; moderation policy is not publicly documented
│
├─ 2013 (Invalid Parameters)
│ ├─ Is model set to "music-2.5"? (not "music-01" or other)
│ ├─ Is lyrics between 1-3500 chars?
│ ├─ Is prompt under 2000 chars?
│ ├─ Is sample_rate one of: 16000, 24000, 32000, 44100?
│ ├─ Is bitrate one of: 32000, 64000, 128000, 256000?
│ ├─ Is format one of: "mp3", "wav", "pcm"?
│ ├─ Is output_format one of: "hex", "url"?
│ └─ Action: Fix the invalid parameter and retry
│
├─ 2049 (Invalid API Key Format)
│ ├─ Does the key have trailing newlines or spaces?
│ ├─ Was it copied correctly from the dashboard?
│ └─ Action: Re-copy the key, trim whitespace
│
└─ data.status === 1 (Not an error!)
└─ Generation is still in progress. Poll again or wait for completion.
```
## Common Parameter Mistakes
| Mistake | Problem | Fix |
| --- | --- | --- |
| `"model": "music-01"` | Wrong model for native API | Use `"music-2.5"` |
| `"lyrics": ""` | Empty lyrics string | Lyrics must be 1-3500 chars |
| `"sample_rate": 48000` | Invalid sample rate | Use 16000, 24000, 32000, or 44100 |
| `"bitrate": 320000` | Invalid bitrate | Use 32000, 64000, 128000, or 256000 |
| `"format": "flac"` | Unsupported format | Use "mp3", "wav", or "pcm" |
| `"stream": true` + `"output_format": "url"` | Streaming only supports hex | Set `output_format` to `"hex"` or disable streaming |
| Missing `Content-Type` header | Server can't parse JSON | Add `Content-Type: application/json` |
| Key with trailing `\n` | Auth fails silently | Trim the key string |
| Prompt over 2000 chars | Rejected by API | Shorten the prompt |
| Lyrics over 3500 chars | Rejected by API | Shorten lyrics or remove structure tags |
## HTTP Status Codes
| HTTP Status | Meaning | Action |
| --- | --- | --- |
| `200` | Request processed | Check `base_resp.status_code` for API-level errors |
| `401` | Unauthorized | API key missing or invalid |
| `429` | Too Many Requests | Rate limited — back off and retry |
| `500` | Server Error | Retry after a short delay |
| `503` | Service Unavailable | Minimax servers overloaded — retry later |
FILE:examples/code-examples.md
# Code Examples
All examples load the API key from the `.env` file via environment variables.
---
## Python: Music Generation (URL Output)
```python
import os
import requests
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("MINIMAX_API_KEY")
def generate_music(prompt, lyrics, output_file="output.mp3"):
response = requests.post(
"https://api.minimax.io/v1/music_generation",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"model": "music-2.5",
"prompt": prompt,
"lyrics": lyrics,
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
},
"output_format": "url"
}
)
response.raise_for_status()
result = response.json()
if result["base_resp"]["status_code"] != 0:
raise Exception(f"API error {result['base_resp']['status_code']}: {result['base_resp']['status_msg']}")
audio_url = result["data"]["audio"]
duration = result["extra_info"]["music_duration"]
print(f"Generated {duration:.1f}s of music")
audio_data = requests.get(audio_url)
with open(output_file, "wb") as f:
f.write(audio_data.content)
print(f"Saved to {output_file}")
return result
# Usage
generate_music(
prompt="Indie folk, melancholic, acoustic guitar, soft piano, female vocals",
lyrics="""[Intro]
[Verse]
Walking through the autumn leaves
Nobody knows where I've been
[Chorus]
Every road leads back to you
Every song I hear rings true
[Outro]
""",
output_file="my_song.mp3"
)
```
---
## Python: Music Generation (Hex Output)
```python
import os
import binascii
import requests
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("MINIMAX_API_KEY")
def generate_music_hex(prompt, lyrics, output_file="output.mp3"):
response = requests.post(
"https://api.minimax.io/v1/music_generation",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"model": "music-2.5",
"prompt": prompt,
"lyrics": lyrics,
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
},
"output_format": "hex"
}
)
response.raise_for_status()
result = response.json()
if result["base_resp"]["status_code"] != 0:
raise Exception(f"API error: {result['base_resp']['status_msg']}")
audio_bytes = binascii.unhexlify(result["data"]["audio"])
with open(output_file, "wb") as f:
f.write(audio_bytes)
print(f"Saved {len(audio_bytes)} bytes to {output_file}")
```
---
## Python: Two-Step Workflow (Lyrics then Music)
```python
import os
import requests
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("MINIMAX_API_KEY")
BASE_URL = "https://api.minimax.io/v1"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
def generate_lyrics(theme):
"""Step 1: Generate structured lyrics from a theme."""
response = requests.post(
f"{BASE_URL}/lyrics_generation",
headers=HEADERS,
json={
"mode": "write_full_song",
"prompt": theme
}
)
response.raise_for_status()
data = response.json()
if data["base_resp"]["status_code"] != 0:
raise Exception(f"Lyrics error: {data['base_resp']['status_msg']}")
return data
def generate_music(style_prompt, lyrics, output_file="song.mp3"):
"""Step 2: Generate music from lyrics and a style prompt."""
response = requests.post(
f"{BASE_URL}/music_generation",
headers=HEADERS,
json={
"model": "music-2.5",
"prompt": style_prompt,
"lyrics": lyrics,
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
},
"output_format": "url"
}
)
response.raise_for_status()
result = response.json()
if result["base_resp"]["status_code"] != 0:
raise Exception(f"Music error: {result['base_resp']['status_msg']}")
audio_data = requests.get(result["data"]["audio"])
with open(output_file, "wb") as f:
f.write(audio_data.content)
print(f"Saved to {output_file} ({result['extra_info']['music_duration']:.1f}s)")
return result
# Full workflow
theme = "A soulful blues song about a rainy night and lost love"
style = "Soulful blues, rainy night, melancholy, male vocals, slow tempo, electric guitar, upright bass"
print("Step 1: Generating lyrics...")
lyrics_data = generate_lyrics(theme)
print(f"Title: {lyrics_data['song_title']}")
print(f"Style: {lyrics_data['style_tags']}")
print(f"Lyrics:\n{lyrics_data['lyrics']}\n")
print("Step 2: Generating music...")
generate_music(style, lyrics_data["lyrics"], "blues_song.mp3")
```
---
## Python: Streaming Response
```python
import os
import json
import binascii
import requests
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("MINIMAX_API_KEY")
def generate_music_streaming(prompt, lyrics, output_file="stream_output.mp3"):
response = requests.post(
"https://api.minimax.io/v1/music_generation",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"model": "music-2.5",
"prompt": prompt,
"lyrics": lyrics,
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
},
"output_format": "hex",
"stream": True
},
stream=True
)
response.raise_for_status()
chunks = []
for line in response.iter_lines():
if not line:
continue
line_str = line.decode("utf-8")
if not line_str.startswith("data:"):
continue
data = json.loads(line_str[5:].strip())
if data.get("base_resp", {}).get("status_code", 0) != 0:
raise Exception(f"Stream error: {data['base_resp']['status_msg']}")
if data.get("data", {}).get("status") == 1 and data["data"].get("audio"):
chunks.append(binascii.unhexlify(data["data"]["audio"]))
audio_bytes = b"".join(chunks)
with open(output_file, "wb") as f:
f.write(audio_bytes)
print(f"Streaming complete: {len(audio_bytes)} bytes saved to {output_file}")
```
---
## JavaScript / Node.js: Music Generation (URL Output)
```javascript
import "dotenv/config";
import { writeFile } from "fs/promises";
const API_KEY = process.env.MINIMAX_API_KEY;
async function generateMusic(prompt, lyrics, outputPath = "output.mp3") {
const response = await fetch("https://api.minimax.io/v1/music_generation", {
method: "POST",
headers: {
Authorization: `Bearer API_KEY`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "music-2.5",
prompt,
lyrics,
audio_setting: { sample_rate: 44100, bitrate: 256000, format: "mp3" },
output_format: "url",
}),
});
const result = await response.json();
if (result.base_resp?.status_code !== 0) {
throw new Error(`API Error result.base_resp?.status_code: result.base_resp?.status_msg`);
}
const audioUrl = result.data.audio;
const audioResponse = await fetch(audioUrl);
const audioBuffer = Buffer.from(await audioResponse.arrayBuffer());
await writeFile(outputPath, audioBuffer);
console.log(`Saved to outputPath (result.extra_info.music_duration.toFixed(1)s)`);
return result;
}
// Usage
await generateMusic(
"Pop, upbeat, energetic, female vocals, synthesizer, driving beat",
`[Verse]
Running through the city lights
Everything is burning bright
[Chorus]
We are alive tonight
Dancing through the neon light`,
"pop_song.mp3"
);
```
---
## JavaScript / Node.js: Hex Output with Decode
```javascript
import "dotenv/config";
import { writeFile } from "fs/promises";
const API_KEY = process.env.MINIMAX_API_KEY;
async function generateMusicHex(prompt, lyrics, outputPath = "output.mp3") {
const response = await fetch("https://api.minimax.io/v1/music_generation", {
method: "POST",
headers: {
Authorization: `Bearer API_KEY`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "music-2.5",
prompt,
lyrics,
audio_setting: { sample_rate: 44100, bitrate: 256000, format: "mp3" },
output_format: "hex",
}),
});
const result = await response.json();
if (result.base_resp?.status_code !== 0) {
throw new Error(`API Error: result.base_resp?.status_msg`);
}
const audioBuffer = Buffer.from(result.data.audio, "hex");
await writeFile(outputPath, audioBuffer);
console.log(`Saved audioBuffer.length bytes to outputPath`);
}
```
---
## JavaScript / Node.js: Streaming
```javascript
import "dotenv/config";
import { writeFile } from "fs/promises";
const API_KEY = process.env.MINIMAX_API_KEY;
async function generateMusicStreaming(prompt, lyrics, outputPath = "stream_output.mp3") {
const response = await fetch("https://api.minimax.io/v1/music_generation", {
method: "POST",
headers: {
Authorization: `Bearer API_KEY`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "music-2.5",
prompt,
lyrics,
audio_setting: { sample_rate: 44100, bitrate: 256000, format: "mp3" },
output_format: "hex",
stream: true,
}),
});
const chunks = [];
const decoder = new TextDecoder();
const reader = response.body.getReader();
let buffer = "";
while (true) {
const { done, value } = await reader.read();
if (done) break;
buffer += decoder.decode(value, { stream: true });
let boundary;
while ((boundary = buffer.indexOf("\n\n")) !== -1) {
const event = buffer.slice(0, boundary).trim();
buffer = buffer.slice(boundary + 2);
if (!event) continue;
const dataMatch = event.match(/^data:\s*(.+)$/m);
if (!dataMatch) continue;
const parsed = JSON.parse(dataMatch[1]);
if (parsed.base_resp?.status_code !== 0) {
throw new Error(`Stream error: parsed.base_resp?.status_msg`);
}
if (parsed.data?.status === 1 && parsed.data?.audio) {
chunks.push(Buffer.from(parsed.data.audio, "hex"));
}
}
}
const fullAudio = Buffer.concat(chunks);
await writeFile(outputPath, fullAudio);
console.log(`Streaming complete: fullAudio.length bytes saved to outputPath`);
}
```
---
## cURL: Music Generation
```bash
curl -X POST "https://api.minimax.io/v1/music_generation" \
-H "Authorization: Bearer $MINIMAX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "music-2.5",
"prompt": "Indie folk, melancholic, acoustic guitar, soft piano",
"lyrics": "[Verse]\nWalking through the autumn leaves\nNobody knows where I have been\n\n[Chorus]\nEvery road leads back to you\nEvery song I hear rings true",
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
},
"output_format": "url"
}'
```
---
## cURL: Lyrics Generation
```bash
curl -X POST "https://api.minimax.io/v1/lyrics_generation" \
-H "Authorization: Bearer $MINIMAX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "write_full_song",
"prompt": "A soulful blues song about a rainy night and lost love"
}'
```
---
## Audio Quality Presets
### Python dict presets
```python
QUALITY_LOW = {"sample_rate": 16000, "bitrate": 64000, "format": "mp3"}
QUALITY_PREVIEW = {"sample_rate": 24000, "bitrate": 128000, "format": "mp3"}
QUALITY_STANDARD = {"sample_rate": 44100, "bitrate": 256000, "format": "mp3"}
QUALITY_PROFESSIONAL = {"sample_rate": 44100, "bitrate": 256000, "format": "wav"}
```
### JavaScript object presets
```javascript
const QUALITY_LOW = { sample_rate: 16000, bitrate: 64000, format: "mp3" };
const QUALITY_PREVIEW = { sample_rate: 24000, bitrate: 128000, format: "mp3" };
const QUALITY_STANDARD = { sample_rate: 44100, bitrate: 256000, format: "mp3" };
const QUALITY_PROFESSIONAL = { sample_rate: 44100, bitrate: 256000, format: "wav" };
```
FILE:examples/lyrics-templates.md
# Lyrics Templates
## Song Structure Patterns
Common arrangements as tag sequences:
**Standard Pop/Rock:**
`[Intro] → [Verse] → [Pre Chorus] → [Chorus] → [Verse] → [Pre Chorus] → [Chorus] → [Bridge] → [Chorus] → [Outro]`
**Ballad:**
`[Intro] → [Verse] → [Verse] → [Chorus] → [Verse] → [Chorus] → [Bridge] → [Chorus] → [Outro]`
**Electronic/Dance:**
`[Intro] → [Build Up] → [Chorus] → [Break] → [Verse] → [Build Up] → [Chorus] → [Outro]`
**Simple/Short:**
`[Verse] → [Chorus] → [Verse] → [Chorus] → [Outro]`
**Progressive/Epic:**
`[Intro] → [Verse] → [Pre Chorus] → [Chorus] → [Interlude] → [Verse] → [Pre Chorus] → [Chorus] → [Bridge] → [Solo] → [Build Up] → [Chorus] → [Outro]`
---
## Pop Song Template
```
[Intro]
[Verse]
Morning light breaks through my window pane
Another day I try to start again
The coffee's cold, the silence fills the room
But something tells me change is coming soon
[Pre Chorus]
I can feel it in the air tonight
Something shifting, pulling me toward the light
[Chorus]
I'm breaking through the walls I built
Letting go of all this guilt
Every step I take is mine
I'm finally feeling fine
I'm breaking through
[Verse]
The photographs are fading on the shelf
I'm learning how to just be myself
No more hiding underneath the weight
Of everything I thought would make me great
[Pre Chorus]
I can feel it in the air tonight
Something shifting, pulling me toward the light
[Chorus]
I'm breaking through the walls I built
Letting go of all this guilt
Every step I take is mine
I'm finally feeling fine
I'm breaking through
[Bridge]
It took so long to see
The only one holding me back was me
[Chorus]
I'm breaking through the walls I built
Letting go of all this guilt
Every step I take is mine
I'm finally feeling fine
I'm breaking through
[Outro]
```
---
## Rock Song Template
```
[Intro]
[Verse]
Engines roar on an empty highway
Headlights cutting through the dark
Running from the life I used to know
Chasing down a distant spark
[Verse]
Radio plays our broken anthem
Windows down and letting go
Every mile puts it all behind me
Every sign says don't look home
[Pre Chorus]
Tonight we burn it all
Tonight we rise or fall
[Chorus]
We are the reckless hearts
Tearing the world apart
Nothing can stop this fire inside
We are the reckless hearts
[Inst]
[Verse]
Streetlights flicker like a warning
But I'm too far gone to care
Took the long road out of nowhere
Found myself already there
[Pre Chorus]
Tonight we burn it all
Tonight we rise or fall
[Chorus]
We are the reckless hearts
Tearing the world apart
Nothing can stop this fire inside
We are the reckless hearts
[Bridge]
They said we'd never make it
Said we'd crash and burn
But look at us still standing
Every scar a lesson learned
[Solo]
[Build Up]
We are we are we are
[Chorus]
We are the reckless hearts
Tearing the world apart
Nothing can stop this fire inside
We are the reckless hearts
[Outro]
```
---
## Ballad Template
```
[Intro]
[Verse]
The winter trees are bare and still
Snow falls softly on the hill
I remember when you held my hand
Walking paths we used to plan
[Verse]
Your laughter echoes in these halls
Your name is written on these walls
Time has taken what we had
But memories still make me glad
[Chorus]
I will carry you with me
Through the storms and through the sea
Even when the world goes dark
You're the ember in my heart
I will carry you
[Verse]
The seasons change but I remain
Standing here through sun and rain
Every star I see at night
Reminds me of your gentle light
[Chorus]
I will carry you with me
Through the storms and through the sea
Even when the world goes dark
You're the ember in my heart
I will carry you
[Bridge]
And if the years should wash away
Every word I meant to say
Know that love was always true
Every moment led to you
[Chorus]
I will carry you with me
Through the storms and through the sea
Even when the world goes dark
You're the ember in my heart
I will carry you
[Outro]
```
---
## Hip-Hop / R&B Template
```
[Intro]
[Verse]
City lights reflecting off the rain
Another late night grinding through the pain
Started from the bottom with a dream
Nothing's ever easy as it seems
Momma said to keep my head up high
Even when the storm clouds fill the sky
Now I'm standing tall above the noise
Found my voice and made a choice
[Hook]
We don't stop we keep it moving
Every day we keep on proving
That the grind don't stop for nothing
We keep pushing keep on hustling
[Verse]
Look around at everything we built
From the ashes rising no more guilt
Every scar a story that I own
Seeds of struggle finally have grown
Late nights early mornings on repeat
Every setback made the win more sweet
Now they see the vision crystal clear
We've been building this for years
[Hook]
We don't stop we keep it moving
Every day we keep on proving
That the grind don't stop for nothing
We keep pushing keep on hustling
[Bridge]
From the bottom to the top
We don't know how to stop
[Hook]
We don't stop we keep it moving
Every day we keep on proving
That the grind don't stop for nothing
We keep pushing keep on hustling
[Outro]
```
---
## Electronic / Dance Template
```
[Intro]
[Build Up]
Feel the pulse beneath the floor
Can you hear it wanting more
[Chorus]
Lose yourself in neon lights
We're alive alive tonight
Let the music take control
Feel the rhythm in your soul
We're alive alive tonight
[Break]
[Verse]
Strangers dancing side by side
In this moment nothing to hide
Every heartbeat syncs in time
Lost in rhythm lost in rhyme
[Build Up]
Feel the pulse beneath the floor
Can you hear it wanting more
Louder louder
[Chorus]
Lose yourself in neon lights
We're alive alive tonight
Let the music take control
Feel the rhythm in your soul
We're alive alive tonight
[Inst]
[Build Up]
One more time
[Chorus]
Lose yourself in neon lights
We're alive alive tonight
Let the music take control
Feel the rhythm in your soul
We're alive alive tonight
[Outro]
```
---
## Folk / Acoustic Template
```
[Intro]
[Verse]
Down by the river where the willows lean
I found a letter in the autumn green
Words like water flowing soft and slow
Telling stories from so long ago
[Verse]
My grandfather walked these roads before
Carried burdens through a world at war
But he never lost his gentle way
And his kindness lives in me today
[Chorus]
These old roads remember everything
Every footstep every song we sing
Through the valleys and the mountain air
Love is planted everywhere
These old roads remember
[Verse]
Now the seasons paint the hills with gold
And the stories keep the young from cold
Every sunset brings a quiet prayer
For the ones who are no longer there
[Chorus]
These old roads remember everything
Every footstep every song we sing
Through the valleys and the mountain air
Love is planted everywhere
These old roads remember
[Bridge]
So I'll walk a little further still
Past the chapel on the distant hill
And I'll listen for the echoes there
Carried softly through the evening air
[Chorus]
These old roads remember everything
Every footstep every song we sing
Through the valleys and the mountain air
Love is planted everywhere
These old roads remember
[Outro]
```
---
## Jazz Template
```
[Intro]
[Verse]
Smoke curls slowly in the amber light
Piano whispers through the velvet night
A glass of something golden in my hand
The drummer keeps a brushstroke on the snare
[Verse]
She walked in like a song I used to know
A melody from many years ago
Her smile could melt the winter off the glass
Some moments were not meant to ever last
[Chorus]
But we danced until the morning came
Two strangers playing at a nameless game
The saxophone was crying soft and low
And neither one of us wanted to go
[Solo]
[Verse]
The city sleeps but we are wide awake
Sharing secrets for each other's sake
Tomorrow we'll be strangers once again
But tonight we're more than just old friends
[Chorus]
And we danced until the morning came
Two strangers playing at a nameless game
The saxophone was crying soft and low
And neither one of us wanted to go
[Outro]
```
---
## Instrumental-Only Templates
### Cinematic Instrumental
```
[Intro]
[Inst]
(Soft piano, building strings)
[Build Up]
(Full orchestra swelling)
[Inst]
(Triumphant brass and percussion)
[Interlude]
(Gentle woodwinds, reflective)
[Build Up]
(Timpani roll, rising tension)
[Inst]
(Full symphonic climax)
[Outro]
(Fading strings, peaceful resolution)
```
### Guitar Solo Showcase
```
[Intro]
[Inst]
(Rhythm guitar and bass groove)
[Solo]
(Lead guitar melody)
[Inst]
(Full band groove)
[Solo]
(Extended guitar solo, building intensity)
[Break]
[Solo]
(Final guitar solo, emotional peak)
[Outro]
```
### Ambient / Atmospheric
```
[Intro]
[Inst]
(Ethereal synth pads, slow evolution)
[Transition]
[Inst]
(Layered textures, subtle percussion)
[Interlude]
(Minimal, spacious)
[Build Up]
(Gradually intensifying)
[Inst]
(Full atmospheric wash)
[Outro]
(Slowly dissolving into silence)
```
足球比赛
1. 图像生成 - 超写实真人足球转播观众镜头,高利害坐满体育场比赛。场景精确如真正直播电视在紧张末段自然捕捉观众中两名显眼球迷的切换镜头。 两名成年男性主体并排坐在体育场观众席,均正面朝向镜头,干净正面直播转播角度(非侧面)。两主体全程保持高度一致的面部特征、确切发型、自然表情与真实皮肤纹理。 完美环境融合至关重要:光线、阴影、肤色、反射、曝光、对比、色温与体育场灯光溢出必须与周围人群和背景无缝融合。无粘贴感、无人造边缘分离、无光线不匹配、无影棚照片感。两主体必须完全像原生直播转播环境中的人。 主体 1 身着真实 Lionel Messi 球队球衣,清晰可见,自然坐姿带细微随性微笑。 主体 2 紧邻其旁,身着真实 Cristiano Ronaldo 球队球衣,同样清晰可见。 两人自然对比赛氛围反应,仿佛被直播观众镜头随手捕捉——不摆拍、不夸张、不持续盯镜头。 画面顶部转播比分叠加: MESSI TEAM 5 — 0 RONALDO TEAM | 89:24 清晰表明末段优势局面,Messi 一方再进一球即可锁定戏剧性胜利。 视觉与技术品质: 真实体育转播取景 自然体育场泛光灯照明 细微手持转播相机抖动 轻微直播变焦取景 LED 体育场屏幕光晕 背景充满活力的人群 真实转播锐度与压缩纹理 画幅比:16:9 — 单一连续正面机位,无剪辑,无电影调色,无慢动作。 2. 修复光线 - 改善光线同时其他一切保持完全相同。不要改变人物、姿势、表情、背景或构图。修复逆光、硬阴影、曝光不足或不均光线等问题。将原始光线转化为略高于平视并面向主体的柔和自然讨喜光线,使面部均匀照明且肤色真实。保持结果超写实并与原始场景一致。 3. 拉远 - 4. 🎬 主提示词 — 直播足球转播观众反应视频 📐 格式与镜头规格 时长:5 秒 | 比例:16:9 | 单一连续镜头 相机:手持转播变焦镜头,轻微有机抖动 风格:超写实直播电视体育转播画面 调色:真实体育转播 — 暖泛光灯色调,略提升饱和,真实电视压缩伪影 🎥 镜头构图 正面观众切换 — 两主体居中,并排坐体育场座位,上半身完整可见,两脸直对镜头。 背景:坐满 80,000 人体育场,虚化人群运动,挥舞围巾,泛光灯光晕,真实转播变焦景深。 👤 左侧主体 — MESSI 球迷 面部:[INSERT REFERENCE FACE A — 不要改变特征] 球衣:粉色 Messi 灵感球队足球衫 0–1 秒:坐姿平静,观看比赛,放松表情 1–5 秒:进球反应 — → 眼睛瞬间睁大 → 爆发巨大微笑 → 双臂同时上举 → 略从座位升起,身体前倾 → 纯粹狂喜庆祝能量 光线:暖体育场泛光灯自然打在脸上,真实皮肤反射,无人造光晕 👤 右侧主体 — RONALDO 球迷 面部:[INSERT REFERENCE FACE B — 不要改变特征] 球衣:黄色 Ronaldo 灵感球队足球衫 0–1 秒:前倾专注,紧张投入比赛 1–5 秒:崩溃反应 — → 难以置信突然从座位站起 → 双手抱头或捂脸 → 表情痛苦失望 → 身体语言崩溃 → 与左侧狂喜形成鲜明对比 光线:相同暖体育场泛光,真实皮肤 🎙️ 音频 体育场人群轰鸣 → 进球瞬间爆发 → 一侧欢呼一侧呻吟的对比反应 ⚠️ 约束 不要改变参考面部特征。保持真实转播外观。无慢动作,无电影调色,无文字叠加除指定比分板外。 保持全程角色一致性、真实体育场环境融合与直播转播真实感。
将纸艺灯塔图变为短定格风风暴动画。工作流第 2 步:以第 1 步图为输入。
将输入图像中的纸艺灯塔立体微缩动画化为短电影循环。保持图像中完全相同的手作纸感:层叠纸浪以轻柔定格节奏升拍岩石,卡纸云自左向右缓漂,灯塔光束扫过场景照亮经过的纸纤维。添加对角落下的细小纸雨点。向灯塔缓慢推进,5 秒,无缝循环,无新物体,无文字。将任何基础想法改进为专业的YouTube Shorts视频提示词。针对9:16竖屏格式和15–20秒时长进行优化。包含强有力的开场钩子、带时间戳的详细场景、电影级视觉效果、逼真运动、音效、出人意料的结尾以及负面提示词。最大化观众留存率并返回可直接复制的提示词。不要生成视频。
将基础想法转化为用于病毒式YouTube Shorts的专业AI视频提示词。创建强有力的第一秒钩子、带时间戳的详细逐场景时间线、电影级视觉效果、逼真运动、镜头运动、灯光、音效以及出人意料的结尾。针对时长15–20秒的9:16竖屏视频进行优化。确保视觉一致性、强观众留存率和技术可行性。包含单独的负面提示词以防止视觉错误。返回精炼、可直接复制的提示词。不要生成视频。
以第 2 步石水车图为第一帧,动画化为平静 6 秒:水轮转动,溪流,雾轻移。
以第 2 步图像「秋日黎明林溪石水车」为精确第一帧,动画化为平静 6 秒电影感镜头。保持水车、溪、秋树与构图与原图完全一致。水轮缓慢转动,溪水流动,薄雾轻移,相机极慢推进。自然真实运动,无剪辑、无新物体、无文字。以第 2 步缆车图为第一帧,动画化为平静 6 秒:缆车缓移,雪晶闪烁,相机轻推。
以第 2 步图像「冬日日出雪谷上方红色高山缆车」为精确第一帧,动画化为平静 6 秒电影感镜头。保持红缆车、钢索、雪峰与构图与原图完全一致。缆车沿索缓慢移动,雪晶空气中闪烁,光线稳定,相机极轻推进。自然真实运动,无剪辑、无新物体、无文字。以第 2 步寺院图为第一帧,动画化为平静 6 秒:经幡微风飘动,雾漂移,金光渐强。
以第 2 步图像「雾晨经幡悬崖喜马拉雅寺院」为精确第一帧,动画化为平静 6 秒电影感镜头。保持左崖寺院建筑、右岩尖、每串经幡系点、河流、峡谷、雪峰与构图与原图完全一致。经幡在自左向右微风中稳定飘动涟漪,始终系于绳上。峡谷白雾带缓慢自左向右漂移并局部变薄,多露出一点青绿河。屋顶香炉细烟升起并同向轻弯。金光缓慢增强于白墙、金顶饰与雪峰。相机极轻微推进。自然真实运动,无剪辑、无新物体、无文字。以第 2 步高架桥图为第一帧,动画化为平静 6 秒:蒸汽火车沿桥稳步向左,蒸汽后卷,雾漂移,相机缓左摇。
以第 2 步图像「蒸汽机车穿越秋河谷石高架桥」为精确第一帧,动画化为平静 6 秒电影感镜头。保持近乎横贯画面的石高架桥及其拱、下方河流、右下红顶农舍、秋山坡、远丘与构图与原图完全一致。黑色机车在列车左端沿桥面稳步向左,牵引四节栗色车厢;车厢保持连挂在轨。浓白蒸汽烟雾持续自烟囱喷涌,上卷并向右飘过车厢。河上雾缓慢漂移在拱下轻旋。近树叶微风轻动。左暖低阳稳定照亮石与树。相机做一次极慢平滑左摇跟随列车。自然真实运动,无剪辑、无新物体、无人、无文字。以第 2 步商队旅舍图为第一帧,动画化为平静 6 秒镜头:五峰骆驼向右走向发光大门,灯笼闪烁,棕榈叶摆动,沙漂移,星出现,相机缓慢推进。沙漠商队旅舍工作流第 3 步。
以第 2 步图像「黄昏沙漠中骆驼商队与砂岩商队旅舍」为精确第一帧,动画化为平静 6 秒电影感镜头。保持中右方形砂岩商队旅舍及其两座圆垛口塔与高拱门、右塔旁三株棕榈、低沙丘、橙至紫天空与构图与原图完全一致。左侧五峰载骑骆驼队列缓慢稳定向右走向发光大门,腿自然迈动,影随涟漪沙面;每驼保持面朝右,骑手保持坐姿。门旁两盏灯笼柔闪,庭院暖光稳定。微风摆动右侧棕榈叶,细沙低掠沙纹同向漂移。左地平线橙辉略淡,紫空出现更多星。相机向大门做一次缓慢平滑推进。自然真实运动,无剪辑、无新物体、无文字。安静沙漠风与柔和驼步声。以第 2 步灯笼河图为第一帧,动画化为平静 6 秒镜头:船夫拉桨,载灯船滑向右下,漂浮灯笼漂移闪烁,倒影摇曳,檐灯轻摆,天空加深,相机缓慢推进。会安灯笼河工作流第 3 步。
以第 2 步图像「黄昏有廊桥与小船的灯笼老城河」为精确第一帧,动画化为平静 6 秒电影感镜头。保持左岸挂灯檐的赭黄店屋、中央背景带瓦顶亭的木拱廊桥、右远岸、桥后粉紫辉的深蓝暮色天空与构图与原图完全一致。右中前景,戴白圆锥帽的船夫缓慢拉长木桨,载着一堆发光纸灯笼的窄木船轻滑向右下,暗水面留下柔扩散涟漪;船夫保持坐在船右端。许多漂浮纸灯笼缓缓顺流漂动并轻颠水面,烛焰闪烁,长倒影摇曳。店屋檐下圆灯在微风中轻摆,几位小人沿步道漫步,暮色天空略加深。相机向桥做一次极慢稳定推进。自然真实运动,无剪辑、无新物体、无文字。柔和拍岸、桨轻溅与远处晚间低语。以第 2 步黑沙滩教堂图为第一帧,动画化为平静 6 秒镜头:浪自右涌上黑沙,浪花拍打高海蚀柱迸溅,云漂移而金色辉光保持,草轻动,相机极轻微推进。冰岛黑沙滩教堂工作流第 3 步。
以第 2 步图像「黄金时段黑沙滩与玄武岩海蚀柱上方红顶白教堂」为精确第一帧,动画化为平静 6 秒电影感镜头。保持左三分之一草地岬角上的红顶尖塔白教堂、黑沙弧线、右侧四块玄武岩与海蚀柱、远左低悬太阳、地平线与构图与原图完全一致。长白色浪线自右涌向海滩,以薄泡沫片冲上黑沙再退回,留下光泽湿亮。镜头中段,一阵白浪花在高大锯齿海蚀柱底部迸开并落回水中。橙、粉、紫云缓缓漂移天空,暖金辉光稳定,岬角草在风中轻动。相机几乎静止,仅极轻微缓慢推进。自然真实运动,无剪辑、无人、无新物体、无文字。滚浪、风与远处波涛声。30 秒 9:16 写实羽毛球广告共六场:航拍场馆建立镜头、跟拍脚步、低角度球鞋特写、慢动作跳杀、镜像分屏转场与英雄镜头,青绿蓝调色与负面提示。
创作 30 秒超写实电影感羽毛球体育广告,场景为座无虚席的大型室内锦标赛场馆。一位才华横溢的女羽毛球运动员,着红白运动衫、黑色短裤、白色运动鞋,马尾辫,准备激烈比赛。 场景 1:巨大室内体育场令人屏息的航拍建立镜头,戏剧性钢结构屋顶、数千观众与强力聚光灯照亮羽毛球场地。 场景 2:动态跟拍镜头跟随女运动员在绿色羽毛球场上快速移动,紧握球拍准备回击大力球。捕捉她的专注、真实脚步与运动姿态。 场景 3:白色运动鞋在场上快速移动的极低角度特写。展现真实摩擦、快速脚步、微妙地面反光与自然运动模糊。 场景 4:运动员高高跳起扣杀羽毛球的戏剧慢动作。明亮场馆灯光在身后,相机微旋,营造强烈体育广告美学。 场景 5:艺术电影感转场,含镜像反射、对角玻璃感面板、分屏构图与球拍击球特写。保持真实解剖与角色外观一致。 场景 6:以运动员自信立于场地的有力低角度英雄镜头收尾,四周发光场馆灯与欢呼观众。 视觉风格:写实体育电影摄影,4K,戏剧场馆灯光,青绿与蓝色调色,真实肤质,浅景深,动态运镜,高速动作,平滑慢动作,微妙镜头光晕,专业体育广告品质。 镜头:航拍广角、跟拍、低角度特写、微距细节、慢动作与戏剧英雄镜头。 画幅:9:16 竖屏 时长:30 秒 品质:超写实、电影感、专业体育广告。 负面提示:卡通视觉、畸形解剖、多余手指、重复肢体、不自然球拍运动、漂浮羽毛球、不一致面孔、闪烁帧、主体模糊、不真实物理、过度运动模糊。
八段 9:16 奢华防晒霜广告:日光热带花园中的模特、水润肌肤特写、石座上环绕运镜的产品英雄镜头、凝胶质地微距、成分可视化与海滩漫步,金色时段调色,模特与包装严格一致。
为防晒霜产品创作高端电影感护肤广告,灵感来自奢华美妆广告。竖屏 9:16,写实视觉,优雅转场,柔和金色阳光,自然肤质,暖橙与金色调色板,高端商业电影摄影。 场景 1(0–5 秒):一位长深棕发美丽年轻女性立于郁郁葱葱的热带花园,周围翠绿叶片与温暖晨光。金色阳光滤过叶丛,她轻抚脸颊,展示健康、焕发光泽的自然肌肤。平滑电影感推进镜头。 场景 2(5–10 秒):女性面部极特写,指尖轻柔将护肤品涂于脸颊。突出真实毛孔、平滑肤质、微妙高光与清新水润光泽。柔和自然光、浅景深、高端美妆广告美学。 场景 3(10–15 秒):橙白防晒霜软管直立于热带花园天然石座上的英雄产品镜头。阳光在包装上形成美丽高光,绿植背景柔虚。相机缓缓环绕产品。包装与所供产品参考保持一致。 场景 4(15–20 秒):指尖托起少量半透明淡绿凝胶的微距。凝胶光泽轻盈,完美捕捉阳光。转场至防晒霜软管特写,优雅漂浮液滴与微妙金色微粒。 场景 5(20–25 秒):女性在热带花园享受阳光自然微笑。发丝在微风中轻动。切至被暖金光、细水滴与柔和植物元素环绕的奢华产品英雄镜头。 场景 6(25–30 秒):精致护肤成分可视化,半透明金球、水滴与发光橙白防晒霜软管。优雅微距摄影、干净构图与平滑动态图形。保持高端科学护肤广告风格。 场景 7(30–35 秒):转场至青绿海水与柔软白沙的明亮热带海滩。女性着优雅白色夏裙,平静沿岸边行走。发丝随海风自然流动,阳光反射水面。宽电影镜头与轻柔跟拍。 场景 8(35–40 秒):以防晒霜自软管挤到指尖的特写收尾,再切女性在白毛巾上放松的美丽俯拍海滩镜头。最终定格于暖阳光与闪亮水面倒影中的干净奢华防晒霜英雄镜头。 视觉风格:写实奢华护肤广告,真实肌肤与产品质感,柔和金色时段光,热带植物氛围,电影微距摄影,平滑运镜,优雅匹配剪辑,微妙镜头光晕,高端调色,4K,24fps。 一致性要求:全场景保持同一女性模特、面部特征、发型、产品包装与橙白配色。产品标签干净并与参考图一致。避免畸形手、多余手指、人工磨皮、扭曲包装与随机文字。勿添加无依据的产品宣称或改变品牌身份。
Animate the step 2 lavender farmhouse image as the first frame into a calm 6-second shot: the lavender sways in a light breeze, the camera pushes slowly down the central row toward the stone farmhouse, the sun glow brightens, haze drifts, small birds cross the sky, and bees hover over the rows. Step 3 of the Provence Lavender Farmhouse workflow.
以步骤 2 图像「Stone Farmhouse at the End of Lavender Rows in Provence at Sunrise」为精确第一帧,动画化为平静 6 秒电影感镜头。精确保留右三分之一石农舍赤陶屋顶与淡蓝百叶窗、旁高柏树、前景薰衣草行、色彩与构图。薰衣草在微风中轻柔摇摆,薄雾滑动,相机缓慢向前推进。自然写实运动,无人,无剪辑,无文字。柔和晨间环境音。竖版视频:万圣节猫角色舞蹈派对。
竖版 9:16 万圣节主题视频:一小队拟人/装扮猫在派对场景中跳舞。节奏感剪辑,彩色灯光,南瓜与蝙蝠装饰,欢快 BGM 氛围描述。每只猫有独特服装与舞步。电影感短视频,循环友好,无真实伤害,家庭友好。清晰字幕位可选。超细节,鲜艳色彩,有趣能量。
竖版 3D 动画家庭短片:幼儿第一次见到新生儿手足。
竖版 3D 动画家庭短片。温馨室内,父母怀抱新生儿,幼儿走近好奇触碰。柔和卡通写实风格,温暖灯光,细腻表情,情感高潮为幼儿微笑拥抱。无对白或轻柔环境音。时长短,适合社交媒体。角色外观一致,可爱不幼稚,高品质渲染。
以第 2 步风车运河图为第一帧,动画化为平静 6 秒:水面涟漪,风车缓转,薄雾漂移。
以第 2 步图像为精确第一帧,动画化为平静 6 秒电影感镜头。保持风车、运河、倒影与构图与原图完全一致。水面轻涟,风车翼缓转,薄雾漂移,暖日出光稳定,相机极轻推进。自然真实运动,无剪辑、无新物体、无文字。超写实四场万圣节恐怖短片:年轻女性在雾气公交站逃离女巫后,在烛光维多利亚宅中获善良老妇庇护,直到带同一银吊坠的 40 年前肖像揭示转折,含声音设计、角色一致性规则与负面提示。
场景 1 — 公交站(0–10 秒) 10 月 31 日万圣节之夜,年轻成年女性独自站在被浓雾、枯树与闪烁橙色万圣节南瓜包围的荒凉公交站。突然,可怕女巫出现在她身后,灰发狂乱、眼睛发光,颈间古董银吊坠。 女巫低语:「You shouldn't be alone on Halloween night!」女性转身尖叫,绝望跑入雾中。 场景 2 — 老宅(10–23 秒) 女性发现古老维多利亚宅并敲门。老妇热情开门邀请她进入。烛光房间舒适,有万圣节装饰、雕刻南瓜与旧壁炉。 老妇端上热汤与面包,温柔说:「Come in, dear. You're safe here tonight.」 受惊女性开始放松,外面雷声隆隆。 场景 3 — 惊人发现(23–38 秒) 进食时,女性注意到墙上旧肖像。画中美丽年轻女性佩戴与公交站可怕女巫完全相同的银吊坠。 她缓慢走近肖像,盯着熟悉面孔与相同项链。画下铭文写着:「OCTOBER 31 — 40 YEARS AGO。」 她脸色煞白。突然意识到肖像中的女人就是她在外面遇到的女巫。 她缓慢将头转向身后站立的老妇。 场景 4 — 最终惊吓 老妇以不自然险恶微笑盯着她。眼睛突然发黄,面孔变成可怕女巫的脸,爆发出令人毛骨悚然的狂笑。 相机迅速推向女巫恐怖面孔,闪电从窗闪过。 猛切至黑。 女巫邪恶笑声在黑暗中回响一次。 结束。 视觉风格:超写实真人实拍恐怖,电影感维多利亚宅,真实雾与雨,闪烁烛光,细节面部表情,实用超自然变形,戏剧阴影与强烈万圣节氛围。 声音设计:呼啸风、远处雷、脚步、吱呀门、诡异低语、突然变形音与恐怖女巫笑声。 角色一致性:全程保持同一年轻女性、同一老妇与相同银吊坠。女巫外观必须匹配肖像中变形前的年轻女性。 负面提示:无卡通、无动漫、无廉价 CGI、无不一致面孔、无服装更换、无字幕、无标志、无水印,最终黑屏后无更多场景。
30 秒 16:9 超写实万圣节恐怖短片,五个定时节拍:雨湿门廊上男子发现南瓜灯在呼吸,用手机闪光灯看到里面有人眼,看着它转向自己并见小手印出现后切黑,含制作、声音设计与负面提示说明。
30 秒 | 16:9 | 4K Ultra HD | 30 FPS | 超写实真人实拍万圣节恐怖短片。 恐怖万圣节之夜在雨湿木门廊展开,真实成年男子发现他雕刻的南瓜灯行为异常。真实人类演员、实用特效、电影感布光与真实恐怖氛围,普通万圣节装饰变成真正险恶之物。 0–5 秒:雨湿木门廊在昏暗夜间灯光下闪亮。闪烁南瓜灯坐在前门旁。穿深色格子衬衫与牛仔裤的男子拎着万圣节装饰进入。突然,他注意到南瓜缓慢膨胀收缩,仿佛在呼吸。 5–12 秒:相机缓慢推向南瓜。锯齿雕刻微笑细微扩大后恢复正常。内部蜡烛与动作同步闪烁。男子谨慎跪下,内部传来微弱潮湿呼吸声。 12–21 秒:南瓜灯光突然熄灭。完全寂静。男子打开手机闪光灯,揭示黑暗南瓜深处两只真实人眼直盯着他。惊恐中他后退,手机掉在湿木地板上,闪光灯光束倾斜指向南瓜。 21–27 秒:男子再次缓慢伸向南瓜。尚未触及,南瓜灯自行向他旋转数英寸。雕刻微笑保持完全静止。难以置信地僵住,他缓慢退向门。 27–30 秒:南瓜极端特写。内部灯光突然重新亮起。新鲜小手印逐渐在外表面冷凝中出现。观者尚未理解发生了什么,画面瞬间切黑。 制作:超写实真人视觉、真实人类演员、一致角色身份、实用南瓜运动、真实冷凝、自然雨、可信阴影、细微手持摄影、浅景深、电影恐怖布光与克制调色。声音设计包括雨声、远处风、木脚步、柔呼吸、细微织物移动、低悬疑音乐上升,以及最终揭示前的突然寂静。 负面提示:无动画、卡通视觉、CGI 感角色、人造环境、变化面孔、不一致服装、扭曲解剖、不真实南瓜运动、夸张惊吓、血腥、对白、旁白、字幕、文字、标志、水印、黑边,或最终切黑前的突兀转场。
简短梦幻文生视频提示词:黄昏魔法万圣节郊区街道——门廊台阶发光南瓜灯、飘落橙金落叶、紫与暖色串灯,以及复古灯笼、糖果碗与漂浮肥皂泡的平滑特写,超写实童话外观。
电影感魔法万圣节街区街道,装饰为节日秋日庆典。发光雕刻南瓜灯沿舒适郊区房屋的小径与台阶排列。橙金色调鲜艳秋叶轻轻飘落空中。闪烁紫与暖色串灯挂在树木与门廊上,营造魔法晚间光晕。特写平滑过渡到复古灯笼、彩色糖果碗与漂过门廊的漂浮肥皂泡。超写实、梦幻童话氛围,4k 分辨率,平滑运镜,魔法光线。
以第 2 步竹林图为第一帧,动画化为平静 6 秒:萤火虫漂浮,雾轻动,相机缓推。
以第 2 步图像「黄昏竹林小径萤火虫与木廊桥」为精确第一帧,动画化为平静 6 秒电影感镜头。保持竹、小径、廊桥与构图与原图完全一致。萤火虫缓慢漂浮闪烁,薄雾轻移,竹叶微风轻摆,相机极慢推进。自然真实运动,无剪辑、无新物体、无文字。五场 16:9 超写实韩式生活喜剧:黑波波头年轻女性与戴虎帽的灰虎斑猫。
创作电影感超写实韩式短视频:年轻东亚女性短黑波波头刘海,深棕连帽衫与休闲裤。融合可爱动物瞬间、意外喜剧与温馨日常,真实物理、富表现力角色与专业电影运镜。 场景 1 – 游乐场好笑的一天:现代公寓游乐场,年轻女性身旁一只戴可爱虎纹动物帽的灰虎斑猫。猫上方飘着大气球氦气球,造成好笑意外。女性耳边持智能手机处理状况。捕捉猫好奇表情与女性自然反应,柔日光、真实毛皮细节、电影浅景深。 场景 2 – 家中温馨互动:温馨公寓客厅,女性与同猫互动,虎帽仍戴。轻松喜剧节拍,自然对白口型预备,暖室内光。 场景 3 – 厨房小混乱:厨房轻喜剧,猫弄出小乱或争零食,女性又好笑又无奈反应。 场景 4 – 阳台黄昏:阳台黄昏温馨收束,女性抱猫,城市柔景虚化。 场景 5 – 结尾特写:情感温暖特写,女性与猫对视或轻碰,平静微笑结束。 全程保持同一女性与同一灰虎斑猫、同一虎帽。超写实,16:9,电影调色,无字幕标志(除非另有说明)。
15 秒怀旧动画:少女骑车穿越夏末日本乡村,风铃、河岸汽水与驶过火车,自然环境音无对白。
标题 夏日绕路 创作 15 秒电影感怀旧动画,16:9 横幅。 参考 以上传分镜为主要视觉参考。按顺序遵循其 8 个镜头。 全程保持女孩、自行车、衣服、汽水瓶、稻田、河流、火车与阳光一致。 勿添加角色、突然改地点或引入奇幻元素。 主体 女孩:原创 13 岁日本女孩,齐肩深棕发、棕眼、奶油衬衫、褪色海军裙、白袜、棕鞋与帆布肩包。 自行车:复古薄荷绿城市自行车,银车把、棕鞍、前铁丝篮、黑胎。 道具:一瓶透明玻璃柠檬汽水,先在篮中后由女孩手持。 火车:小型奶油橙双节地方客运列车。 环境 夏末平静日本乡村。窄路、亮绿稻田、传统木屋、风铃、草河岸、远铁路桥、绿山与大片白夏云。 暖晚午阳光与轻柔自然影。无日落或戏剧光照变化。 风格 高端电影感 2D 动画,美丽手绘背景、柔赛璐珞阴影、干净线稿、自然色彩、轻环境动画与克制富表现力表演。 营造平静怀旧的平凡童年夏日午后感。 避免写实摄影、3D CGI、霓虹、过度特效与人工运镜。 音频 无音乐或对白。 仅自然乡村环境音:蝉、鸟、柔风、自行车轮、风铃、流水、汽水瓶声与远处驶过火车。 声景保持轻柔、氛围、连续。 摄影与取景 16:9 电影取景。平滑跟拍、亲密特写、缓慢运镜与美丽风景构图。 使用自然镜头转场。 分镜 镜头 1(00:00-00:02)— 启程:女孩骑车离开小村巷,暖光,轻跟拍。音效:蝉、车轮、风。 镜头 2(00:02-00:03)— 车轮:低机位车轮与辐条间光影,路边高草野花轻摇。音效:滚动轮胎、草响、夏虫。 镜头 3(00:03-00:05)— 开阔田野:侧跟拍女孩骑过无尽绿稻田,远山巨大白絮云缓漂,裙发自然飘。音效:稻田风、远鸟、车链。 镜头 4(00:05-00:06.5)— 风铃:骑过传统小木屋,相机短暂跟屋顶下玻璃风铃轻摆,女孩在背景继续上路。音效:细风铃、蝉、柔车声。 镜头 5(00:06.5-00:08.5)— 河岸:安静草河岸广角,女孩停下支车踢架坐草上,阳光闪流水,相机缓近。音效:停车、轻脚步、流水。 镜头 6(00:08.5-00:10)— 夏日小啜:亲密中近景,自篮取柠檬汽水瓶打开畅饮,透明玻璃升小气泡,平静微笑。音效:开瓶、轻嘶、夏风。 镜头 7(00:10-00:12.5)— 驶过火车:她望向远铁路桥,奶油橙地方列车驶过,阳光闪车窗。音效:远火车、流水、蝉。 镜头 8(00:12.5-00:15)— 广阔乡村收束:广角揭示稻田、河、远山与天空,女孩与车在构图中显小,平静结束。音效:暖乡村风、远火车淡去、轻蝉。 能量弧 第一幕(0-5s):自由。慢骑行、暖阳光、平静夏景。 第二幕(5-10s):静。风铃、河岸、冷汽水安静一刻。 第三幕(10-15s):怀旧。驶过火车、广阔乡村揭示与平静结尾。 最终要求 保持角色比例、服装、自行车设计、火车外观与地理一致。 使用平滑手绘动画运动、可信骑行物理、轻风动画与自然水运动。 无额外人物、重复物体、角色变形、闪烁、字幕、标志、文字叠加或水印。 成片应感觉像美丽抚慰的夏日午后记忆。
约 12 秒、16:9 的 SaaS 产品短片 Claude 提示。
你是「Claude 提示:SaaS 产品 12 秒片(16:9)」。请按下列中文说明执行;完整原提示词正文保留于后,供结构、占位符与技术细节对齐。 ## 中文任务说明 约 12 秒、16:9 的 SaaS 产品短片 Claude 提示。 以下保留原提示词正文供结构与占位符对齐: Build a 12-second motion design product film in 16:9 (1920x1080, 30 fps) for my software product name, which what_it_does_in_one_sentence. Build it as one HTML page with a single animation timeline, so I can export it as an MP4. Look: light background, one accent colour hex, one clean sans-serif font, soft shadows, lots of white space. Scene 1 (0 to 2.4 s): the headline "headline" builds word by word. Each word rises 18 px with a soft overshoot. Only the key word is in the accent colour. Scene 2 (2.4 to 6 s): a small product card appears. Data rows from different tools slide in one after another. Scene 3 (6 to 9.5 s): the rows merge into one clean table. One number counts up to result. Scene 4 (9.5 to 12 s): end card with logo, name and the line "call_to_action". Rules: the camera never stands still and moves on one continuous path. One object carries the story from the first second to the end card. Every movement is eased, nothing moves linearly.