Skip to main content
Set up your first video in about 5 minutes. This is the short path: each step links to the full guide. Encoding runs on our side, so the video is ready a little after the upload ends.
العربية: أنشئ أول فيديو لك في نحو 5 دقائق: سجّل الدخول عبر SSO، وأنشئ مشروعاً، وارفع أول فيديو، واحصل على رمز تشغيل موقّع، واعرف حدود الخطة المجانية.
Everything on this page runs on TEST.

Before you start

  • Dashboard (TEST): https://test-app.segmnt.cloud
  • API (TEST): https://test-api.segmnt.cloud
  • Sign-in is SSO only (Google or GitHub). We never store a password.
  • Your free account is created on the first sign-in.
  • IDs: accounts acc_, projects prj_, API key ids key_ (the key secret is sk_), domains dom_, videos vid_.

Step 1: Sign up with SSO

  1. Open the dashboard: https://test-app.segmnt.cloud.
  2. Pick Google or GitHub.
  3. The provider signs you in. We create your free account on this first sign-in and start a 30-day session.
No password, no card. Full detail: Accounts, projects, API keys and domains.

Step 2: Create your first project

A project is one client, one site or one course. An agency can keep each client separate. A free account has 1 project. In the dashboard: Projects → New project, then give it a name. Or with the API (session cookie):
The answer (201) carries the project id (prj_...). Keep it; the next steps use it.

Step 3: Upload your first video

Uploading needs three things ready:
  1. An API key for the project (sk_...). Create it in the dashboard, in the project’s API keys tab. Send it from your server, never from a browser.
  2. A verified domain. Playback is locked to a domain, so add the host that will show the videos (for example courses.example.com) and create the TXT record we give you. A free account can verify 1 domain.
  3. The upload calls. Create the upload, PUT the parts, then complete. See Direct upload for the full flow and for tested examples in Node.js, Python and PHP/Laravel.
Then poll the video until status is ready:
Notes for a new free account:
  • The first videos are held for an automatic check and a human review. They do not play until they are released. See Moderation and held videos.
  • When SMS is live, a new free account verifies a phone number before its first upload. This is not part of the current onboarding version.

Step 4: Get a playback token

When the video is ready, ask for a playback token for your verified domain. Call this from your server each time you show the video:
The answer has token, expiresAt, thumbnailUrl and, on plans with white-label, playlistUrl:
Notes:
  • Playback is signed and domain-locked. The CDN compares the Origin header (or the origin of Referer) with the token’s domain, so a copied link does not work on another site.
  • The CDN checks the token on every request and adds it to every link inside the playlist, so a player only needs the master playlist URL.
  • The token expires at expiresAt (4 hours by default). Ask for a new token for each viewing session.
The embed code is not here yet. The player’s iframe and JavaScript embed page, and the dashboard’s copy-embed control, are not released: on TEST the embed URL still answers 404. When the embed page ships, this step will show the embed code. Until then, this step ends at the playback token.

Step 5: Know the free-tier limits

  • A free account is enough to build and test one course. It keeps our logo on the player and plays up to 720p.
  • Counters reset at the start of each UTC month. Stored hours do not reset; they fall when you delete a video.
  • Hours count by the source quality, so a 4K file uses more of the limit than a 720p file.

Where to go next

Tested in TEST

The routes on this page are the released TEST API:
  • POST /v1/projects and POST /v1/projects/{projectId}/videos/{videoId}/playback-tokens are in the API contract (api/openapi.yaml) and are covered by our API tests.
  • The signed playback path (token issue → CDN check → playlist rewrite on /v/{videoId}/...) is proved end to end against TEST by a7-playback-e2e.yml.
  • The iframe/JavaScript embed page (/e/{videoId} and segmnt-player.js on the CDN host) is not deployed yet. It ships with the player release, so the embed code is not documented here yet.