Last updated
marly.studio help
How marly.studio handles uploads, best-effort non-YouTube URL imports, clips, Tighten, MP4 downloads (free exports carry a watermark), current publishing availability, billing, user data, and Agent/MCP access.
Human mode
Use marly.studio
Tasks and support.
What it does
Long video in, reviewable clips out
marly.studio transcribes source media, finds candidate moments, renders vertical clips, or Tightens the whole cut (Beta), and keeps you in review before anything is published.
Where to start
Use the home screen
Upload a file. That is the most reliable way to start. URL import is best-effort because providers can block downloads. YouTube audiovisual import is disabled while prior written Google approval is pending. Guest jobs share a weekly cap per network; when it is exhausted, Home shows Uploads, Find clips, and Tighten disabled — sign in or try a different connection.
Where results live
View the job page
The job page shows progress, clip playback, transcripts, titles, downloads, and publish controls.
What Settings is for
Account, service status, billing, and advanced access
Settings manages sign-in, quota, plan state, YouTube connection, sign out, Google disconnect, deletion, and agent tokens.
- 1
Submit
Upload a file or paste a supported public video URL. URL import feeds Find clips — Tighten stays file-only. Guest jobs share a weekly cap per network — 10 jobs a week, 3 at a time.
- 2
Process
The worker validates, transcribes, analyzes, extracts, and uploads clip outputs.
- 3
Review
View the job, inspect each clip, and check the transcript-backed title and description.
- 4
Export
Direct YouTube upload is available to signed-in creators; Public or Unlisted visibility stays gated until Google restores this app's YouTube API upload-audit status. Everyone can download MP4s for YouTube Studio. Free-plan MP4s carry a watermark.
- 5
Manage
Use Settings for sign-in, quota, billing, YouTube connection, and account actions.
How do I start?
Upload a file you have the right to process. That is the reliable start for clips or Tighten. YouTube audiovisual import is disabled while prior written Google approval is pending. URL import feeds Find clips — Tighten stays file-only. URL import is best-effort because providers can block downloads, change extractor rules, geo-restrict media, or remove the source. Guest jobs share a weekly cap per network; when it is exhausted, Home shows Uploads, Find clips, and Tighten disabled — sign in or try a different connection.
How do I review my clips?
Jobs move through validation, transcription, analysis, extraction, upload, and completion. Transcription uses a configured remote provider as the primary path with local Whisper as the fallback. View a finished job to review clip scores, titles, transcripts, playback links, and MP4 downloads (watermarked on the free plan).
How do I publish to YouTube?
Signed-in creators can publish to YouTube. Connect YouTube in Settings after accepting the current Terms. On the job page, change the Gaming category if needed, accept both upload certifications, then Upload to YouTube. Direct YouTube upload is available to signed-in creators; Public or Unlisted visibility stays gated until Google restores this app's YouTube API upload-audit status. Guests cannot publish: download the MP4 (watermarked on the free plan) and upload it in YouTube Studio instead. Google sign-in saves your workspace across devices. YouTube audiovisual import is disabled while prior written Google approval is pending.
What is the difference between signing out and disconnecting?
Sign out clears this browser session. Disconnecting removes stored Google credentials, removes YouTube channel links, and disables direct publishing.
How do billing and support work?
Plans and quota live in settings. Guest jobs share a weekly cap per network — 10 jobs a week, 3 at a time. Google sign-in unlocks the full Free plan — 40 jobs a week, 5 at a time. Free-plan exports carry a watermark; Plus, Pro, and Studio remove it. The optional support page is a one-time contribution flow. It does not change your plan, quota, access, or support level.
Is my workspace private?
Workspace data is isolated by session or account. Signed media links are short-lived. Operational logs and audit records are designed to avoid raw secrets, tokens, passwords, and sensitive identifiers. Data-handling detail is on the legal page.
Detailed guide
Reference by task
What does marly.studio do?
marly.studio turns a long video file into reviewable vertical MP4 clips.
- marly.studio transcribes submitted media, finds moments with short-form potential, renders vertical outputs, and presents the result for review. You can also Tighten a video (Beta): the full recording back with dead air, rambling, and filler cut out.
- Generated clip titles, descriptions, scores, transcript snippets, playback links, downloads, and publish controls are suggestions and tools, not automatic guarantees of quality.
- You stay in the loop: review the transcript, playback, caption/title copy, and framing before publishing anything publicly.
How do I upload or import a source?
File upload is the reliable path. Supported video containers include common browser/server media formats. URL import is best-effort; a successful metadata probe does not guarantee the final download will succeed.
- Upload a file you have the right to process. That is the most reliable way to start clip finding or Tighten. Guest jobs share a weekly cap per network; when it is exhausted, Home shows Uploads, Find clips, and Tighten disabled — sign in or try a different connection.
- Supported video containers include common browser/server media formats such as MP4, M4V, MOV, MKV, and WebM when the file can be probed successfully.
- URL import is best-effort. Public platforms can block server-side downloads, remove media, geo-restrict access, rate-limit requests, or change extractor behavior.
- YouTube audiovisual import is disabled while prior written Google approval is pending. Connected-channel discovery stays disabled too. This applies to every account, including owner and test accounts.
- A successful URL metadata probe does not guarantee the final download will succeed. If a URL repeatedly fails, use a direct upload of the original file when you have permission to use it.
What happens while a job processes?
Each job has a visible lifecycle so you can tell where work is happening.
- Validation checks the source, file type, duration, and media metadata before expensive work starts.
- Transcription converts speech to text. When a remote transcription provider is configured it is the primary path for normal jobs; local Whisper is the fallback and can race alongside under configured queue pressure.
- Analysis selects candidate moments and creates clip metadata. Extraction renders the clip media. Upload makes completed clips available through short-lived signed media links.
- If a job fails, the stage and failure label matter. A URL import failure does not mean direct uploads are broken.
How do I review the clips?
The review page is where you decide what is actually worth using. Scores are ranking hints, so compare titles and claims against transcript/source support before publishing.
- Scores are ranking hints. They are not a promise that a clip will perform well on YouTube, TikTok, Instagram, or any other platform.
- Check the first seconds, payoff, transcript support, title, description, and whether the generated framing makes sense for the source.
- Bad titles or claims should be treated as evidence-grounding issues: compare the generated copy against the transcript/source before publishing.
- Download only the clips you actually want. Signed-in creators can upload selected clips to YouTube from the job page; everyone can download the MP4 (watermarked on the free plan) and upload it manually in YouTube Studio.
What framing and output do I get?
Smart reframing tries to make usable vertical media from varied source layouts.
- Smart reframing can crop, blur, split, preserve bars, or adapt to a detected layout depending on the source.
- The goal is a usable Shorts-style output, not a guaranteed replacement for manual editing.
- Inspect the rendered clip before posting. Gaming layouts, podcasts, multi-person footage, and screen recordings can need different framing choices.
Can it publish to YouTube for me?
Direct YouTube authorization and publishing are available after you accept the current Terms and connect a YouTube channel. Direct YouTube upload is available to signed-in creators; Public or Unlisted visibility stays gated until Google restores this app's YouTube API upload-audit status. YouTube audiovisual import is disabled while prior written Google approval is pending. Channel automation stays disabled.
- In Settings, accept the current marly.studio Terms, Privacy Policy, and YouTube Terms, then Connect YouTube. The app lists only your own channel targets.
- On the job page, pick an owned channel if you have more than one, change the Gaming category if needed, accept the two upload certifications, then Upload to YouTube. Guests cannot publish. Clip generation and MP4 download still work without a YouTube connection.
- You can still download the finished MP4 (watermarked on the free plan) and upload it manually in YouTube Studio if you prefer.
- Stored YouTube authorization and channel data expire after 29 days unless you reconnect. Each upload-returned video ID and URL is scrubbed 29 days after that upload even if you reconnect.
What do sign out and disconnect do?
Sign out and Disconnect Google intentionally do different things. Guest sessions are local to the browser; Connect Google keeps a workspace across devices. Account deletion is separate again and lives in Settings.
- Sign out clears this browser session and returns the browser to a guest session. It does not delete clips, change your plan, or revoke Google access.
- Disconnect Google revokes stored Google credentials, removes YouTube channel links, and disables direct publishing. It is for unlinking Google/YouTube access, not merely leaving the browser.
- Guest sessions are local to the browser. Connect Google to keep a persistent workspace across devices.
- Connect Google is rate-limited per network (5 links in 24 hours). If Settings shows "Too many Google account connections from this network", wait for the limit to reset or contact support instead of retrying — repeated attempts cannot clear the wall.
- Account deletion is separate again and lives in Settings. It is intentionally more serious than sign out or Google disconnect.
How are payments billed and how do I get billing support?
Subscription billing and optional support payments are separate.
- Plans and quota live in Settings. Guest jobs share a weekly cap per network — 10 jobs a week, 3 at a time. Google sign-in unlocks the full Free plan — 40 jobs a week, 5 at a time.
- Paid plans are billed through Stripe. Free-plan exports carry a watermark; Plus, Pro, and Studio remove it.
- The optional support page is a one-time contribution flow. It does not change your plan, quota, access, or support level.
- Stripe handles payment details. The app stores only the operational billing identifiers it needs.
- For billing problems, include the account email you used to sign in when contacting support.
How is my data handled?
Keep support requests useful without exposing secrets.
- Review privacy and terms on the legal page.
- Workspace data is isolated by session or account. Signed media links are private, short-lived, and served with no-store cache controls.
- Operational logs and audit records are designed to avoid raw secrets, tokens, passwords, and sensitive identifiers.
- For stuck jobs, include the job ID. For account or billing questions, include the account email. Do not send passwords, cookies, raw tokens, full payment card details, or private keys.
Agent mode
Read marly.studio safely
Authenticated agent routes require a user-created bearer token; public docs stay read-only.
Public docs
Read-only discovery
/help, /help/agent.json, /llms.txt, and /.well-known/marly-agent.json explain the product contract but do not grant private account access.
Authorization
User-created token
A signed-in user creates a scoped token in Settings; token creation requires a Google-connected account, so guests see Account required until they connect. Browser cookies are not the non-browser agent auth model.
Safe workflow
Import or upload, then inspect
V1 agents can create supported non-YouTube URL imports, create file upload jobs (single-part, multipart for large files, or single-part relay in relay-transport deployments), list/poll owned jobs, and inspect safe result metadata within granted scopes. YouTube audiovisual import is disabled while prior written Google approval is pending.
Hard stop
No account-changing tools
Publishing, billing, Google disconnect, account deletion, admin, source media reads, and signed media access stay unsupported in v1.
Think of the scoped agent token as a revocable permission slip.
The browser session stays for humans. The scoped token is for a trusted agent, can expire, can be revoked, and only works for the scopes the user selected. This is why agents do not need to click around the site or reuse browser cookies.
- 1
Discover
Read /help and /help/agent.json to understand public routes, scopes, job states, and forbidden actions.
- 2
Authorize
Ask the signed-in user to create a scoped token in Settings — guests must connect Google first because token creation requires an account; never ask for cookies, passwords, OAuth tokens, or billing data.
- 3
Create
Use job.import.create for supported non-YouTube public video URLs, or job.upload.create for file uploads (single-part, multipart, or single-part relay in relay-transport deployments) when the user has the right to use the source. YouTube audiovisual import is disabled while prior written Google approval is pending.
- 4
Poll
Use job.list.read and job.status.read to watch only jobs owned by the grant's account.
- 5
Review
Use job.results.read and clip.metadata.read for safe result metadata, then route publishing or account actions back to the browser.
Machine-readable guide
The public agent contract is available at /help/agent.json. Cold-start agents can also inspect /llms.txt or /.well-known/marly-agent.json. These routes are intentionally small, stable, and limited to public product metadata and safe route guidance.
Public routes
Agents can read /help, /how-it-works, /analysis-tape, /how-moments-get-picked, /legal, the public plan ladder at
/pricing, the source-specific landing pages (/2short-alternative, /ai-clip-generator, /ai-clip-generator-alternatives, /ai-video-repurposing, /capcut-alternative, /descript-alternative, /gaming-highlight-generator, /kick-vod-to-shorts, /klap-alternative, /long-video-to-shorts, /munch-alternative, /opusclip-alternative, /podcast-clip-generator, /twitch-vod-clip-generator, /veed-alternative, /vizard-alternative, /webinar-to-clips, /youtube-video-to-shorts), and the minimal liveness probe at/api/livez. Private browser routes still require the user-bound session; agent routes require a scoped bearer token created in Settings.Scoped token boundary
A signed-in user can create a permission-slip token for manifest, job list, non-YouTube URL import, file upload (single-part, multipart, or single-part relay in relay-transport deployments), job status, and job results. Do not publish clips, change billing, disconnect Google, delete accounts, or mutate settings through agent routes.
Private data boundary
Do not store signed media URLs, scrape private API responses, or treat public docs as proof of access to a user's jobs, clips, channels, account, plan, or billing state.
MCP/API direction
The v1 API and JSON-RPC MCP bridge are separate authenticated contracts with explicit consent, small scopes, token expiry, revocation, rate limits, ownership checks, and audit events.
Safe assistant behavior
Help the user understand workflow steps, route them to the right page, and ask for explicit confirmation before expensive, irreversible, private, or account-changing actions.
Agent contract
Reference by boundary
Public and private surfaces
Public documentation is not private account access.
- Public routes include
/, /help, /help/agent.json, /llms.txt, /.well-known/marly-agent.json, /.well-known/agent.json, /how-it-works, /analysis-tape, /how-moments-get-picked, /legal,/pricing,/sitemap.xml.gz,/robots.txt, and/api/livez. - Guests share a weekly per-network job limit: when it is exhausted, Home shows "Too many guest jobs from this network this week" with Uploads, Find clips, and Tighten disabled until the user signs in or the weekly window resets.
- Authenticated agent routes include /api/agent/manifest, /api/agent/jobs, /api/agent/jobs/import, /api/agent/uploads/init, /api/agent/uploads/complete, /api/agent/jobs/{jobId}/status, /api/agent/jobs/{jobId}/results, /api/agent/clips/{clipId}/media, /api/agent/mobile/me, /api/agent/mobile/devices, and the /api/mcp JSON-RPC bridge. When Video Tighten is enabled the set also includes /api/agent/video-tighten/init, /api/agent/video-tighten/source/complete, /api/agent/video-tighten/source/multipart/complete, /api/agent/video-tighten/source/multipart/abort, /api/agent/video-tighten/source/refresh, /api/agent/video-tighten/cancel, and GET /api/agent/video-tighten/{jobId}.
- Private browser routes, source media, account, billing, publishing, settings, Google disconnect, account deletion, and admin surfaces remain outside v1 agent authority. Clip media links are short-lived (15-minute) signed URLs minted only for tokens carrying clip.media.read.
- Do not infer access to private jobs or clips from public docs. Do not scrape signed media URLs or persist them outside the user's active workflow.
- Public routes include
Agent authorization and scopes
Tokens are consented to by the user, shown once, expiring, revocable, and scoped. Browser cookies alone do not authenticate the non-browser API.
- The user creates and revokes agent tokens in Settings. The raw token is shown only once; the server stores only a hash plus safe prefix/suffix metadata.
- V1 scopes are agent.manifest.read, job.list.read, job.status.read, job.import.create, job.upload.create, job.results.read, clip.metadata.read, clip.media.read, mobile.account.read, and mobile.device.manage. When Video Tighten is enabled, job.tighten.create is also available; otherwise those tools are omitted.
- Agent API requests use Authorization: Bearer <token>. Browser cookies alone do not authenticate the non-browser API.
- Expired, revoked, missing-scope, rate-limited, unsupported URL, over-quota, and not-owned jobs return explicit safe errors without leaking private ownership facts.
API and MCP workflow
The MCP bridge exposes the same safe route contracts as the bearer API.
- Read the authenticated manifest with GET /api/agent/manifest or the marly_get_manifest tool.
- Create supported non-YouTube URL imports with POST /api/agent/jobs/import or marly_create_video_import. This reuses normal URL validation, quota, private-destination blocking, and repository ownership rules.
- Create file upload jobs with POST /api/agent/uploads/init or marly_create_video_upload: PUT bytes to the returned single-part or multipart plan, then finalize with POST /api/agent/uploads/complete (or /multipart/complete) or marly_complete_video_upload / marly_complete_multipart_upload. In relay-transport deployments, stream the bytes to the returned relay target instead, which finalizes the job in one request.
- When Video Tighten is enabled, create file-only Tighten jobs with POST /api/agent/video-tighten/init or marly_create_video_tighten: PUT bytes to the returned single-part or multipart plan, then finalize each source with POST /api/agent/video-tighten/source/complete (or /source/multipart/complete) or marly_complete_video_tighten_source / marly_complete_video_tighten_multipart. A stalled source refreshes with POST /api/agent/video-tighten/source/refresh or marly_refresh_video_tighten_source; a multipart upload aborts with /source/multipart/abort or marly_abort_video_tighten_multipart; the job cancels with POST /api/agent/video-tighten/cancel or marly_cancel_video_tighten, and GET /api/agent/video-tighten/{jobId} or marly_get_video_tighten polls it. Those tools are omitted when the lane is off.
- List and poll owned jobs with /api/agent/jobs, /api/agent/jobs/{jobId}/status, marly_list_jobs, and marly_get_job_status.
- Read safe result and clip metadata with /api/agent/jobs/{jobId}/results or marly_get_job_results when the token has the needed scopes.
Triage checklist
Start with the report category before giving instructions.
- For upload issues, ask what file type/size was used and the visible error.
- For URL import issues, ask for the platform/source type and whether direct upload is possible. Do not ask for private downloads unless the user owns the media.
- For processing or clip issues, ask for the job ID and the specific clip or time range.
- For account, billing, privacy, or deletion issues, route to Settings, Legal, or support and request only the account email when needed.
Job state map
Use the state/stage instead of guessing the cause.
- Queued or uploaded means the job is accepted and waiting for worker capacity or validation.
- Transcribing means audio/text extraction is underway. A configured remote provider is the primary path; local Whisper is the fallback.
- Analyzing means moment selection and metadata generation are underway.
- Extracting or uploading means rendered clip outputs are being produced and made available.
- Completed means clips should be reviewable. Failed means use the visible failure reason and last stage; do not blame the user without evidence.
URL import failure handling
URL import failures are often provider/environment failures, not user mistakes.
- Common causes include provider blocks, HTTP 5xx media errors, unavailable videos, region restrictions, extractor drift, removed media, or unsupported platform behavior.
- Recommended answer: retry once later if the source is public and permitted, then use direct upload if the user has rights to the file.
- Important distinction: URL import failure does not prove direct uploads, transcription, analysis, or rendering are broken.
Upload failure handling
Upload failures should be separated from URL import failures.
- Unsupported type or signature failures should point users toward supported video containers and a clean export from their editor.
- Very large uploads can spend time in validation or probing before transcription begins.
- Storage or relay failures are service-side symptoms. Avoid telling the user to retry repeatedly if the service is currently unhealthy.
Clip-quality reports
Treat bad clip output as an evidence-grounding problem first.
- For hallucinated titles or claims, compare generated copy with transcript/source support before changing thresholds or prompts.
- Ask for the job ID, clip title, and time range. Do not ask users to paste sensitive private transcripts unless necessary and intentional.
- Do not overstate candidate counts. If only a few strong moments exist, describe the result as a small set of reviewable clips.
YouTube publishing boundaries
Direct authorization and publishing are available to signed-in creators after explicit Terms consent and YouTube connect. Direct YouTube upload is available to signed-in creators; Public or Unlisted visibility stays gated until Google restores this app's YouTube API upload-audit status. Source import, discovery, and automation stay disabled.
- Signed-in creators can Upload to YouTube from reviewed clips after connecting a channel; everyone can download MP4s and upload them in YouTube Studio.
- YouTube audiovisual import, uploads-playlist discovery, and channel automation stay disabled while prior written Google approval is pending.
- Direct users to Settings to accept the current Terms and connect or refresh YouTube authorization. Do not start OAuth on their behalf.
- Agents cannot publish or disconnect Google; the user performs those in the browser.
Billing, privacy, and safety boundaries
Agents should never collect secrets or payment details.
- Subscription billing and optional support payments are separate. Support payments never change plan, quota, access, or support level.
- Stripe handles card details; agents should never request full card numbers or payment credentials.
- For privacy/deletion requests, route to Legal, Settings, or support. Flagged/suspended states may require support handling.
- Never request raw cookies, passwords, private keys, raw OAuth tokens, full IP addresses, or provider console secrets.
Unsupported actions
There are no agent tools for publishing, billing, Google disconnect, account deletion, admin actions, source media reads, signed clip URLs, raw transcripts, provider tokens, or arbitrary private API calls.
- Publishing, Google disconnect, billing changes, and account deletion require fresh user confirmation and separate reviewed route designs before they can be considered for agent workflows.
- If a user asks for direct YouTube publishing, send them to Settings to connect YouTube, then to the job page Upload to YouTube action. Direct YouTube upload is available to signed-in creators; Public or Unlisted visibility stays gated until Google restores this app's YouTube API upload-audit status. MP4 download plus YouTube Studio remains the fallback path. Route other unsupported actions to the relevant browser page or support.
Escalation note format
Keep escalation structured and low-PII.
- Include report type, job ID if relevant, account email only if needed, source path type, visible failure text, last known stage, and user impact.
- Include whether direct upload or URL import was tried when the issue is source admission or acquisition.
- Exclude passwords, cookies, raw tokens, full payment details, private media URLs, and provider secrets.
Need help
Email [email protected] with the job ID, account email, or the page where you got stuck — a human reads every message and usually replies within a few business days.