← Plugin catalog
Productivity

NewsTune Studio

GUANYU CHEN v1.0.0

Publisher description

From the marketplace listing

NewsTune Studio helps ChatGPT and Codex inspect existing series, produce private episodes, wait for completion, return direct episode links, compare authorized voices, open secure voice-selection or consented-cloning handoffs, publish approved public pages and RSS feeds, and prepare user-completed distribution to podcast platforms.

Language: English · Automatically detected from descriptions.

Files & skills

File archives

Plugin package2 files · 795 BytesBrowse files →
newstune-agent-api3 files · 6.48 KBBrowse files →
newstune-podcast-publisher3 files · 3.14 KBBrowse files →
newstune-voice-studio3 files · 2.33 KBBrowse files →
Skill instructions
newstune-agent-api10.6 KB

View saved version →

---
name: newstune-agent-api
description: "Use when a user asks to inspect, find, create, continue, or schedule a NewsTune podcast; turn project progress or source material into an episode; monitor generation; make ChatGPT/Codex an ongoing podcast production partner; or replies to a pending NewsTune charge preview with a bare approval such as 'I approve', 'yes', or '同意扣除 20 credits'. Uses OAuth-connected tools, interactive confirmation for manual charges, and one-time recurring authorization for scheduled runs."
---

# NewsTune Studio

Use only the OAuth-connected NewsTune tools bundled with this plugin. Never ask the user for a NewsTune API key, Auth0 token, cookie, password, or raw credential, and never call private HTTP endpoints directly.

Typical triggers include “show my existing podcasts,” “continue this series,” “turn this project update into an episode,” “make my computer a podcast production partner,” and a short approval that continues an immediately preceding NewsTune preview, such as “同意扣除 20 credits.”

## Production frame

Treat NewsTune as an ongoing podcast production system, not only a one-time audio renderer. It can discover a user's existing shows, create private episodes from source material or an approved script, track generation, choose accessible voices, and publish an exact approved scope.

The host AI may also collect project-progress inputs from connected tools or local files and run recurring automations. A schedule belongs to the host AI unless a NewsTune scheduling tool is explicitly available. Confirm the full recurring execution contract once when the schedule is created or materially changed; covered runs then generate, upload, poll, and publish automatically without another user turn.

## Workflow

1. Use `get_account_overview` to verify the connection, plan features, credit balance, and server-owned prices.
2. Clarify the topic, audience, language, use case, desired format, source policy, voice preference, and whether this is a one-off or ongoing series. Ask only for missing decisions.
3. Use `list_podcast_series` before creating a series. Follow `nextOffset` until it is `null` when identifying all possible matches.
4. Prefer an existing series when the user says “my podcast,” “continue,” “add an episode,” or supplies a matching title. Use `get_podcast_series` to confirm its ID, hosts, format, visibility, persistent `customPrompts`, and recent episodes.
5. For source material:
   - Summarize local/private sources in the host AI and use `script_to_audio` when the user does not want raw content sent to NewsTune.
   - Use `material_to_podcast` only for material the user agrees may be sent to NewsTune and, when relevant, researched on the open web.
   - Never upload secrets, credentials, unrelated private files, or an entire local project by default.
6. Create a new series only after the user selects or approves the hosts and reviews the detailed persistent `customPrompts`. Call `preview_podcast_series_creation` with the complete final payload, show its exact charge, retain its opaque `previewId` internally, and use `confirm_podcast_series_creation` only after approval. New plugin-created series and episodes are always private. Do not choose the compatibility-only `create_podcast_series` tool for this workflow.
7. After an episode is queued, poll `get_generation_status` until `succeeded` or `failed`. Return the exact episode-page link. Explain that a private link requires NewsTune sign-in.

Read [references/tools.md](references/tools.md) for the eleven tool contracts.

## Persistent production brief

Before `preview_podcast_series_creation`, convert the confirmed interview into all applicable `customPrompts` fields: `gatherContent`, `generatePlan`, `conductResearch`, `generateScript`, `supplementScript`, `deeperResearch`, `generateFinalScript`, and `generateCoverImage`. These prompts are durable series memory for another agent or device, so keep concrete source rules, update cadence, audience/use case, host interaction, show structure, required and prohibited content, verification, privacy, final checks, and visual identity. Do not collapse them into vague style adjectives, invent missing choices, or store credentials and raw private documents.

