Skip to main content
Version: Current

Publish, share, and embed a read-only project

Scribe Animator can publish the current project as an unlisted, read-only web link or an iframe embed. Anyone who has the URL can play the animation in a browser without signing in. Both presentations use the same published snapshot and the same Scribe Runtime that evaluates the project's scenes, camera, animation, audio, drawings, images, and supported video-on-canvas media.

A share link is a published snapshot, not a live mirror of the editor.

ActionPublic result
Create share linkPublishes the current editor state and creates one unlisted URL
Copy embed codeUses that same published URL credential in a website-ready iframe
Continue editingThe existing URL keeps showing the last published snapshot
Update published versionPublishes a fresh snapshot while preserving the same share and embed URLs
Disable linkThe current share URL and every embed using it become unavailable immediately
Share again after disablingCreates a new token; the disabled share and embed URLs stay unavailable

Use this workflow for review, client approval, classroom playback, or sending a finished animation to someone who should not receive editing controls.

Use an exported video instead when the recipient needs a standalone MP4 file, offline playback, or a file that can be uploaded to another platform. Use a .scribe package when another Scribe user needs the editable project.

Anyone with the URL can view

The link is an unlisted bearer link. It is not listed publicly or added to a sitemap, but anyone who receives or forwards the URL can open it. This phase does not provide passwords or expiration dates.

Before you start

You need:

  • a signed-in Scribe Animator account;
  • an open project;
  • a working network connection;
  • all required local media available while the snapshot is packaged; and
  • a browser or device that supports the project's media formats.

Preview the entire project before publishing. Check scene changes, camera motion, voiceover, embedded video audio, and the final frame. Sharing packages the current editor state, so unresolved or missing source media can also make the published result incomplete.

  1. Open the project you want to publish.
  2. Preview it from beginning to end.
  3. Select Share in the top-right editor header.
  4. If prompted, sign in and reopen Share.
  5. Select Create share link.
  6. Keep the editor open until packaging and upload finish.
Scribe Animator Desktop editor showing the Share project dialog before the first read-only link is created
The first Share action explains snapshot behavior before uploading anything. Normal saves do not automatically republish this link.
Screenshot callouts
  1. Read-only web link
    The viewer receives playback permissions, not editing, import, account, or export controls.
  2. Snapshot notice
    Future edits remain private until Update published version is selected.
  3. Create share link
    Packages the current project, uploads an immutable version, and creates the unlisted URL.

Scribe creates a fresh portable project package from the state currently open in the editor. It uploads that package as an immutable cloud version before the public link is activated. A failed package upload cannot replace an existing published result.

Expected result: the dialog changes to Anyone with the link can view and shows a URL beginning with https://app.scribeanimator.com/s/.

Links and iframe snippets that were previously published on https://app.ohotech.com/s/ and https://app.ohotech.com/embed/ remain supported compatibility URLs. They resolve the same token and published snapshot; new copies use the app.scribeanimator.com origin.

After publication:

  1. Select Copy link.
  2. Use Share… when the browser or device exposes its system share menu.
  3. Open a private or incognito browser window.
  4. Paste the link without signing in.
  5. Select Play and watch the full animation.
  6. Test audio, camera movement, scene boundaries, and any video objects.
Scribe Animator Share project dialog showing an active unlisted URL, copy and system-share controls, update action, and disable action
An active share preserves one URL while letting the owner copy it, publish a newer snapshot, or revoke access. The displayed URL is sanitized documentation QA data.
Screenshot callouts
  1. Active viewer state
    The green indicator confirms that the current bearer URL resolves to a published version.
  2. Copy or Share
    Copy always remains available; Share opens the platform share surface where supported.
  3. Update published version
    Creates a new immutable snapshot and keeps the same active URL.
  4. Disable link
    Revokes this URL after a lightweight confirmation; it does not delete the project.

Do not treat an authenticated editor tab as the final verification. A private window confirms that the public viewer does not depend on your account session.

3. Embed a Scribe project on your website

Embedding is available as soon as the project has an active share link. Scribe does not publish a second package or create a second credential: the share URL and iframe both resolve the same token and immutable published snapshot.

On Desktop:

  1. Open Share and create a share link if the project has not been published.
  2. Find Embed this project below the active share link.
  3. Leave Player controls on unless your layout supplies another clear way for the visitor to start playback.
  4. Turn on Loop playback only when the animation should restart after it completes.
  5. Select Copy embed code.
  6. Paste the code into the HTML or embed block supplied by your website builder.
Scribe Animator Desktop Share project dialog showing the Embed this project section, player options, iframe markup, and Copy embed code button
The Desktop Embed section derives website-ready iframe markup from the current active share. The bearer token shown here is deterministic sanitized QA data, not a production link.
Screenshot callouts
  1. Same published snapshot
    Share and Embed resolve the same active token, version, and private packaged media.
  2. Safe player options
    Controls are on and looping is off by default. Embed v1 intentionally does not autoplay.
  3. Website-ready iframe
    The generated markup uses the canonical app.scribeanimator.com embed origin and an escaped project title.
  4. Copy embed code
    Copies the complete iframe element without creating or uploading another project version.

