An agent with network, Python and private file access can use the standalone HTTP workflow. Read the instructions, approve a Stripe purchase, then continue from saved state to a quoted edit, audio preview and approved export. No plugin, LyricPatch account or key-pasting step.
The direct HTTP helper needs outbound HTTPS, Python execution and access to private persistent files. Check the actual host, including ChatGPT Work, before payment. A plain chat window or OAuth-only connector is not enough.
A secure payment handoff
No crypto wallet? The agent can give you a Stripe checkout link for $1.99 / 40 credits, then verify payment and continue with the same private session. An authorized x402 wallet is an alternative, not a requirement.
Private credentials and state
The no-install helper generates and saves session credentials itself in one private --state file; no manually pasted key. Keep that file between turns, outside shared folders, repositories and public logs. Never paste keys into a chat.
Files in, playable files out
Give the host an authorized MP3 and UTF-8 text files containing the exact original and replacement words. The host must be able to upload bytes and return or open a local preview—not just print a temporary URL.
These are capability-based setup paths, not claims of an installed marketplace app, universal assistant compatibility or a completed live test in every host. Review your host’s permissions and privacy controls before sharing media.
Start here · no installation
Direct HTTP: a Stripe link, then the same edit.
A capable agent can read the instructions, run a standard-library Python helper and use the guest API directly. No plugin, package installation, LyricPatch account, crypto wallet or manually pasted API key is needed. The guest API does not require human website sign-in or CAPTCHA.
First check outbound HTTPS, Python execution, private file access that survives the payment pause, and the ability to return playable audio. This is a capability-based recipe, including for ChatGPT Work environments where those capabilities are enabled—not a claim of a verified host test or universal compatibility. If direct HTTP is unavailable but browser interaction works, use the normal guest workspace. Do not bypass host restrictions; stop before payment if neither route can complete the work.
Use https://lyricpatch.com/agents/quickstart.md to edit my attached MP3
through direct HTTPS. Do not install a plugin or package, ask me to create
a LyricPatch account, or ask me to paste an API key.
Original words: [exact original words]
Replacement words: [exact replacement words]
Selection: [start–end seconds, or ask me if unknown]
Total edit budget: [maximum credits, including export]
First check that you can make outbound HTTPS requests, run Python and
keep private files between turns. If direct HTTP is unavailable, try
the normal /agents/workspace browser route, not a network workaround.
Read the current offer and terms. Bundle any missing actual 18+, terms,
rights, media-processing and purchase/edit permissions into one
confirmation. Reuse my explicit authorization; a ceiling alone is not
permission. Save private state, give me the Stripe checkout link,
then resume that SAME state when I say "Paid—continue."
Verify payment through the API. Quote within my authorized scope and
ceiling, let me hear and approve the preview version before export
unless I explicitly delegate selection. Return the finished audio file.
Never show credentials or private state in chat. Do not send my whole
song to a transcription service to locate the phrase; ask me for timing
or use your own already-authorized timed transcript and confirm it.
Read the current price and legal version from the live offer first. Bundle missing age 18+, terms, recording/lyrics/voice rights, external media processing and purchase/edit permissions into one confirmation. Reuse explicit authorization already given; a ceiling alone does not authorize spending. The person pays on Stripe; the agent keeps credentials private and verifies funding with the server before continuing. Credit purchase alone does not approve generation/export.
Standalone Python · quote and approval stages
# Download /agent/lyricpatch.py, inspect it, then run the saved file.
# No pip, plugin, account signup, wallet or manually pasted key.
# Replace ./private with an owner-only, persistent directory outside
# repositories/shared folders and deliverable output directories.
# Keep it private across the payment pause; never print/attach state.
python lyricpatch.py offer
# After actual rights/media consent, save the edit intent before checkout.
# Example timing/budget only; use the person's approved selection.
python lyricpatch.py preview --state ./private/run.json --song song.mp3 --original-file ./private/original.txt --replacement-file ./private/replacement.txt --start 44 --end 48 --max-credits 9 --format mp3 --output preview.wav --rights-confirmed --allow-media-processing
# ONLY after the live offer and every attestation are approved:
python lyricpatch.py connect --state ./private/run.json --authorize-1-99-checkout --adult --accept-terms --rights-confirmed --allow-media-processing --legal-version CURRENT_FROM_OFFER
# Show checkout_url to the person. They pay in Stripe and return.
# If the host suppresses the link, give the SAME URL as copyable plain text.
# Recover/reuse that URL; never recreate checkout or expose private state.
# Verify/recover the SAME state; "Paid" and redirects are not proof.
python lyricpatch.py status --state ./private/run.json
# Once funded: prepare/upload and get the generation quote, no spending.
python lyricpatch.py preview --state ./private/run.json --output preview.wav
# ONLY when the quote is covered by explicit authorization and budget:
python lyricpatch.py preview --state ./private/run.json --output preview.wav --authorize-generation
# Play/attach preview.wav. ONLY after the person approves that version:
python lyricpatch.py export --state ./private/run.json --output edited.mp3 --approve-version
# ONLY when the export quote is covered by explicit authorization/budget:
python lyricpatch.py export --state ./private/run.json --output edited.mp3 --approve-version --authorize-export
# Return edited.mp3. Pending work: rerun the same stage and private state.
# Never delete state or create another purchase to recover a timeout.
Use your actual files, approved timing and total credit ceiling. Unknown timing? Ask the person, or use the agent’s separately authorized timestamped transcript with local phrase matching; never send the whole song to OpenAI transcription for this workflow. Each quote needs to fit explicit authorization; ask only when that authorization is missing or scope/cost changes. Keep preview/version approval unless first-version selection was explicitly delegated. Private state belongs outside deliverable outputs; never attach it. Keep the same state on every retry; losing it is not permission to buy or generate again. Download before the project’s 24-hour expiry.
Optional installed CLI · known timestamps
An alternative for existing CLI users
This package-based route is optional; it is not required for the direct HTTP workflow above. The commands below use the Outlet example’s known 44–48-second selection. Replace the input files and timing for your own song. The 9-credit ceiling covers the total run: one 4-credit generation and one 5-credit export. Funding the balance is a separate purchase.
Use Python 3.11+ in a terminal or a shell-enabled agent, not an ordinary chat message. The host integration guide and portable, Codex and Claude plugin files provide the source-controlled setup recipes. They package workflow instructions, not a wallet or media player. No wallet is connected or charged by installation.
2. Connect a funded private identity
The wallet commands in this section are the optional x402 path. For human-paid Stripe checkout, use the alternative below. Already have an account key? Provide it privately as LYRICPATCH_API_KEY and skip the wallet commands. Otherwise use the signup-free session flow: save the session before the first request, inspect the offer, obtain actual legal and payment permissions, and have your x402 wallet sign the exact challenge. No manual LyricPatch website signup is required.
Before any command, create an owner-only directory outside source control and shared folders. Replace ./private throughout these examples with that directory. On macOS/Linux it must have owner-only permissions; Windows state is protected for the current user and should not be treated as a portable backup.
Optional wallet adapter · install without spending
The CLI wallet adapter uses EVM_PRIVATE_KEY from the local process environment. A trusted operator must provision a dedicated, limited-funds wallet through private host settings, with sufficient USDC on Base and any required fees. Never ask someone to paste a wallet secret into chat or shell history. If your host cannot keep that secret safely, use an existing account key or your own secure x402 signer instead.
Only after the person approves the purchase, confirms they are 18+, accepts the current terms, confirms recording/lyric/voice rights and authorizes media processing, replace CURRENT_FROM_OFFER with the returned legal version and run the funding command. Do not assume these attestations from the example.
Fund $1.99 / 40 credits · only with actual authorization
For a funded saved session, append --session-state ./private/session.bin to every preview and export command below. Keep that session file separate from the run file. Pending payment is not a fresh purchase: recover the same session. Never paste session secrets, API keys or state-file contents into a prompt. Lost signup-free secrets have no email recovery.
Prefer Stripe instead of a wallet?
Use the Stripe handoff protocol with your saved private session. Pay on the returned checkout link and tell your assistant “Paid—continue.” It verifies the session, then resumes the edit. The wallet commands above are an optional x402 path; do not run them after paying with Stripe.
3. Prepare and quote without generating
Place your authorized MP3 at song.mp3, and put the exact approved lyrics in original.txt and replacement.txt. Choose a private directory for the state files. Use --rights-confirmed only after rights and media-processing permission are actually confirmed. This step uploads and prepares audio; it does not generate a lyric change.
Want a finished WAV instead? Set --format wav on this first preview command and keep it on preview retries. The export format is part of the saved intent; do not add that flag later to the export command. Choose a matching finished.wav output path for export.
4. Approve generation, then play the preview
Read the quote and get approval. Only then use the authorized form below, keeping the same run state. On completion, ask your host to play or attach preview.wav, or open it in your local audio player. Do not treat a successful command as the owner liking the result.
If work is still running or the connection drops, rerun the same stage with the same state file. Do not delete state or change identifiers to force a retry. Corrected content or an alternate version needs a fresh quote and separate approval; successful alternate generations cost credits again.
5. Approve the version, quote the export
After listening, use --approve-version only for the version the owner chose. This selects it and requests an export quote; it does not authorize the export charge.
Approve the separate 5-credit export before adding --authorize-export. The command writes the finished song to finished.mp3. Have your host attach that file or show its local path; download before the project’s 24-hour expiry.
An MCP host needs Streamable HTTP and custom bearer headers for private work. Anonymous initialization, tool listing and get_service_info expose public service information only. Fund over REST, then configure the returned API key privately. The host still needs file transfer, playback and secure credentials. Choose a Stripe handoff or a separately authorized x402 wallet; a wallet is optional.
Transport: Streamable HTTP
Server URL: https://api.lyricpatch.com/mcp
Authorization: Bearer <api_key from your funded session, or account agent key>
Public MCP metadata discovery: initialize, tools/list and get_service_info.
No wallet: securely persist X-LyricPatch-Session as a private transport header.
Use prepare_session_checkout, show the checkout URL, then get_session_status.
After verified funding, the same header works for private tools.
REST bootstrap and existing bearer API keys remain supported.
Never pass the private session secret as a tool argument or chat message.
Store the key in your client's secret manager.
Never include a real key in a public configuration file.
Also discoverable in the live Glama connector listing, verified September 14, 2026. Directory discovery does not install the connector, grant private access or authorize payment.