Before every `create_podcast_episode`, call `get_podcast_series` and read every non-empty `customPrompts` field plus relevant recent episodes. `material_to_podcast` applies the stored prompts in NewsTune's pipeline, but the submitted brief must still align with them. For `script_to_audio`, apply the stored sourcing, planning, research, scripting, supplement, and finalization rules while writing the transcript before sending it to NewsTune. If an interactive request conflicts with the persistent brief, ask whether it is a one-episode exception or a permanent series change. In a headless scheduled run, a conflict pauses/skips the run instead of asking or silently changing the show.

## Recurring automation authorization

When the user requests a recurring schedule, use the host's native scheduler. Before activation, show and approve one self-contained contract containing the target series, cadence/timezone, generation mode, hosts, duration, maximum credits per run, every exact source/location and source policy, checkpoint/freshness/citation rules, privacy boundaries, full editorial brief and all `customPrompts`, episode visibility, RSS behavior, retries, and stop/skip conditions. Put every execution detail into the automation task prompt, but keep cadence/timezone in the scheduler's schedule fields. Do not rely on setup-chat memory and never store credentials or raw private documents there.

Each covered occurrence must run without questions: read the live series/custom prompts/recent episodes, gather only new approved material, preview and execute the episode charge automatically within the approved ceiling, poll generation to completion, preview and execute publication for only the new episode, preserve the approved RSS state, verify the final episode URL/feed, then advance the checkpoint. A public schedule requires the series/public slug/RSS setup to be completed during initial authorization.

Recurring authorization never covers creating another series or host, changing/adopting/cloning a voice, changing sources or editorial rules, increasing the credit ceiling, changing slug/SEO, enabling/disabling RSS, or publishing additional episodes. If a quote or preview exceeds the contract, if credits are insufficient, or if live settings conflict, do not ask in the scheduled run and do not broaden scope: skip/pause, keep the checkpoint, and report the reason.

## Paid-action confirmation

Series creation uses two separate tools; episode creation keeps one two-phase tool:

1. For a series, call `preview_podcast_series_creation` with every final content input. For an episode, call `create_podcast_episode` once without confirmation. An affordable series preview returns `phase`, `quoteCredits`, `currentCredits`, and a short-lived opaque `previewId`; it creates no series, spends no credits, and remains a read-only tool. Retain `previewId` only as tool context. `create_podcast_series` is compatibility-only for older clients and must not compete with the new preview-then-confirm workflow.
2. If `phase` is `insufficient_credits`, report the current balance and exact quote, confirm that no write or debit occurred, and stop. Do not retry, downgrade, substitute another format, switch accounts, bypass billing, or direct the user to buy credits, upgrade, purchase a subscription, or open a payment link.
3. For an interactive/manual action, show the user the exact title, series, source/privacy choice, mode, private visibility, every non-empty proposed `customPrompts` field for series creation, and quoted credit amount. End with a self-contained suggested reply that repeats the exact charge, private action, and title—for example, “同意扣除 20 credits,使用剛才完整且未變更的設定建立私人 NewsTune Podcast 系列「系列名稱」。” Then wait.
4. Treat a bare follow-up such as “I approve,” “yes,” or “同意扣除 20 credits” as approval only when it refers to the immediately preceding, unexpired NewsTune series preview. Do not claim the tool is unavailable and do not reconstruct the full payload: invoke `confirm_podcast_series_creation` with exactly `{ "previewId": <the opaque ID returned by that preview>, "confirmed": true }`. NewsTune retrieves the exact quote, content payload, signed confirmation, and stable idempotency key server-side. If the preview is missing, expired, or no longer the intended one, run a fresh preview and ask again. Never route this short approval to the compatibility-only `create_podcast_series` tool.
5. For an episode in a covered scheduled run, compare the quote and exact inputs with the stored recurring contract instead of asking. Execute `create_podcast_episode` with identical content inputs plus the returned confirmation values and `confirmed: true`; here `confirmed: true` means the exact preview is covered by the user's existing recurring authorization.
6. If the quote, token, or state is stale, preview again. An interactive action needs fresh approval; a scheduled action may continue automatically only when the new preview remains exactly within the contract. Otherwise pause it.