The generated code follows this shape:

<iframe
src="https://app.scribeanimator.com/embed/<token>"
title="Scribe Animator project"
width="960"
height="540"
loading="lazy"
allow="fullscreen"
allowfullscreen>
</iframe>

Scribe branding remains visible in Embed v1. Autoplay is intentionally not supported, so the visitor must make an explicit Play gesture before audio can begin. The supported URL options are limited to controls=0 and loop=1; arbitrary styling, JavaScript commands, and editor operations are not accepted.

On Mobile Lite, open the project menu, choose Share project, then use Copy embed code in Embed on a website. The compact sheet uses the same canonical helper and same active share token as Desktop.

Mobile Lite Share project sheet showing the Embed on a website section and touch-sized Copy embed code action
Mobile Lite keeps iframe markup readable in a compact sheet and provides one touch-sized copy action. The captured token is sanitized QA data.
Screenshot callouts
  1. Embed on a website
    The mobile sheet exposes the same snapshot and the same controls and loop options as Desktop.
  2. Copy embed code
    Copies canonical production iframe markup even when Scribe runs inside a native mobile shell.

Make the iframe responsive

The iframe's 960 by 540 attributes provide a stable fallback. For a fluid website layout, place it in a container that follows the project's aspect ratio. For a 16:9 project:

<div style="width:100%;aspect-ratio:16/9">
<iframe
src="https://app.scribeanimator.com/embed/<token>"
title="Scribe Animator project"
loading="lazy"
allow="fullscreen"
allowfullscreen
style="width:100%;height:100%;border:0">
</iframe>
</div>

Use the project's real ratio for portrait, square, or custom canvases. The player observes iframe-size changes and fits the project without recoloring or clipping its canvas.

A real Scribe Runtime embed playing inside a simulated third-party learning portal at a wide responsive size
A real iframe-hosted Scribe Runtime playing packaged project media inside a sanitized third-party course page. This is the implemented product route, not a documentation mockup.
Screenshot callouts
  1. Real third-party iframe
    The Scribe player is hosted inside a separate course page while its package and runtime stay on the Scribe origin.
  2. Read-only playback
    Play or Pause and Fullscreen are present; editor, account, export, and package-download controls are absent.
A real Scribe Runtime embed fitting a narrow mobile third-party website container without horizontal overflow
The same embed fits a 348-pixel-wide mobile container without horizontal overflow. Portrait and square Scribe projects retain their own canvas ratio inside the player.
Screenshot callouts
  1. Responsive player
    The runtime observes the narrow iframe and fits the complete canvas inside it without page-level horizontal overflow.

Update or revoke an embed

  • Update published version uploads the latest editor state and repoints the active token. Reloading either /s/<token> or /embed/<token> then shows the new snapshot.
  • Disable link immediately makes the share page and every iframe using that token unavailable.
  • Publishing again after disabling creates a new token. Existing websites must replace the old iframe URL; the revoked URL never becomes active again.
Embed only content you are comfortable sharing

An embed is view-only, not DRM. Its bearer token is visible in page source and the browser receives the package and media needed for playback. Do not embed confidential projects. Some CMS and site builders remove iframe markup, and the parent site's security policy must permit frames from app.scribeanimator.com.

Browser media codec support still applies. Test the deployed page on the same desktop and mobile browsers your audience uses, especially when the project contains video-on-canvas media or audio.

4. Understand the shared viewer

The viewer starts paused so audio never begins unexpectedly. It provides only the playback surface and compact viewing controls.

Read-only Scribe shared-project viewer playing a real packaged video-on-canvas frame without editor controls
A real packaged video-on-canvas project playing through the read-only Scribe Runtime. The editor, timeline, asset library, account controls, and export controls are not mounted.
Screenshot callouts
  1. Runtime canvas
    The existing runtime evaluates project time, object transforms, camera, animation, audio, and packaged media.
  2. Project and Scribe identity
    The viewer shows the project name and unobtrusive Made with Scribe Animator attribution.
  3. Playback controls
    Play or Pause, Replay after completion, and Fullscreen are available without editing commands.
  4. Create with Scribe
    Returns an interested viewer to Scribe Animator without exposing the source project's account.

The shared viewer can receive enough packaged project data to play the animation in the browser. It does not expose a visible package-download action, but it is view-only, not DRM. A technically sophisticated viewer can inspect browser network resources. Do not publish confidential source material solely because the editing interface is hidden.

5. Publish later edits without changing the URL

Normal edits, local saves, autosaves, and cloud saves do not silently alter the public snapshot.

  1. Return to the editor and make the required changes.
  2. Preview the complete project again.
  3. Open Share.
  4. Select Update published version.
  5. Wait for the package upload and publication update to finish.
  6. Reload the existing URL in a private window.

The update uploads the new immutable version first. Only after that succeeds does Scribe repoint the active link. If publication fails, the previous public version remains available.

