Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the My TV Channel Agent API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmy-tv-channel.com%2Fmy-tv-channel" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmy-tv-channel.com%2Fmy-tv-channel" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with My TV Channel Agent API.
Check the owner's tier, rolling 7-day upload and streaming quota, and each channel's launchGaps with GET /users/status.php before doing anything else
Create a thematic or location channel with POST /channels/create.php after confirming the handle is free with GET /channels/check-handle.php
Import a video from a direct public media URL, including a finite .m3u8, with POST /assets/import-url.php so the server fetches it for you
Poll transcoding and summary.meetsLaunchRequirements with GET /assets/status.php, then watch scheduleStatus on GET /channels/get.php until it reads active
GET STARTED
Set how often a video airs with a weight from 0 to 10 through PUT /assets/update.php, then rebuild the schedule with POST /schedule/regenerate.php
Dry-run a scheduling ruleset with POST /schedule/validate.php, which saves nothing and returns errors, warnings, and a 24-hour preview
Read the public programme guide for a channel with GET /channels/schedule.php, which needs no authentication
Patterns agents use My TV Channel Agent API for, with concrete tasks.
★ Launch a channel end to end through Jentic
An agent can take a channel from nothing to on air for its owner using the owner's API key. Through Jentic it finds each My TV Channel operation by intent: GET /users/status.php for the tier and quota, GET /channels/check-handle.php and POST /channels/create.php for the channel, POST /assets/import-url.php for each video, then GET /assets/status.php until summary.meetsLaunchRequirements is true and GET /channels/get.php until scheduleStatus is active. The agent then reports the watch URL to the owner.
Call GET /users/status.php, GET /channels/check-handle.php with handle 'retro-cartoons', POST /channels/create.php with handle 'retro-cartoons', name 'Retro Cartoons', and channel_type thematic, then POST /assets/import-url.php for four public MP4 URLs and poll GET /assets/status.php until meetsLaunchRequirements is true
Tune rotation with weights
Not every video should air equally often. Each asset carries a weight from 0 to 10, default 5, set through PUT /assets/update.php with asset_id in the body; 0 removes a video from scheduling without deleting it. Weights only reach the air when the schedule is generated, so on a channel that is already live the agent follows weight changes with POST /schedule/regenerate.php.
Call GET /assets/my.php with channel_id 42, call PUT /assets/update.php with asset_id 9001 and weight 10, then call POST /schedule/regenerate.php with channel_id 42
Programming rules for timed blocks
Owners on Pro tier and above can describe durable programming intent, such as a morning block, as a ruleset the scheduler re-honours on every rebuild. PUT /schedule/rules.php replaces the whole ruleset rather than merging, so the agent reads the current one with GET /schedule/rules.php, validates the new payload with POST /schedule/validate.php for errors, warnings, and a 24-hour preview, and only then commits it with the channel timezone set.
Call GET /schedule/rules.php with channel_id 42, add a rule to the returned rules, call POST /schedule/validate.php with channel_id 42, timezone 'Europe/Paris', and the full rules array, and only if valid is true call PUT /schedule/rules.php with the same payload
Public programme guide on your own site
A website or companion app can show what is on now and next without holding any key. GET /channels/schedule.php returns the electronic programme guide for a channel_id with no authentication, and unlike every other endpoint its data field is a bare array rather than an object, so a client should read it as a list.
Call GET /channels/schedule.php with channel_id 42 and return the titles of the current and next items from the data array
23 endpoints — the my tv channel agent api creates and runs 24/7 linear tv channels that simply play, streamed at a handle subdomain of my-tv-channel.
METHOD
PATH
DESCRIPTION
/users/status.php
Get tier, quotas, channels, and launch gaps
/channels/create.php
Create a channel
/assets/import-url.php
Import a video from a public URL
/assets/status.php
Poll transcoding and launch readiness
/channels/get.php
Get one channel and whether it is on air
/assets/update.php
Set a video's weight, title, or tags
/schedule/regenerate.php
Rebuild the schedule with current weights
/channels/schedule.php
Get the public programme guide
/users/status.php
Get tier, quotas, channels, and launch gaps
/channels/create.php
Create a channel
/assets/import-url.php
Import a video from a public URL
/assets/status.php
Poll transcoding and launch readiness
/channels/get.php
Get one channel and whether it is on air
/assets/update.php
Set a video's weight, title, or tags
/schedule/regenerate.php
Rebuild the schedule with current weights
/channels/schedule.php
Get the public programme guide
What agents get from Jentic-routed access to this vendor.
Setup
Wiring My TV Channel by hand means getting a mytv_sk_ bearer key from the owner, learning that channel ids go in the query string while asset ids go in the body, and handling the public programme guide's bare-array response. Through Jentic you install once, import My TV Channel from the API Directory, store the key once, and your agent calls it.
Permission scoping
My TV Channel passes channel and asset ids in the query string or request body rather than as path segments, so rules bound which operations your agent may call, not which channel. You choose the operations it may call, so ones like archiving a channel or replacing a ruleset are not included unless you add them.
Credential isolation
The owner's My TV Channel key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'import a video into my TV channel' or 'check if my channel is live', and Jentic returns the matching My TV Channel operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using My TV Channel Agent API through Jentic.
Is there a My TV Channel MCP server?
You don't need an MCP server to give your agent My TV Channel. Jentic connects it directly from the API Directory: import it, store the owner's API key once, and your agent calls it. Operations are discovered on demand, so no extra tool definitions sit in the agent's context.
What authentication does the My TV Channel Agent API use?
Per its OpenAPI spec, the API uses an API key sent as Authorization: Bearer mytv_sk_..., created by the signed-in owner at my-tv-channel.com/agent-keys or in the app under Profile, Agent Access. It needs an active subscription and inherits the owner's tier limits, and an agent cannot mint its own key. GET /channels/schedule.php is the exception and needs no authentication. Through Jentic, the key is stored encrypted by your own Jentic One instance and injected at call time.
Can I limit what my agent is allowed to do with the My TV Channel Agent API?
Yes. For example, write a rule that allows only GET /users/status.php, GET /channels/list.php, GET /assets/my.php, GET /assets/status.php, and POST /assets/import-url.php. Your agent can then add videos and watch them transcode, but it cannot archive channels, delete assets, or replace a ruleset, and every call it makes is logged.
What are the rate limits for the My TV Channel Agent API?
The OpenAPI spec states a limit of 1,000 requests per hour per key. Going over returns 429 with a Retry-After header, which the agent should honour. Upload duration also counts against a rolling 7-day quota reported by GET /users/status.php.
When does a My TV Channel channel go live?
Automatically, once it has at least 4 ready assets and at least 15 minutes of content with weight above 0. Poll GET /assets/status.php for summary.meetsLaunchRequirements, then GET /channels/get.php until scheduleStatus is active, and report the watchUrl to the owner.
How do I add a video to a channel through Jentic?
Search Jentic for 'import a video into my TV channel', load the importVideoFromUrl operation, and call POST /assets/import-url.php with channel_id and a direct, public, unauthenticated media url such as an MP4 or a finite .m3u8. The server fetches the file itself. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can I import YouTube videos into My TV Channel?
Only ones the owner can prove they uploaded. Get the owner's tag from GET /users/device.php, ask the owner to paste that exact MyTVChannelApp# string into the video's description or tags on YouTube, then call POST /assets/import-youtube.php with channel_id and the video url.
For Agents
Create a 24/7 linear TV channel, import videos by URL or from YouTube, poll transcoding until the channel launches, tune how often each video airs, and read or rebuild the programme guide.
Use for: I need to launch a 24/7 channel of our conference talks, Check whether the handle 'retro-cartoons' is still available, Import this public MP4 link into my channel, Find out what my channel still needs before it can go live
Not supported: Does not handle live event streaming, on-demand video libraries with viewer search, or video editing. Use for building and running continuous 24/7 linear TV channels on My TV Channel only.
The My TV Channel Agent API creates and runs 24/7 linear TV channels that simply play, streamed at a handle subdomain of my-tv-channel.com and in the iOS, iPadOS, tvOS, macOS, Android, Fire TV, and Roku apps. You import videos from a public URL or a YouTube video the owner proves they uploaded, the service transcodes them, and it builds a continuous schedule weighted by how often each video should play. A channel goes on air automatically once it has at least 4 ready assets and 15 minutes of content with a weight above zero. On Pro tier and above you can also place specific assets manually and set a durable ruleset for the schedule, and a validate call previews any ruleset on a simulated 24-hour grid without saving it.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>