Keep the `previewId`, confirmation tokens, and idempotency keys tool-internal. Never print them in the suggested reply or user-facing response.

Do not treat a queued response as completion. Publishing remains a separate publisher-tool action; a covered scheduled run performs that action automatically after generation succeeds.

## Existing-series selection

Match an explicit ID first, then a normalized title. If more than one series matches, show concise differences and ask the user to choose. Never create a duplicate merely because the first result page did not contain the show.

## Voice and publishing boundaries

Use the `newstune-voice-studio` skill for voice selection or consent-based cloning. Use `newstune-podcast-publisher` for public pages and RSS. Voice recordings remain in NewsTune's secure handoff. Interactive publishing requires exact-scope preview and approval; a covered scheduled run may auto-execute only a preview that publishes its one newly generated episode while preserving every other approved public/RSS/slug/SEO effect.

## Safety

- Never expose credentials, private scripts, internal logs, or raw provider errors.
- Do not infer consent to clone a voice from possession of an audio file.
- Do not claim that an RSS feed has been submitted to Spotify, Apple Podcasts, or YouTube.
- Do not accept third-party platform terms, ownership declarations, or account verification for the user.

Referenced files: 1

newstune-podcast-publisher4.68 KB

View saved version →

---
name: newstune-podcast-publisher
description: "Use when a user asks to publish NewsTune content, preserve/enable/disable RSS, get a feed URL, prepare a show for Spotify/Apple Podcasts/YouTube, review exactly which episodes will become public, or complete a pre-authorized scheduled release. Uses OAuth tools and exact-scope previews."
---

# NewsTune Podcast Publisher

Treat NewsTune publishing and third-party directory submission as separate stages. Use only the OAuth-connected plugin tools; never request an API key or call private endpoints directly.

Typical triggers include “publish these episodes,” “enable my RSS feed,” and “prepare this show for Spotify.”

## Preflight

1. Discover the exact series by paging through `list_podcast_series`; never publish from a title guess.
2. Use `get_podcast_series` to show the series ID/title, existing public state, public slug, RSS state, and relevant episodes.
3. Ask which audio-ready episode numbers should be public. Do not silently select every episode.
4. Ask for one explicit RSS action: `preserve` (safe default), `enable`, or `disable`. Only when enabling or updating RSS, confirm the requested language, author, category, and explicit-content value. Do not solicit or expose an owner email through the plugin.
5. Read [references/distribution.md](references/distribution.md) before guiding an external directory submission.

## Exact-scope publishing

Call `publish_podcast_series` without confirmation first. The preview is authoritative. Show the user:

- series ID, title, and final public slug;
- selected episode numbers and titles;
- already-public episodes that will remain public;
- the full public episode scope after the action;
- `futurePublicEpisodeNumbersAfterAction` and every titled/status-bearing item in `futurePublicEpisodesAfterAction`; explain that these episodes are still generating and not readable now, but may become public automatically when generation finishes;
- current and resulting RSS state;
- any masked owner contact that NewsTune reports will become public in RSS; and
- that public pages—and an enabled RSS feed—are visible on the open web.

Send `rssAction: "preserve"` unless the user explicitly asked to enable or disable RSS. Do not translate an omitted preference into `disable`; preserving the current state prevents an unrelated publish action from taking down an existing feed.

For interactive work, wait for explicit approval of both the immediate public scope and the future-public scope in that exact preview. If `futurePublicEpisodesAfterAction` is non-empty, enumerate those episodes and obtain an explicit acknowledgement that each may become public after generation without another publish action. Execute with identical inputs, the returned confirmation token and idempotency key, and `confirmed: true`. If NewsTune reports stale state, preview again and request fresh approval. Never work around a stale preview by publishing episodes one at a time.

### Scheduled release exception