Expected result: the URL is unchanged, while reloading it shows the newly published animation.

To revoke access:

  1. Open Share.
  2. Select Disable link.
  3. Read the confirmation that the current URL will stop working.
  4. Confirm Disable link.
  5. Reload the old URL in a private window and verify the unavailable state.

Disabling does not delete the editable project. If you publish again later, Scribe creates a new token and URL. The old URL stays revoked.

7. Share from Mobile Lite

  1. Tap the project name at the top of Mobile Lite.
  2. Choose Share project.
  3. Create the link or review the active URL.
  4. Use Copy link or Share….
  5. Use Update published version after meaningful edits.
  6. Use Disable link when the URL should stop working.
Mobile Lite Share project sheet showing an active unlisted link, copy and system share, update, and disable controls
Mobile Lite uses a touch-friendly sheet while preserving the same snapshot, update, and revocation semantics as Desktop.
Screenshot callouts
  1. Current link
    The active URL is readable and selectable without exposing editor controls to its recipients.
  2. Copy and system Share
    The system share sheet is used where supported, with copy available as the dependable fallback.
  3. Update snapshot
    Publishes the current Mobile Lite project state to the same active URL.
  4. Disable link
    Revokes the current bearer URL after confirmation.

What is preserved in a published snapshot?

The shared viewer loads the portable .scribe representation. Supported project content includes:

  • scenes and scene timing;
  • vectors, drawings, images, text, shapes, Smart Lines, and arrows;
  • explicit animations, keyframes, and drawing reveals;
  • camera movement and framing;
  • project audio, scene audio, voiceover, fades, and timing;
  • video-on-canvas media and supported embedded audio;
  • board surfaces, backgrounds, and stroke materials; and
  • packaged local assets required by the project.

Always test the exact published result. Browser codec support and missing local source files can still affect media playback.

Privacy, access, and indexing boundaries

  • The URL is unlisted and carries the viewing credential.
  • Shared and embedded pages request noindex, nofollow, and noarchive behavior.
  • Share and embed URLs are not added to Scribe documentation or marketing sitemaps.
  • The viewer does not show owner email, user ID, billing, library, or account UI.
  • Recipients cannot edit, import, delete, upload, export, or persist runtime changes.
  • Embed v1 exposes no public JavaScript SDK or unrestricted postMessage command API.
  • This phase has no password, expiration date, public discovery, comments, or remix workflow.
  • Disabling a URL is the correct response if it was sent to the wrong person.

Troubleshooting and safe recovery

Share asks you to sign in

Sharing is account-scoped because Scribe must store an immutable project version. Sign in, return to the same project, and select Share again.

Create or update fails

  1. Keep the editor tab open.
  2. Confirm the network connection.
  3. Check whether local media is still available.
  4. Verify account storage limits.
  5. Retry the Share action.

If an update fails, do not disable the old link unless you intend to revoke it. The previous successfully published snapshot remains authoritative.

The viewer says the project is unavailable

The token may be malformed, revoked, missing, or linked to an unavailable package. The same unavailable state appears inside an iframe. Ask the project owner for the current URL. Do not try to repair or guess a token.

A website removes the iframe

Some hosted CMS editors sanitize raw iframe HTML. Use that platform's trusted HTML/embed block, confirm it permits https://app.scribeanimator.com, or ask the site administrator to allow the Scribe origin. Do not replace the iframe with a raw package-download URL.

This is expected after normal editing. Open Share, select Update published version, wait for success, and reload the viewer.

Audio or video is missing

  • Return to the editor and confirm the source media still resolves.
  • Preview the affected timestamp locally.
  • Replace a missing file instead of publishing a broken reference.
  • Publish a new version, then test in a private window.
  • Check whether the recipient's browser supports the media codec.

Select the URL field and copy it manually. Clipboard access can be restricted by browser permissions or an insecure local development origin.

Accessibility notes

  • The Desktop Share surface is a keyboard-focus-trapped dialog and closes with Escape.
  • Mobile Lite uses a sheet with touch-sized actions and safe-area spacing.
  • Buttons are disabled while package or share mutations are in progress.
  • Copy, update, disable, loading, and error states expose readable status text.
  • The public viewer requires an intentional Play action, preventing unexpected audio autoplay.
  • The embed controls support keyboard Play/Pause, visible focus, Replay, and an accessible Fullscreen label; hidden controls are not left focusable.

Final result checklist

  • The owner can copy one active https://app.scribeanimator.com/s/… URL.
  • The owner can copy iframe markup using https://app.scribeanimator.com/embed/… with the same active token.
  • A private browser opens it without an account.
  • A real third-party iframe can open it without an account.
  • Share and embed playback include the expected scenes, camera, visuals, audio, and video.
  • Editor controls, account UI, and export controls are absent.
  • Normal edits do not change the published result.
  • Update published version changes both presentations without changing the token.
  • Disable link makes the old share and embed URLs unavailable.
  • Publishing again after revocation creates a different token for both URLs.