API reference · Platform
Prompt enhance
Rewrite or invent a prompt — inventing is free, rewriting needs a plan.
The sparkle button as an API: give it a rough draft (or nothing) and it answers with one production-grade prompt. kind picks the register (video default, image, or element — a reusable visual description of a place, object or style, sized for the element's 600-character description); model tunes the phrasing to an engine; elements passes library ids the writer must feature — their @Name mentions are kept verbatim.
Costs no credits. Inventing a prompt — an empty prompt, the Surprise me case — is free for every account; rewriting a non-empty draft is a paid-plan perk, so a pay-as-you-go account gets 403 plan_required only in that case.
kind: "music" — the songwriter. Send the song so far: prompt (an idea in one sentence), style, lyrics, title, instrumental, seconds. Fields you send are KEPT; the writer fills the empty ones and answers { prompt, title, style, lyrics } — prompt is the one-sentence idea, lyrics carry section tags sized to seconds. Writing lyrics from scratch (empty lyrics) is free; sending lyrics asks for a REWRITE of them, the paid-plan perk. The same content policy as POST /v1/music/generations applies to what you send and to what comes back.
Request body
The draft. Empty = invent one.
video (default), image, element or music (the songwriter — see the notes).
kind: element only — location, object (default) or style.
kind: video only — where the shot sits in a film (the scene before it, how this one follows): the rewrite keeps the characters, place and light going and describes this scene only. With an empty prompt, it invents the next scene. Up to 3,000 characters.
kind: element only — the element's name, so the description fits it.
Target model id — phrasing adapts to the engine.
Element ids to feature (characters as char:<id>).
kind: music only — how the song sounds (kept when sent, written when empty).
kind: music only — lyrics to REWRITE (a paid-plan perk). Empty = written from scratch, free.
kind: music only — the song's title (kept when sent).
kind: music only — no vocals: no lyrics are written.
kind: music only — the song's length, so the lyrics fit it (snapped to 30–240 s).
curl https://eroq.ai/v1/prompts/enhance \
-H "Authorization: Bearer $EROQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a girl on a rooftop at night",
"kind": "video"
}'Response
{
"prompt": "A solitary young woman on a rain-slicked rooftop at night, city bokeh behind her…"
}