When the current call is a headless occurrence of a user-approved recurring automation, do not request another approval. Preview, then execute automatically with `confirmed: true` only when the preview selects exactly the newly generated episode, leaves every other public episode unchanged, uses the already-approved series slug/SEO, and preserves the approved RSS state. The schedule-setup confirmation is the authorization basis for that exact recurring effect.

If the preview adds another episode, changes RSS enablement/metadata, changes slug/SEO, exposes a new owner contact, exceeds the contract, or otherwise differs from the stored schedule prompt, do not publish and do not ask during the headless run. Pause/skip and report the mismatch so the user can approve a revised schedule later.

After success, return the public series/episode links and the absolute feed URL when RSS is enabled. State precisely what was published.

## External distribution

NewsTune prepares public pages and an RSS feed. Spotify for Creators, Apple Podcasts Connect, and YouTube Studio require the account owner to sign in, verify ownership, review platform-specific choices, and accept legal terms. You may open or explain the official flow, but do not claim submission or acceptance unless the user completed it and the platform confirmed it.

## Safety

- Never expose private or non-audio-ready episodes.
- Never change a previously assigned public slug silently.
- Never publish beyond the previewed immediate or future-public scope, and never omit still-generating public-designated episodes from the approval summary.
- Never say “published to Spotify/Apple/YouTube” when only NewsTune RSS is enabled.
- Never accept directory terms or ownership declarations for the user.

Referenced files: 1

newstune-voice-studio2.85 KB

View saved version →

---
name: newstune-voice-studio
description: "Use when a user asks to browse or preview NewsTune podcast voices, choose one or two host voices, clone a voice through NewsTune's consent flow, or open NewsTune setup for a missing voice binding. Uses OAuth tools and keeps recording, consent, and uploads inside a secure NewsTune handoff."
---

# NewsTune Voice Studio

Use `list_podcast_voices` and `prepare_voice_action` for voice work. You may also use paginated `list_podcast_series` and `get_podcast_series` only to resolve and verify a user-named owned series before creating its handoff. The plugin is OAuth-connected; never request an API key, browser token, password, raw recording, or voice sample in ChatGPT or Codex.

Typical triggers include “help me choose a podcast voice,” “preview my voices,” and “clone my voice for this show.”

## Workflow

1. Clarify language, accent, host role, tone, pace, and solo or multi-host format.
2. Call `list_podcast_voices`. Prefer an already accessible voice with a `previewUrl`; sharing that preview does not render new audio or spend credits.
3. If the user names a series, follow `list_podcast_series.nextOffset` until the unique match is found and use `get_podcast_series` when verification is needed. Then call `prepare_voice_action` with `select_voice`, `selectionCount: 1` for solo or `selectionCount: 2` for two-host format, and that discovered `seriesId`; never invent an ID from its title. If no series is named, omit `seriesId`.
4. Selecting an already accessible public/community voice is not voice cloning. Even when a voice is named after a celebrity or public figure, allow the user to preview and select it. Give a short reminder to avoid misleading endorsement, deceptive impersonation, or other unlawful use; do not block selection solely because of the identity or name.
5. For cloning, ask the user to confirm that they understand they are responsible for having the appropriate rights or permission. Call the matching clone action only after that acknowledgement, then let NewsTune handle recording/upload and consent in the handoff.
6. Explain that recording, upload, consent review, and any supported selection or binding happen inside NewsTune. The handoff only opens that flow; it neither performs nor proves that cloning, selection, or binding completed.

Read [references/voice-workflows.md](references/voice-workflows.md) for the decision boundaries.

## Refuse or stop when

- The user states an intent to deceive, defraud, harass, bypass NewsTune consent, or falsely present the voice as an endorsement by the named person.
- The handoff expires or NewsTune rejects authorization; create a fresh handoff only after the user asks.

Do not infer endorsement from a voice name or availability. Never transfer raw audio through the model, and never claim a voice was selected, bound, or cloned until NewsTune reports completion.

Referenced files: 1

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
GUANYU CHEN

Package observed Sep 30, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 2, 2026 · 00:00 UTC
Collection status
Collected

plugin_asdk_app_6a58673988ac8191abcdf00db9c98fc3

Download plugin data (JSON)