HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/root/tmp/creator-studio-page.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>kiwerkzeuge Creator Studio</title>
    <meta
      name="description"
      content="Review videos before you post, generate stronger TikTok packaging, upload drafts, and publish from one creator workspace."
    />
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link
      href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700&family=Space+Grotesk:wght@400;500;700&display=swap"
      rel="stylesheet"
    />
    <link rel="icon" href="/creator-studio/assets/app-icon.png" />
    <link rel="stylesheet" href="/creator-studio/assets/creator-studio.css?v=20260613-20" />
    <script defer src="/creator-studio/assets/creator-studio.js?v=20260312-3"></script>
  </head>
  <body>
    <div class="ambient ambient-one"></div>
    <div class="ambient ambient-two"></div>
    <div class="page-shell">
      <header class="topbar">
        <a class="brandmark" href="/creator-studio/">
          <img src="/creator-studio/assets/app-icon.png" alt="" width="56" height="56" />
          <div>
            <span class="eyebrow">TikTok publishing workspace</span>
            <strong>kiwerkzeuge Creator Studio</strong>
          </div>
        </a>
        <nav class="top-actions">
          <a class="ghost-link" href="/creator-studio/privacy.html">Privacy</a>
          <a class="ghost-link" href="/creator-studio/terms.html">Terms</a>
                      <a class="primary-link" href="/creator-studio/auth/tiktok/start.php">Connect TikTok</a>
                  </nav>
      </header>

      <main>
        <section class="hero-card">
          <div class="hero-copy">
            <div class="badge-row">
              <span class="badge badge-solid">Review before posting</span>
              <span class="badge">Connect TikTok later</span>
              <span class="badge">Publish when ready</span>
            </div>
            <h1>Run a pre-publish review first, then connect TikTok only when the post is ready to ship.</h1>
            <p class="lead">
              Creator Studio scores your video before it goes out, coaches the hook and pacing, suggests stronger captions and openings, and then lets you push the approved version to TikTok drafts or direct publish.
            </p>
            <div class="hero-actions">
              <a class="primary-link" href="#review-assistant">Start a review</a>
                              <a class="secondary-link" href="/creator-studio/auth/tiktok/start.php">Connect your TikTok account</a>
                            <a class="secondary-link" href="#pilot">Pilot anfragen</a>
              <a class="secondary-link" href="/creator-studio/?demo=overview#workspace">View demo workspace</a>
            </div>
            <p class="hero-note">
              Built for creators who want feedback before the publish click, not after the post is already live.
            </p>
          </div>

          <aside class="hero-console">
            <div class="console-header">
              <span class="console-dot coral"></span>
              <span class="console-dot sand"></span>
              <span class="console-dot cyan"></span>
              <span class="console-title">What you can do</span>
            </div>
            <dl class="kv-list">
              <div>
                <dt>Review first</dt>
                <dd>Upload an MP4 and get a scorecard, coaching, better hooks, and caption options before posting.</dd>
              </div>
              <div>
                <dt>Package faster</dt>
                <dd>Turn one finished cut into stronger TikTok-ready openings, captions, and hashtag sets.</dd>
              </div>
              <div>
                <dt>Connect later</dt>
                <dd>Keep TikTok login optional until you actually want to send the approved version out.</dd>
              </div>
              <div>
                <dt>Upload drafts</dt>
                <dd>Send the reviewed MP4 to TikTok drafts for final edits inside the TikTok app.</dd>
              </div>
              <div>
                <dt>Stay informed</dt>
                <dd>Track publish progress and delivery updates without leaving the same workspace.</dd>
              </div>
            </dl>
          </aside>
        </section>

        <section class="pilot-strip pilot-capture" id="pilot">
          <div class="pilot-copy">
            <span class="eyebrow">Creator Studio Pilot</span>
            <h2>Von der MP4-Datei zum geprüften TikTok-Draft in einem Workspace.</h2>
            <p>Startangebot: 49 € pro Creator oder 299 € pro Agentur-Workspace, inklusive 50 Video-Reviews, Draft Upload, Status-Tracking, Untertitel-Exports und OpenClaw-Board-Setup.</p>
            <div class="pilot-proof-grid">
              <article><strong>49 €</strong><span>Creator-Pilot pro Monat</span></article>
              <article><strong>299 €</strong><span>Agentur-Workspace pro Monat</span></article>
              <article><strong>50</strong><span>Video-Reviews inklusive</span></article>
            </div>
            <div class="pilot-proof-bundle" aria-label="Creator Studio proof bundle">
              <div class="proof-bundle-head">
                <div>
                  <span class="eyebrow">Live proof bundle</span>
                  <strong>Belege vor dem ersten TikTok-Login</strong>
                </div>
                <span class="status-chip status-success">17/23 ready</span>
              </div>
              <div class="proof-bundle-grid">
                <div class="proof-item">
                  <span>Review-Freigabe</span>
                  <strong>Aktiv</strong>
                  <small>output1 · bis Jul 13, 2026 16:52 UTC</small>
                </div>
                <div class="proof-item">
                  <span>Photo/Carousel-Brief</span>
                  <strong>1 real</strong>
                  <small>Product demo · ready_for_review</small>
                </div>
                <div class="proof-item">
                  <span>PULL_FROM_URL Assets</span>
                  <strong>Ready</strong>
                  <small>2 video · 1 image · HEAD 200 / Range 206</small>
                </div>
                <div class="proof-item">
                  <span>Sales Notifications</span>
                  <strong>Live</strong>
                  <small>3 sent · 0 failed · 2 test skipped</small>
                </div>
                <div class="proof-item">
                  <span>OpenClaw Queue</span>
                  <strong>26 offen</strong>
                  <small>14 high priority · testbereinigt geroutet</small>
                </div>
                <div class="proof-item">
                  <span>Mission Control</span>
                  <strong>27 sent</strong>
                  <small>16 test skipped · latest Jun 14, 2026 03:00 UTC</small>
                </div>
                <div class="proof-item">
                  <span>Pilot-Onboarding-Pack</span>
                  <strong>1 prepared</strong>
                  <small>1 real · 1 paid gate blocked</small>
                </div>
              </div>
                              <div class="proof-carousel-preview" aria-label="Public Photo/Carousel proof images">
                                      <img src="https://kiwerkzeuge.de/creator-studio/assets/carousel/creator-studio-proof-1.png" alt="Creator Studio proof carousel card 1" loading="lazy" />
                                      <img src="https://kiwerkzeuge.de/creator-studio/assets/carousel/creator-studio-proof-2.png" alt="Creator Studio proof carousel card 2" loading="lazy" />
                                      <img src="https://kiwerkzeuge.de/creator-studio/assets/carousel/creator-studio-proof-3.png" alt="Creator Studio proof carousel card 3" loading="lazy" />
                                  </div>
                          </div>
            <a class="secondary-link" href="#workspace">Workflow ansehen</a>
          </div>

          <form class="pilot-form" method="post" action="/creator-studio/#pilot">
            <input type="hidden" name="csrf" value="5b212298918abde58ef3b4fe3419e50677d4b11313d0a759" />
            <input type="hidden" name="action" value="pilot-inquiry" />
            <label class="honeypot" aria-hidden="true">
              Website
              <input type="text" name="website" tabindex="-1" autocomplete="off" />
            </label>
            <div class="pilot-form-grid">
              <label class="field">
                Name
                <input type="text" name="name" maxlength="120" autocomplete="name" required />
              </label>
              <label class="field">
                E-Mail
                <input type="email" name="email" maxlength="180" autocomplete="email" required />
              </label>
              <label class="field">
                Typ
                <select name="role" required>
                  <option value="creator">Creator</option>
                  <option value="agency">Agentur</option>
                  <option value="business">Unternehmen</option>
                  <option value="other">Sonstiges</option>
                </select>
              </label>
              <label class="field">
                Angebot
                <select name="plan_interest" required>
                  <option value="creator_49">49 € Creator-Pilot</option>
                  <option value="agency_299">299 € Agentur-Workspace</option>
                  <option value="setup_retainer">Setup + Retainer</option>
                  <option value="not_sure">Noch offen</option>
                </select>
              </label>
              <label class="field">
                Organisation
                <input type="text" name="organization" maxlength="140" autocomplete="organization" />
              </label>
              <label class="field">
                TikTok Handle
                <input type="text" name="tiktok_handle" maxlength="80" placeholder="@account" />
              </label>
              <label class="field">
                Start
                <select name="timeline" required>
                  <option value="now">Sofort</option>
                  <option value="this_month">Diesen Monat</option>
                  <option value="quarter">Dieses Quartal</option>
                  <option value="exploring">Erst prüfen</option>
                </select>
              </label>
              <label class="field">
                Wichtigster Use Case
                <input type="text" name="use_case" maxlength="180" placeholder="Review, Draft Upload, Agenturreporting …" />
              </label>
            </div>
            <label class="field">
              Nachricht
              <textarea name="message" maxlength="1500" placeholder="Welche TikTok-Workflows sollen wir im Pilot zuerst abdecken?"></textarea>
            </label>
            <label class="check-field">
              <input type="checkbox" name="consent" value="1" required />
              <span>Ich bin einverstanden, dass Panomity mich zur Creator-Studio-Pilotanfrage kontaktiert.</span>
            </label>
            <button class="primary-link" type="submit">Pilot-Anfrage speichern</button>
          </form>
        </section>

        
        
                  <section class="demo-rail">
            <div>
              <strong>Demo mode is active.</strong>
              <span>No real TikTok account is connected in this browser session yet.</span>
            </div>
            <div class="demo-tabs">
                              <a
                  class="demo-tab active"
                  href="/creator-studio/?demo=overview#workspace"
                >Overview</a>
                              <a
                  class="demo-tab"
                  href="/creator-studio/?demo=draft#workspace"
                >Draft Upload</a>
                              <a
                  class="demo-tab"
                  href="/creator-studio/?demo=direct#workspace"
                >Direct Publish</a>
                              <a
                  class="demo-tab"
                  href="/creator-studio/?demo=webhook#workspace"
                >Webhook Status</a>
                          </div>
          </section>
        
        <section class="panel connect-runbook" id="connect-runbook">
          <div class="panel-header">
            <div>
              <span class="eyebrow">TikTok Connect Runbook</span>
              <h2>Scopes, data guards, and live publish smokes stay visible before OAuth</h2>
            </div>
            <span class="status-chip status-warn">
              Action needed            </span>
          </div>
          <p class="panel-copy">
            Connect once a reviewed asset is ready. Creator Studio requests the approved TikTok scopes, stores tokens privately, sends OpenClaw sanitized events only, and starts activation with Draft and SELF_ONLY smokes.
          </p>
          <div class="report-metric-grid">
            <article>
              <span>Connected accounts</span>
              <strong>0</strong>
              <small>Private token store only</small>
            </article>
            <article>
              <span>Requested scopes</span>
              <strong>6</strong>
              <small>user.info.basic, user.info.profile, user.info.stats, video.list, video.publish, video.upload</small>
            </article>
            <article>
              <span>Runbook progress</span>
              <strong>1/6</strong>
              <small>4 blocked · 1 action</small>
            </article>
            <article>
              <span>Next step</span>
              <strong>open_tiktok_login</strong>
              <small>Creator / TikTok API Agent</small>
            </article>
          </div>

          <div class="readiness-check-grid">
                                        <article class="readiness-check readiness-check-ready">
                <div class="readiness-check-head">
                  <strong>Run review before TikTok login</strong>
                  <span class="status-chip status-success">Ready</span>
                </div>
                <span class="readiness-metric">3 non-demo reviews</span>
                <small>Video Agent · Use the existing non-demo proof as the creator handoff before OAuth.</small>
              </article>
                                        <article class="readiness-check readiness-check-action_needed">
                <div class="readiness-check-head">
                  <strong>Open TikTok Login Kit</strong>
                  <span class="status-chip status-warn">Action needed</span>
                </div>
                <span class="readiness-metric">6 scopes configured</span>
                <small>Creator / TikTok API Agent · Open /creator-studio/auth/tiktok/start.php and authorize the owned creator account.</small>
              </article>
                                        <article class="readiness-check readiness-check-blocked">
                <div class="readiness-check-head">
                  <strong>Sync profile and Creator Info</strong>
                  <span class="status-chip status-error">Blocked</span>
                </div>
                <span class="readiness-metric">0 accounts with Creator Info</span>
                <small>TikTok API Agent · Connect TikTok before the first Creator Info query.</small>
              </article>
                                        <article class="readiness-check readiness-check-blocked">
                <div class="readiness-check-head">
                  <strong>Send first Draft Upload</strong>
                  <span class="status-chip status-error">Blocked</span>
                </div>
                <span class="readiness-metric">0 draft uploads</span>
                <small>TikTok API Agent · Draft Upload waits for the connected account.</small>
              </article>
                                        <article class="readiness-check readiness-check-blocked">
                <div class="readiness-check-head">
                  <strong>Run SELF_ONLY Direct Publish</strong>
                  <span class="status-chip status-error">Blocked</span>
                </div>
                <span class="readiness-metric">0 direct publishes</span>
                <small>TikTok API Agent / Compliance Agent · Complete Draft Upload before Direct Publish.</small>
              </article>
                                        <article class="readiness-check readiness-check-blocked">
                <div class="readiness-check-head">
                  <strong>Validate URL and Photo smokes</strong>
                  <span class="status-chip status-error">Blocked</span>
                </div>
                <span class="readiness-metric">0 URL · 0 photo</span>
                <small>Video Agent / Content Agent · Signed URL preflight is ready; connect TikTok before URL and Photo smokes.</small>
              </article>
                      </div>

          <div class="scope-card">
            <div class="panel-subheader compact">
              <div>
                <h3>Requested TikTok scopes</h3>
                <p>Only approved Creator Studio access is requested at login.</p>
              </div>
              <span>6</span>
            </div>
            <div class="scope-list">
                              <article class="scope-item">
                  <div>
                    <strong>user.info.basic</strong>
                    <p>Basic user info · Login identity</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>user.info.profile</strong>
                    <p>Profile info · Account confirmation</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>user.info.stats</strong>
                    <p>Creator stats · Creator context</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>video.list</strong>
                    <p>Video list · Content context</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>video.publish</strong>
                    <p>Direct publish · SELF_ONLY direct smoke</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>video.upload</strong>
                    <p>Draft upload · Draft-first smoke</p>
                  </div>
                </article>
                          </div>
          </div>

          <div class="scope-card">
            <div class="panel-subheader compact">
              <div>
                <h3>Data and compliance gates</h3>
                <p>OpenClaw gets operational facts, not raw OAuth secrets.</p>
              </div>
              <span>5</span>
            </div>
            <div class="scope-list">
                              <article class="scope-item">
                  <div>
                    <strong>Guard</strong>
                    <p>Tokens stay in the private account store with 0600 permissions.</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>Guard</strong>
                    <p>OpenClaw events receive hashes, counts, and status only; no raw access or refresh tokens are routed.</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>Guard</strong>
                    <p>Draft Upload is the first live TikTok smoke; Direct Publish starts with SELF_ONLY and explicit confirmation.</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>Guard</strong>
                    <p>Creator Info controls privacy levels, interaction locks, max duration, AIGC, and branded-content switches before publishing.</p>
                  </div>
                </article>
                              <article class="scope-item">
                  <div>
                    <strong>Guard</strong>
                    <p>No like, follow, comment, or engagement automation is part of the approved workflow.</p>
                  </div>
                </article>
                          </div>
          </div>

          <div class="checkout-actions">
            <a class="primary-link" href="/creator-studio/auth/tiktok/start.php">Connect TikTok</a>
            <a class="secondary-link" href="#review-assistant">Run review first</a>
          </div>
        </section>

        <section class="workspace-grid review-grid" id="review-assistant">
          <article class="panel">
            <div class="panel-header">
              <div>
                <span class="eyebrow">Review Before You Post</span>
                <h2>Upload an MP4 and get a scorecard before TikTok is even connected</h2>
              </div>
              <span class="status-chip status-success">
                Assistant ready              </span>
            </div>
            <p class="panel-copy">
              Get hook, clarity, pacing, CTA, and caption-fit feedback plus stronger openings, better captions, and a tighter posting checklist before anything is sent to TikTok.
            </p>

            <div class="health-grid" aria-label="Review Assistant infrastructure status">
                              <article class="health-item health-fail">
                  <span>Needs attention</span>
                  <strong>NVIDIA runtime</strong>
                  <p>NVML mismatch · service window required · loaded module 580.126.09 · userland/NVML 580.159 · 4 active GPU processes · service window required</p>
                </article>
                              <article class="health-item health-ok">
                  <span>Ready</span>
                  <strong>GPUQ queue</strong>
                  <p>Review jobs can be queued and executed on the local worker path.</p>
                </article>
                              <article class="health-item health-ok">
                  <span>Ready</span>
                  <strong>Ollama runtime</strong>
                  <p>Local inference endpoint is reachable.</p>
                </article>
                              <article class="health-item health-ok">
                  <span>Ready</span>
                  <strong>Review model</strong>
                  <p>qwen2.5:3b</p>
                </article>
                              <article class="health-item health-ok">
                  <span>Ready</span>
                  <strong>Transcription</strong>
                  <p>Groq primary, local Whisper fallback</p>
                </article>
                          </div>

                          <form
                id="review-upload-form"
                class="upload-card review-upload-card"
                method="post"
                action="/creator-studio/api/review/create.php"
                enctype="multipart/form-data"
                data-status-url="/creator-studio/api/review/status.php"
              >
                <input type="hidden" name="csrf" value="5b212298918abde58ef3b4fe3419e50677d4b11313d0a759" />
                <div class="panel-subheader">
                  <h3>Start a new review</h3>
                  <span class="badge">Before login</span>
                </div>
                <p>Drop in a finished MP4 and Creator Studio will score the post, coach the packaging, and generate stronger TikTok-ready copy.</p>
                <label class="field">
                  <span>MP4 video</span>
                  <input type="file" name="video" accept="video/mp4" data-file-label="review-file-name" required />
                  <small id="review-file-name">Choose a finished MP4 to run through the pre-publish review assistant.</small>
                </label>
                <button class="primary-link full" type="submit">Run pre-publish review</button>
              </form>
            
            <section
              id="review-job-status"
              class="review-job-status is-hidden"
              data-review-id=""
              data-status-url="/creator-studio/api/review/status.php"
            >
              <div>
                <span class="eyebrow">Latest review job</span>
                <strong id="review-job-status-label">Waiting for upload</strong>
                <p id="review-job-status-message">Upload a video to start a new review.</p>
              </div>
              <span id="review-job-status-chip" class="status-chip status-idle">
                Idle              </span>
            </section>
          </article>

          <article class="panel">
            <div class="panel-subheader">
              <div>
                <span class="eyebrow">Persistent Library</span>
                <h2>Your saved reviews</h2>
              </div>
              <span>1 saved</span>
            </div>
            <p class="panel-copy">
              Reviews stay attached to this browser session until you connect TikTok. Once you sign in, they follow the connected creator account.            </p>

                          <div class="review-list" id="review-library">
                                                    <article
                    class="review-card"
                    data-review-id="demo-review-creator-launch"
                                      >
                    <div class="review-card-head">
                      <div>
                        <strong>Creator Studio launch teaser</strong>
                        <p>Review ready.</p>
                      </div>
                      <span class="status-chip status-success">
                        Ready                      </span>
                    </div>

                    <div class="review-meta">
                                              <span>Score 84</span>
                                                                    <span>18s</span>
                                                                    <span>1080x1920</span>
                                            <span>Jun 14, 2026 03:00 UTC</span>
                    </div>

                                          <div class="review-score-grid">
                                                  <article>
                            <strong>88</strong>
                            <span>Hook</span>
                          </article>
                                                  <article>
                            <strong>82</strong>
                            <span>Clarity</span>
                          </article>
                                                  <article>
                            <strong>79</strong>
                            <span>Pacing</span>
                          </article>
                                                  <article>
                            <strong>75</strong>
                            <span>Cta</span>
                          </article>
                                                  <article>
                            <strong>86</strong>
                            <span>Caption Fit</span>
                          </article>
                                              </div>

                      <p class="review-verdict">The opener lands quickly and the topic is clear. Tighten the payoff in the middle and end with a stronger action cue.</p>

                                                                    <section class="review-hook-timeline" aria-label="Hook timeline for the first five seconds">
                          <div class="review-hook-timeline-head">
                            <h3>Hook timeline</h3>
                            <span>1s / 3s / 5s</span>
                          </div>
                          <div class="review-hook-window-grid">
                                                                                        <article class="review-hook-window hook-window-ready">
                                <div>
                                  <strong>0-1s</strong>
                                  <span>Pattern interrupt</span>
                                </div>
                                <p>If posting feels heavier</p>
                                <footer>
                                  <span>Ready</span>
                                  <span>91/100</span>
                                  <span>Transcript</span>
                                </footer>
                              </article>
                                                                                        <article class="review-hook-window hook-window-ready">
                                <div>
                                  <strong>0-3s</strong>
                                  <span>Clear viewer promise</span>
                                </div>
                                <p>If posting feels heavier than editing, your workflow is the</p>
                                <footer>
                                  <span>Ready</span>
                                  <span>88/100</span>
                                  <span>Transcript</span>
                                </footer>
                              </article>
                                                                                        <article class="review-hook-window hook-window-ready">
                                <div>
                                  <strong>0-5s</strong>
                                  <span>Payoff or tension setup</span>
                                </div>
                                <p>If posting feels heavier than editing, your workflow is the problem. Review the cut, clean the caption,</p>
                                <footer>
                                  <span>Ready</span>
                                  <span>88/100</span>
                                  <span>Transcript</span>
                                </footer>
                              </article>
                                                      </div>
                        </section>
                      
                                            
                      <div class="review-columns">
                        <section>
                          <h3>Coach notes</h3>
                          <ul class="review-bullets">
                                                          <li>Your first line lands fast and tells the viewer why they should stay.</li>
                                                          <li>The middle section could move quicker so the payoff arrives earlier.</li>
                                                          <li>Add a clearer final action cue so the viewer knows what to do next.</li>
                                                      </ul>
                        </section>

                        <section>
                          <h3>Stronger openings</h3>
                          <ul class="review-bullets">
                                                          <li>If posting feels heavier than editing, your workflow is the problem.</li>
                                                          <li>This is what changes when your TikTok upload flow finally gets out of the way.</li>
                                                          <li>The fastest way to lose momentum is a messy publishing workflow.</li>
                                                      </ul>
                        </section>
                      </div>

                                                                      <section id="caption-recommendation-demo-review-creator-launch" class="caption-recommendation caption-recommendation-ready" aria-label="Caption recommendation">
                          <div class="caption-recommendation-head">
                            <div>
                              <h3>Caption recommendation</h3>
                              <p>The top caption is concise, specific, and aligned with the video context.</p>
                            </div>
                            <strong>94/100 · Ready</strong>
                          </div>
                          <p class="caption-recommendation-copy">A calmer way to review, draft, and publish TikTok posts in one workflow.</p>
                          <div class="caption-recommendation-checks">
                                                                                        <span class="caption-recommendation-check caption-check-ok">
                                <strong>72 chars</strong>
                                <small>Length</small>
                              </span>
                                                                                        <span class="caption-recommendation-check caption-check-ok">
                                <strong>4 hits</strong>
                                <small>Context match</small>
                              </span>
                                                                                        <span class="caption-recommendation-check caption-check-ok">
                                <strong>Action cue</strong>
                                <small>CTA signal</small>
                              </span>
                                                      </div>
                        </section>
                      
                      <div class="review-captions">
                                                                            <button
                            type="button"
                            class="review-option caption-option caption-option-recommended"
                            data-review-select="demo-review-creator-launch"
                            data-review-caption="A calmer way to review, draft, and publish TikTok posts in one workflow."
                            data-review-title="Creator Studio launch teaser"
                            data-review-mode="direct"
                          >
                            <span class="caption-option-main">
                              <span>A calmer way to review, draft, and publish TikTok posts in one workflow.</span>
                                                              <span class="caption-option-badge">Recommended</span>
                                                          </span>
                                                          <small>94/100 · compact · 4 context matches · hook aligned · action cue</small>
                                                      </button>
                                                                            <button
                            type="button"
                            class="review-option caption-option"
                            data-review-select="demo-review-creator-launch"
                            data-review-caption="From final cut to TikTok draft without the usual upload chaos."
                            data-review-title="Creator Studio launch teaser"
                            data-review-mode="direct"
                          >
                            <span class="caption-option-main">
                              <span>From final cut to TikTok draft without the usual upload chaos.</span>
                                                          </span>
                                                          <small>91/100 · compact · 4 context matches · hook aligned · action cue</small>
                                                      </button>
                                                                            <button
                            type="button"
                            class="review-option caption-option"
                            data-review-select="demo-review-creator-launch"
                            data-review-caption="One workspace for review, draft upload, and direct TikTok publishing."
                            data-review-title="Creator Studio launch teaser"
                            data-review-mode="direct"
                          >
                            <span class="caption-option-main">
                              <span>One workspace for review, draft upload, and direct TikTok publishing.</span>
                                                          </span>
                                                          <small>91/100 · compact · 4 context matches · hook aligned · action cue</small>
                                                      </button>
                                              </div>

                      <div class="review-tags">
                                                  <span>#TikTokTips</span>
                                                  <span>#CreatorWorkflow</span>
                                                  <span>#ContentCreation</span>
                                                  <span>#SocialMediaTools</span>
                                                  <span>#CreatorStudio</span>
                                              </div>

                                                                                                                  <section id="subtitle-quality-demo-review-creator-launch" class="subtitle-quality subtitle-quality-review" aria-label="Subtitle quality checks">
                          <div class="subtitle-quality-head">
                            <div>
                              <h3>Subtitle quality</h3>
                              <p>Subtitle timing is usable, but one or two readability checks should be reviewed before publishing.</p>
                            </div>
                            <strong>66/100 · Review</strong>
                          </div>
                          <div class="subtitle-quality-grid">
                                                                                        <span class="subtitle-quality-check quality-check-ok">
                                <strong>2</strong>
                                <small>Cue count</small>
                              </span>
                                                                                        <span class="subtitle-quality-check quality-check-warn">
                                <strong>79 chars</strong>
                                <small>Longest cue</small>
                              </span>
                                                                                        <span class="subtitle-quality-check quality-check-warn">
                                <strong>20 cps</strong>
                                <small>Reading speed</small>
                              </span>
                                                                                        <span class="subtitle-quality-check quality-check-ok">
                                <strong>3.4s</strong>
                                <small>Shortest hold</small>
                              </span>
                                                                                        <span class="subtitle-quality-check quality-check-warn">
                                <strong>Pending</strong>
                                <small>SRT/VTT export</small>
                              </span>
                                                      </div>
                                                                                <ul class="subtitle-quality-issues">
                                                              <li>2 cues may be too long for a TikTok subtitle line.</li>
                                                              <li>1 cue read faster than 18 chars/sec.</li>
                                                              <li>Subtitle text is available from timestamps, but SRT/VTT export artifacts are not ready yet.</li>
                                                          </ul>
                                                  </section>
                      
                      
                      <ul class="review-bullets review-checklist">
                                                  <li>Trim one slow beat from the middle before posting.</li>
                                                  <li>Pick the clearest caption variant and keep it short.</li>
                                                  <li>End with one direct viewer action instead of a soft close.</li>
                                              </ul>

                      <div class="hero-actions review-actions">
                        <button
                          type="button"
                          class="secondary-link review-apply-button"
                          data-review-select="demo-review-creator-launch"
                          data-review-title="Creator Studio launch teaser"
                          data-review-mode="draft"
                        >Use for draft upload</button>
                        <button
                          type="button"
                          class="primary-link review-apply-button"
                          data-review-select="demo-review-creator-launch"
                          data-review-caption="A calmer way to review, draft, and publish TikTok posts in one workflow."
                          data-review-title="Creator Studio launch teaser"
                          data-review-mode="direct"
                        >Use for direct publish</button>
                        <a class="ghost-link" href="/creator-studio/?review=demo-review-creator-launch#workspace">Open in publish tools</a>
                                              </div>
                                      </article>
                              </div>
                      </article>
        </section>

        <section class="workspace-grid" id="workspace">
          <article class="panel account-panel">
            <div class="panel-header">
              <div>
                <span class="eyebrow">Preview account</span>
                <h2>Creator Studio Demo</h2>
              </div>
              <span class="status-chip status-warn">
                Demo workspace              </span>
            </div>

            <div class="account-card">
              <div class="avatar-shell">
                                  <img src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&amp;fit=crop&amp;w=300&amp;q=80" alt="" />
                              </div>
              <div class="account-copy">
                <h3>@creatorstudio.demo</h3>
                <p>Publishing calm, native TikTok workflows for creator teams.</p>
                <div class="meta-row">
                  <span>Verified creator</span>
                                      <a href="https://www.tiktok.com/@creatorstudio.demo" target="_blank" rel="noreferrer">Open TikTok profile</a>
                                  </div>
              </div>
            </div>

            <div class="metric-grid">
              <article>
                <strong>84,210</strong>
                <span>Followers</span>
              </article>
              <article>
                <strong>1,294,400</strong>
                <span>Likes</span>
              </article>
              <article>
                <strong>218</strong>
                <span>Videos</span>
              </article>
              <article>
                <strong>112</strong>
                <span>Following</span>
              </article>
            </div>

            <div class="scope-card">
              <div class="panel-subheader">
                <h3>What your connected account unlocks</h3>
                              </div>
              <div class="scope-list">
                                  <article class="scope-item">
                    <div>
                      <strong>user.info.basic</strong>
                      <p>keeps the workspace tied to the right TikTok account after you connect</p>
                    </div>
                  </article>
                                  <article class="scope-item">
                    <div>
                      <strong>user.info.profile</strong>
                      <p>brings in your profile details so you can confirm you are working on the correct creator account</p>
                    </div>
                  </article>
                                  <article class="scope-item">
                    <div>
                      <strong>user.info.stats</strong>
                      <p>shows your audience and video numbers at a glance before you decide what to post next</p>
                    </div>
                  </article>
                                  <article class="scope-item">
                    <div>
                      <strong>video.list</strong>
                      <p>lets you review recent public posts so new uploads fit your current TikTok feed</p>
                    </div>
                  </article>
                                  <article class="scope-item">
                    <div>
                      <strong>video.publish</strong>
                      <p>lets you publish a finished video directly when it is ready to go live</p>
                    </div>
                  </article>
                                  <article class="scope-item">
                    <div>
                      <strong>video.upload</strong>
                      <p>lets you send a video to drafts first so you can polish it inside TikTok before posting</p>
                    </div>
                  </article>
                              </div>
            </div>
          </article>

          <article class="panel publish-panel">
            <div class="panel-header">
              <div>
                <span class="eyebrow">Publishing tools</span>
                <h2>Send videos and photo sets to TikTok</h2>
              </div>
            </div>
            <p class="panel-copy">
              Upload an MP4, hand TikTok a server-hosted video URL, or send a photo carousel from HTTPS image URLs. The connected creator stays in control of each step, and Direct Publish remains gated by TikTok Creator Info, privacy options, and compliance switches.
            </p>

            <section
              id="review-selection-banner"
              class="latest-op review-selection-banner is-hidden"
              data-selected-review=""
            >
              <div>
                <span class="eyebrow">Selected review</span>
                <strong id="review-selection-name">No review selected yet</strong>
              </div>
              <span class="status-chip status-success">Linked to publish tools</span>
            </section>

            
            <section class="creator-info-card">
              <div class="panel-subheader">
                <div>
                  <span class="eyebrow">Creator Info</span>
                  <h3>Direct Publish readiness</h3>
                </div>
                <span class="status-chip status-success">
                  Creator info ready                </span>
              </div>
              <p>
                Creator Studio refreshes TikTok creator info before Direct Publish and uses it to render privacy, interaction, AIGC, branded-content, cover-time, and max-duration controls.
              </p>
              <div class="creator-info-grid">
                <article>
                  <span>Creator</span>
                  <strong>@creatorstudio.demo</strong>
                  <small>Refreshed Jun 14, 2026 03:00 UTC</small>
                </article>
                <article>
                  <span>Max video</span>
                  <strong>600s</strong>
                  <small>Checked server-side before Direct Publish.</small>
                </article>
                <article>
                  <span>Privacy levels</span>
                  <div class="option-pills">
                                          <span>Only me</span>
                                          <span>Friends</span>
                                          <span>Public</span>
                                      </div>
                </article>
                <article>
                  <span>Interactions</span>
                  <strong>Configurable</strong>
                  <small>
                    Comments available ·
                    Duet available ·
                    Stitch available                  </small>
                </article>
              </div>
                                        </section>
            <div class="form-grid">
              <form class="upload-card" method="post" enctype="multipart/form-data">
                <input type="hidden" name="csrf" value="5b212298918abde58ef3b4fe3419e50677d4b11313d0a759" />
                <input type="hidden" name="action" value="upload-draft" />
                <input type="hidden" name="review_id" id="draft-review-id" value="" />
                <div class="panel-subheader">
                  <h3>Upload draft</h3>
                  <span class="badge">Scope: video.upload</span>
                </div>
                <p>Send an MP4 into your TikTok drafts so you can make final edits before posting.</p>
                <label class="field">
                  <span>MP4 video</span>
                  <input type="file" name="video" accept="video/mp4" disabled data-file-label="draft-file-name" required />
                  <small id="draft-file-name">MP4 video files are supported in this version of Creator Studio.</small>
                </label>
                <button class="primary-link full" type="submit" disabled>Send to drafts</button>
              </form>

              <form class="upload-card" method="post" enctype="multipart/form-data">
                <input type="hidden" name="csrf" value="5b212298918abde58ef3b4fe3419e50677d4b11313d0a759" />
                <input type="hidden" name="action" value="direct-post" />
                <input type="hidden" name="review_id" id="direct-review-id" value="" />
                <div class="panel-subheader">
                  <h3>Direct publish</h3>
                  <span class="badge">Scope: video.publish</span>
                </div>
                <p>Publish an MP4 directly from the workspace after you set the final caption.</p>
                <label class="field">
                  <span>TikTok title</span>
                  <textarea
                    name="title"
                    id="direct-title-input"
                    maxlength="2200"
                    rows="4"
                    placeholder="Creator Studio launch teaser #creatorworkflow"
                    required
                  ></textarea>
                  <small>TikTok supports captions up to 2200 characters; Creator Studio validates this before upload.</small>
                </label>
                <div class="control-grid direct-controls">
                  <label class="field">
                    <span>Privacy</span>
                    <select name="privacy_level" disabled required>
                                              <option value="SELF_ONLY" selected>
                          Only me                        </option>
                                              <option value="MUTUAL_FOLLOW_FRIENDS" >
                          Friends                        </option>
                                              <option value="PUBLIC_TO_EVERYONE" >
                          Public                        </option>
                                          </select>
                    <small>Rendered from TikTok Creator Info immediately before Direct Publish.</small>
                  </label>
                  <label class="field">
                    <span>Cover timestamp</span>
                    <input
                      type="number"
                      name="video_cover_timestamp_ms"
                      min="0"
                      step="500"
                      value="1000"
                      disabled                    />
                    <small>Milliseconds from the start of the video.</small>
                  </label>
                </div>
                <div class="checkbox-grid">
                  <label class="checkbox-field">
                    <input type="checkbox" name="disable_comment" value="1" disabled />
                    <span>Disable comments</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="disable_duet" value="1" disabled />
                    <span>Disable Duet</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="disable_stitch" value="1" disabled />
                    <span>Disable Stitch</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="brand_content_toggle" value="1" disabled />
                    <span>Branded content</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="brand_organic_toggle" value="1" disabled />
                    <span>Brand organic</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="is_aigc" value="1" disabled />
                    <span>AIGC label</span>
                  </label>
                </div>
                <label class="checkbox-field confirm-field">
                  <input type="checkbox" name="confirm_direct_publish" value="1" disabled required />
                  <span>I confirm the Creator Info, privacy, interaction, commercial-content, and AIGC choices for this Direct Publish.</span>
                </label>
                <label class="field">
                  <span>MP4 video</span>
                  <input type="file" name="video" accept="video/mp4" disabled data-file-label="direct-file-name" required />
                  <small id="direct-file-name">Creator Studio stores the publish ID so you can track delivery status afterward.</small>
                </label>
                <button class="primary-link full" type="submit" disabled>Publish video</button>
              </form>
            </div>

            <div class="form-grid asset-form-grid">
              <form class="upload-card asset-url-card" method="post">
                <input type="hidden" name="csrf" value="5b212298918abde58ef3b4fe3419e50677d4b11313d0a759" />
                <input type="hidden" name="action" value="video-url-post" />
                <div class="panel-subheader">
                  <div>
                    <span class="eyebrow">PULL_FROM_URL</span>
                    <h3>Server video URL</h3>
                  </div>
                  <span class="badge">OpenClaw assets</span>
                </div>
                <p>Send an HTTPS MP4 that already lives on the server or in an OpenClaw export path without re-uploading the file through the browser.</p>
                <label class="field">
                  <span>Mode</span>
                  <select name="video_url_mode" disabled>
                    <option value="draft">Draft upload</option>
                    <option value="direct">Direct Publish</option>
                  </select>
                  <small>Draft uses video.upload; Direct Publish uses video.publish plus Creator Info controls.</small>
                </label>
                <label class="field">
                  <span>TikTok title</span>
                  <textarea
                    name="title"
                    maxlength="2200"
                    rows="3"
                    placeholder="Server-rendered product demo #creatorworkflow"
                    disabled                  ></textarea>
                  <small>Required for Direct Publish; optional for draft uploads.</small>
                </label>
                <label class="field">
                  <span>Video HTTPS URL</span>
                  <input
                    type="url"
                    name="video_url"
                    placeholder="https://kiwerkzeuge.de/creator-studio/assets/export.mp4"
                    value=""
                    disabled                    required
                  />
                  <small>TikTok must be able to fetch the URL directly; avoid redirects and expiring links shorter than one hour.</small>
                </label>
                <div class="control-grid direct-controls">
                  <label class="field">
                    <span>Privacy</span>
                    <select name="privacy_level" disabled>
                                              <option value="SELF_ONLY" selected>
                          Only me                        </option>
                                              <option value="MUTUAL_FOLLOW_FRIENDS" >
                          Friends                        </option>
                                              <option value="PUBLIC_TO_EVERYONE" >
                          Public                        </option>
                                          </select>
                  </label>
                  <label class="field">
                    <span>Cover timestamp</span>
                    <input type="number" name="video_cover_timestamp_ms" min="0" step="500" value="1000" disabled />
                  </label>
                </div>
                <div class="checkbox-grid">
                  <label class="checkbox-field">
                    <input type="checkbox" name="disable_comment" value="1" disabled />
                    <span>Disable comments</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="disable_duet" value="1" disabled />
                    <span>Disable Duet</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="disable_stitch" value="1" disabled />
                    <span>Disable Stitch</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="brand_content_toggle" value="1" disabled />
                    <span>Branded content</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="brand_organic_toggle" value="1" disabled />
                    <span>Brand organic</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="is_aigc" value="1" disabled />
                    <span>AIGC label</span>
                  </label>
                </div>
                <label class="checkbox-field confirm-field">
                  <input type="checkbox" name="confirm_url_publish" value="1" disabled />
                  <span>I confirm these Direct Publish settings when the selected mode is Direct Publish.</span>
                </label>
                <button class="primary-link full" type="submit" disabled>Send server URL</button>
              </form>

              <form class="upload-card asset-url-card" method="post">
                <input type="hidden" name="csrf" value="5b212298918abde58ef3b4fe3419e50677d4b11313d0a759" />
                <label class="honeypot" aria-hidden="true">
                  <span>Website</span>
                  <input type="text" name="photo_website" tabindex="-1" autocomplete="off" />
                </label>
                <div class="panel-subheader">
                  <div>
                    <span class="eyebrow">Photo / Carousel</span>
                    <h3>Photo post from URLs</h3>
                  </div>
                  <span class="badge">Up to 35 images</span>
                </div>
                <p>Turn image sets from OpenClaw, HuggingFace, or local render jobs into TikTok photo uploads or direct photo posts.</p>
                <div class="control-grid direct-controls">
                  <label class="field">
                    <span>Agency template</span>
                    <select name="photo_template_id">
                                              <option value="product_demo">
                          Product demo                        </option>
                                              <option value="before_after">
                          Before / after                        </option>
                                              <option value="checklist">
                          Checklist                        </option>
                                              <option value="case_study">
                          Case study                        </option>
                                          </select>
                  </label>
                  <label class="field">
                    <span>Mode</span>
                    <select name="photo_mode" disabled>
                      <option value="upload">Photo upload</option>
                      <option value="direct">Direct photo post</option>
                    </select>
                  </label>
                  <label class="field">
                    <span>Cover image index</span>
                    <input type="number" name="photo_cover_index" min="0" max="34" value="0" />
                  </label>
                </div>
                <label class="field">
                  <span>Image HTTPS URLs</span>
                  <textarea
                    class="url-list"
                    name="photo_image_urls"
                    rows="6"
                    placeholder="https://kiwerkzeuge.de/creator-studio/assets/frame-01.jpg&#10;https://kiwerkzeuge.de/creator-studio/assets/frame-02.jpg"
                    disabled                    required
                  ></textarea>
                  <small>One HTTPS image URL per line or comma-separated. TikTok accepts up to 35 images.</small>
                </label>
                <label class="field">
                  <span>Photo title</span>
                  <input type="text" name="photo_title" maxlength="90" placeholder="7 hooks for your next product demo" required />
                  <small>Maximum 90 characters.</small>
                </label>
                <label class="field">
                  <span>Description</span>
                  <textarea name="photo_description" maxlength="4000" rows="4" placeholder="Carousel copy, CTA, and hashtags"></textarea>
                  <small>Maximum 4000 characters.</small>
                </label>
                <label class="field">
                  <span>Agency review notes</span>
                  <textarea name="photo_agency_notes" maxlength="1200" rows="3" placeholder="Target audience, approval risk, offer, or compliance constraints"></textarea>
                  <small>Private notes for the Content Agent before upload.</small>
                </label>
                <label class="field">
                  <span>Privacy</span>
                  <select name="photo_privacy_level" disabled>
                                          <option value="SELF_ONLY" selected>
                        Only me                      </option>
                                          <option value="MUTUAL_FOLLOW_FRIENDS" >
                        Friends                      </option>
                                          <option value="PUBLIC_TO_EVERYONE" >
                        Public                      </option>
                                      </select>
                </label>
                <div class="checkbox-grid">
                  <label class="checkbox-field">
                    <input type="checkbox" name="photo_disable_comment" value="1" disabled />
                    <span>Disable comments</span>
                  </label>
                  <label class="checkbox-field">
                    <input type="checkbox" name="auto_add_music" value="1" disabled />
                    <span>Auto-add music</span>
                  </label>
                </div>
                <label class="checkbox-field confirm-field">
                  <input type="checkbox" name="confirm_photo_publish" value="1" disabled />
                  <span>I confirm these Direct Publish settings when the selected mode is Direct photo post.</span>
                </label>
                <div class="checkout-actions">
                  <button class="secondary-link" type="submit" name="action" value="photo-carousel-brief">Save agency brief</button>
                  <button class="primary-link" type="submit" name="action" value="photo-post" disabled>Send photo post</button>
                </div>
              </form>
            </div>

                          <div class="demo-lock">
                <strong>Connect TikTok to activate uploads.</strong>
                <span>The live upload forms stay disabled until the browser session has a valid TikTok token set. Start with Draft Upload; Direct Publish is intended for accounts with verified creator-info and privacy settings.</span>
              </div>
                      </article>
        </section>


        <section class="panel reporting-panel" id="reporting">
          <div class="panel-header">
            <div>
              <span class="eyebrow">Workspace reporting</span>
              <h2>Track the path from review to TikTok delivery</h2>
            </div>
            <span class="status-chip status-success">
              Demo analytics            </span>
          </div>
          <p class="panel-copy">
            Creator Studio now turns saved reviews, draft uploads, direct publishes, photo uploads, URL-based publishes, and webhook responses into a lightweight operating report for the creator or agency workspace.
          </p>

          <div class="report-metric-grid">
            <article>
              <span>Reviews</span>
              <strong>1</strong>
              <small>100% ready</small>
            </article>
            <article>
              <span>Average score</span>
              <strong>84</strong>
              <small>Across scored reviews</small>
            </article>
            <article>
              <span>Publish ops</span>
              <strong>1</strong>
              <small>1 draft · 0 direct</small>
            </article>
            <article>
              <span>Webhook health</span>
              <strong>1/1</strong>
              <small>0 failed updates</small>
            </article>
            <article>
              <span>Pilot leads</span>
              <strong>0</strong>
              <small>0 new · 0 follow-up</small>
            </article>
            <article>
              <span>Billing pipeline</span>
              <strong>299 €</strong>
              <small>0 draft · 1 checkout · 0 € paid MRR</small>
            </article>
            <article>
              <span>Onboarding packs</span>
              <strong>1/1</strong>
              <small>1 connect links · 1 paid gate blocked</small>
            </article>
            <article>
              <span>MRR goal</span>
              <strong>0/1000 €</strong>
              <small>1000 € gap · 90 days</small>
            </article>
            <article>
              <span>Weekly return</span>
              <strong>—</strong>
              <small>0/0 returning · target 30%</small>
            </article>
            <article>
              <span>Agency slots</span>
              <strong>0/3</strong>
              <small>1 workspaces · 3 open · 299 € potential</small>
            </article>
            <article>
              <span>Library docs</span>
              <strong>1</strong>
              <small>0 embedded · 3 recs</small>
            </article>
            <article>
              <span>OpenClaw tasks</span>
              <strong>26</strong>
              <small>14 high · 16 test skipped</small>
            </article>
            <article>
              <span>Mission Control</span>
              <strong>27</strong>
              <small>16 test skipped · Jun 14, 2026 03:00 UTC</small>
            </article>
            <article>
              <span>Ops Watchdog</span>
              <strong>Blocked</strong>
              <small>6/7 ready · 1 blocked</small>
            </article>
          </div>

          <article class="report-block readiness-block">
            <div class="panel-subheader compact">
              <div>
                <h3>Pilot readiness</h3>
                <p>Operational gates for the commercial pilot, separated from demo and smoke signals.</p>
              </div>
              <code>commercial_pipeline</code>
            </div>
            <div class="readiness-summary-grid">
              <article><strong>17</strong><span>Ready</span></article>
              <article><strong>2</strong><span>Action needed</span></article>
              <article><strong>4</strong><span>Blocked</span></article>
            </div>
            <div class="readiness-check-grid">
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>TikTok app configuration</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">client configured</span>
                  <small>Keep scopes and redirect URLs aligned with the TikTok developer app.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Connected TikTok account</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 connected</span>
                  <small>Connect the first owned TikTok account for a real showcase.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Server-side review proof</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">3 non-demo completed</span>
                  <small>Use recent completed reviews for sales demos and creator library calibration.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Visual moment analysis</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">5 analyzed</span>
                  <small>Use frame moments and opener checks in cover, hook, and publish handoff decisions.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Semantic visual briefs</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">1 real · 0 test</span>
                  <small>Use semantic visual briefs as the Qwen/HF handoff without leaking frame paths.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Semantic visual results</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">1 real · 1 test</span>
                  <small>Use validated semantic outputs in creator approval, cover, and publish handoff decisions.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Tokenized review reports</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">2 active · 1 test</span>
                  <small>Use active share reports for creator approval and sales follow-up.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>TikTok publish smoke</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 operations</span>
                  <small>Run Draft Upload first, then SELF_ONLY Direct Publish.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Signed PULL_FROM_URL assets</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">2 video · 1 image · HEAD 200 / Range 206</span>
                  <small>Confirm the exact URL prefix in TikTok Developer Portal, then use this signed asset flow for the first connected-account PULL_FROM_URL smoke.</small>
                </article>
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>URL and photo smoke</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">0 URL · 0 photo</span>
                  <small>Validate PULL_FROM_URL and 2-3 image Photo/Carousel with the connected account.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Photo carousel briefs</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">1 real · 1 test</span>
                  <small>Use approved briefs as the agency handoff before Photo/Carousel upload.</small>
                </article>
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>Pilot lead pipeline</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">0 real leads · 0 follow-up</span>
                  <small>Drive the first real pilot inquiry through the public form.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Invoice/payment handoff</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">1 real · 1 test · 1 pending · 1 briefs</span>
                  <small>Use the private invoice brief to issue payment instructions, then confirm externally before marking paid.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Pilot onboarding pack</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">1 real · 0 test · 1 prepared</span>
                  <small>Use the private onboarding pack to send offer, invoice reference, proof assets, TikTok Connect link, and next steps.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Paid revenue proof</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 € paid MRR</span>
                  <small>Confirm external payment with invoice reference, then mark paid only with --payment-reference.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Sales notifications</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">enabled · live</span>
                  <small>Monitor sent/failed notification status.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Brand playbook</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">1 active · 1 test</span>
                  <small>Use the active playbook to constrain hooks, CTAs, compliance notes, and OpenClaw handoffs.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Agency workspace slots</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">1 real workspaces · 0/3 creator slots connected</span>
                  <small>Use open creator slots for TikTok Connect scheduling and paid agency onboarding.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>OpenClaw follow-up queue</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">26 open · 14 high</span>
                  <small>Route real creator events into Mission Control and close stale tasks.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Local-first model router</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">6/6 routes ready · 0 planned</span>
                  <small>Keep local-first routing active; use local Ollama vision now and benchmark Qwen/HF as the premium upgrade path.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Mission Control bridge</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">27 sent · 16 test skipped</span>
                  <small>Keep the bridge dry-run empty and send new real Creator Studio events as they arrive.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Ops Watchdog</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">6/7 ready · 1 blocked</span>
                  <small>Fix blocked ops checks before promising local GPU or Qwen-class analysis.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Creator Library embeddings</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">5 docs · 5 embedded</span>
                  <small>Use BGE-M3 matches to calibrate caption and hook recommendations.</small>
                </article>
                          </div>
          </article>

          <article class="report-block readiness-block">
            <div class="panel-subheader compact">
              <div>
                <h3>Agency workspace slots</h3>
                <p>Aggregated slot planning for the 299 € agency offer before TikTok Connect onboarding.</p>
              </div>
              <span class="status-chip status-success">Ready</span>
            </div>
            <div class="readiness-summary-grid">
              <article><strong>1</strong><span>Real workspaces</span></article>
              <article><strong>0/3</strong><span>Creator slots</span></article>
              <article><strong>299 €</strong><span>Potential MRR</span></article>
            </div>
            <div class="readiness-check-grid">
              <article class="readiness-check readiness-check-ready">
                <div class="readiness-check-head">
                  <strong>Workspace inventory</strong>
                  <span class="status-chip status-success">Ready</span>
                </div>
                <span class="readiness-metric">1 test · 3 open slots</span>
                <small>Use open slots for TikTok Connect scheduling and paid agency onboarding.</small>
              </article>
            </div>
          </article>

          <article class="report-block readiness-block">
            <div class="panel-subheader compact">
              <div>
                <h3>Commercialization goal</h3>
                <p>1,000 € MRR by 2026-09-11; first paid proof by 2026-06-30.</p>
              </div>
              <span class="status-chip status-error">Blocked</span>
            </div>
            <div class="readiness-summary-grid">
              <article><strong>0 €</strong><span>Paid MRR</span></article>
              <article><strong>21</strong><span>49 € pilots needed</span></article>
              <article><strong>4</strong><span>299 € workspaces needed</span></article>
              <article><strong>—</strong><span>Weekly return target</span></article>
            </div>
            <div class="readiness-check-grid">
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>First verified paid offer</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">0 € paid MRR · deadline 2026-06-30</span>
                  <small>Confirm external payment before marking paid.</small>
                </article>
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>1,000 € MRR target</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">0/1000 € paid MRR</span>
                  <small>Convert real leads into accepted offers, invoice handoffs, and verified paid MRR.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Connected TikTok accounts</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0/20 accounts</span>
                  <small>Onboard real creators through TikTok Login Kit.</small>
                </article>
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>Completed video reviews</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">5/100 reviews</span>
                  <small>Run more creator reviews from real or sales-handoff assets.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Draft or Direct publishes</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0/30 publishes</span>
                  <small>Run Draft Upload first, then SELF_ONLY Direct Publish.</small>
                </article>
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>Agency workspaces</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">1/4 workspaces</span>
                  <small>Create 299 € agency workspaces from real leads and schedule creator-slot TikTok Connect.</small>
                </article>
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>Weekly returning connected accounts</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">tracking active · 0 eligible accounts · target 30 %</span>
                  <small>Connect real TikTok accounts and let them age 7 days before this rate can pass.</small>
                </article>
                          </div>
          </article>

          <article class="report-block readiness-block">
            <div class="panel-subheader compact">
              <div>
                <h3>Pilot activation plan</h3>
                <p>Connected-account launch sequence for the first real TikTok publish smokes.</p>
              </div>
              <code>connect_tiktok_account</code>
            </div>
            <div class="readiness-summary-grid">
              <article><strong>1</strong><span>Ready</span></article>
              <article><strong>1</strong><span>Action needed</span></article>
              <article><strong>6</strong><span>Blocked</span></article>
            </div>
            <div class="readiness-check-grid">
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Connect owned TikTok account</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 connected accounts</span>
                  <small>Creator / TikTok API Agent · Connect the first owned TikTok account for a real showcase.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Fetch Creator Info and privacy options</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 accounts with Creator Info</span>
                  <small>TikTok API Agent · Connect TikTok first, then fetch Creator Info.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Run or select non-demo review proof</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">3 non-demo completed reviews</span>
                  <small>Video Agent · Use recent completed reviews for sales demos and creator library calibration.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Run Draft Upload smoke</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 draft uploads</span>
                  <small>TikTok API Agent · Connect TikTok before Draft Upload smoke.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Run SELF_ONLY Direct Publish smoke</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 direct publishes</span>
                  <small>TikTok API Agent / Compliance Agent · Complete Draft Upload smoke before Direct Publish smoke.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Validate PULL_FROM_URL smoke</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 URL publishes · asset preflight ready</span>
                  <small>Video Agent / TikTok API Agent · Connect TikTok; signed HTTPS pull asset delivery is already preflighted.</small>
                </article>
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>Validate Photo/Carousel smoke</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">0 photo publishes · 1 real briefs</span>
                  <small>Content Agent / TikTok API Agent · Keep carousel brief ready and connect TikTok before Photo/Carousel smoke.</small>
                </article>
                                              <article class="readiness-check readiness-check-action_needed">
                  <div class="readiness-check-head">
                    <strong>Move from proof to commercial handoff</strong>
                    <span class="status-chip status-warn">Action needed</span>
                  </div>
                  <span class="readiness-metric">0 leads · 1 handoffs · 0 EUR paid MRR</span>
                  <small>Sales Follow-up Agent · Convert a real pilot lead into invoice/payment handoff, then mark paid only after external payment confirmation.</small>
                </article>
                          </div>
          </article>

          <article class="report-block readiness-block">
            <div class="panel-subheader compact">
              <div>
                <h3>Ops Watchdog</h3>
                <p>Runtime checks for local AI, TikTok configuration, Mission Control, and notification delivery.</p>
              </div>
              <span class="status-chip status-error">Blocked</span>
            </div>
            <div class="readiness-summary-grid">
              <article><strong>6</strong><span>Ready</span></article>
              <article><strong>0</strong><span>Action needed</span></article>
              <article><strong>1</strong><span>Blocked</span></article>
            </div>
            <div class="readiness-check-grid">
                                              <article class="readiness-check readiness-check-blocked">
                  <div class="readiness-check-head">
                    <strong>NVIDIA runtime</strong>
                    <span class="status-chip status-error">Blocked</span>
                  </div>
                  <span class="readiness-metric">NVML mismatch · service window required</span>
                  <small>loaded module 580.126.09 · userland/NVML 580.159 · 4 active GPU processes · service window required</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Ollama runtime</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">15 models</span>
                  <small>Configured model available: qwen2.5:3b</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Model router</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">6/6 routes ready · 0 planned</span>
                  <small>Local-first policy active; cloud fallback disabled; semantic visual route uses local Ollama vision.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Review pipeline</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">GPUQ ok · transcription ok</span>
                  <small>Review Assistant ready for MP4 scorecards.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>TikTok API config</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">client configured</span>
                  <small>6 approved scopes configured.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Mission Control bridge</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">27 sent · 0 failed</span>
                  <small>Real Creator Studio events reached OpenClaw Mission Control.</small>
                </article>
                                              <article class="readiness-check readiness-check-ready">
                  <div class="readiness-check-head">
                    <strong>Sales notifications</strong>
                    <span class="status-chip status-success">Ready</span>
                  </div>
                  <span class="readiness-metric">enabled · live</span>
                  <small>mail() available for follow-up routing.</small>
                </article>
                          </div>
          </article>

          <div class="reporting-layout">
            <article class="report-block funnel-block">
              <div class="panel-subheader compact">
                <h3>Review-to-publish funnel</h3>
                <code>Workspace conversion</code>
              </div>
              <div class="funnel-list">
                                  <div class="funnel-row" style="--bar: 100%;">
                    <div>
                      <strong>Reviews</strong>
                      <span>1</span>
                    </div>
                    <div class="funnel-bar" aria-hidden="true"><span></span></div>
                    <small>100%</small>
                  </div>
                                  <div class="funnel-row" style="--bar: 100%;">
                    <div>
                      <strong>Ready</strong>
                      <span>1</span>
                    </div>
                    <div class="funnel-bar" aria-hidden="true"><span></span></div>
                    <small>100%</small>
                  </div>
                                  <div class="funnel-row" style="--bar: 0%;">
                    <div>
                      <strong>Linked</strong>
                      <span>0</span>
                    </div>
                    <div class="funnel-bar" aria-hidden="true"><span></span></div>
                    <small>0%</small>
                  </div>
                                  <div class="funnel-row" style="--bar: 100%;">
                    <div>
                      <strong>Publish ops</strong>
                      <span>1</span>
                    </div>
                    <div class="funnel-bar" aria-hidden="true"><span></span></div>
                    <small>100%</small>
                  </div>
                              </div>
            </article>

            <article class="report-block trend-block">
              <div class="panel-subheader compact">
                <h3>Score trend</h3>
                <code>Last six scored reviews</code>
              </div>
                              <div class="score-trend-grid">
                                      <article style="--score: 84%;">
                      <span class="score-bar"><i></i></span>
                      <strong>84</strong>
                      <small title="Creator Studio launch teaser">Creator Studio launch teaser</small>
                    </article>
                                  </div>
                          </article>

            <article class="report-block status-block">
              <div class="panel-subheader compact">
                <h3>Publish mix</h3>
                <code>Draft vs Direct</code>
              </div>
              <div class="split-stack">
                <div style="--bar: 100%;">
                  <span>Draft uploads</span>
                  <strong>1</strong>
                  <i></i>
                </div>
                <div style="--bar: 0%;">
                  <span>Direct publishes</span>
                  <strong>0</strong>
                  <i></i>
                </div>
              </div>
              <div class="status-mini-grid">
                <article><strong>0</strong><span>Complete</span></article>
                <article><strong>1</strong><span>Pending</span></article>
                <article><strong>0</strong><span>Failed</span></article>
              </div>
            </article>
          </div>

          <article class="report-block library-block">
            <div class="panel-subheader compact">
              <div>
                <h3>Creator Library</h3>
                <p>Reusable hooks, captions, transcripts, subtitles, and review terms are indexed for this workspace. BGE-M3 embeddings are calculated locally through Ollama and kept in the private library index.</p>
              </div>
              <code>BAAI/bge-m3 · ollama</code>
            </div>
            <div class="library-metric-row">
              <span>3 hooks</span>
              <span>3 captions</span>
              <span>1 transcripts</span>
              <span>0 subtitle-ready</span>
              <span>0 embedded</span>
              <span>3 recommendations</span>
            </div>
            <div class="library-recommendation-status">
              <strong>BGE-M3 + local agent recommendations</strong>
              <span>3 saved · 9 matches · 1 reranked · top 0.635548 · rerank 0.85</span>
            </div>
                          <div class="library-recommendation-list" id="creator-library-recommendations" aria-label="BGE-M3 creator recommendations">
                                                    <article class="library-recommendation-card">
                    <div class="library-recommendation-card-head">
                      <div>
                        <strong>Demo-safe hook recommendations from the visible Creator Library</strong>
                        <span>Jun 13, 2026 22:45 UTC · 3 visible matches · top 0.840</span>
                      </div>
                      <code>demo-safe</code>
                    </div>
                    <p>Use the strongest visible hook, tighten the CTA, then prepare the creator approval note.</p>
                    <div class="library-recommendation-match-grid">
                                              <article>
                          <span>#1 · score 0.840 · Creator Studio launch teaser · review 84</span>
                          <strong>Adapt this visible demo hook pattern: If posting feels heavier than editing, your workflow is the problem.</strong>
                                                                                                          <small>workflow · tiktok · one · middle · action</small>
                                                  </article>
                                              <article>
                          <span>#2 · score 0.840 · Creator Studio launch teaser · review 84</span>
                          <strong>Adapt this visible demo hook pattern: This is what changes when your TikTok upload flow finally gets out of the way.</strong>
                                                                                                          <small>workflow · tiktok · one · middle · action</small>
                                                  </article>
                                              <article>
                          <span>#3 · score 0.840 · Creator Studio launch teaser · review 84</span>
                          <strong>Adapt this visible demo hook pattern: The fastest way to lose momentum is a messy publishing workflow.</strong>
                                                                                                          <small>workflow · tiktok · one · middle · action</small>
                                                  </article>
                                          </div>
                  </article>
                              </div>
                                      <div class="library-hook-list">
                                  <article>
                    <strong>If posting feels heavier than editing, your workflow is the problem.</strong>
                    <span>Creator Studio launch teaser · score 84</span>
                  </article>
                                  <article>
                    <strong>This is what changes when your TikTok upload flow finally gets out of the way.</strong>
                    <span>Creator Studio launch teaser · score 84</span>
                  </article>
                                  <article>
                    <strong>The fastest way to lose momentum is a messy publishing workflow.</strong>
                    <span>Creator Studio launch teaser · score 84</span>
                  </article>
                              </div>
                      </article>
        </section>

        <section class="workspace-grid lower-grid">
          <article class="panel">
            <div class="panel-subheader">
              <h2>Recent public videos</h2>
              <span>3 shown</span>
            </div>
            <div class="video-grid">
                              <article class="video-card">
                                      <img src="https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&amp;fit=crop&amp;w=800&amp;q=80" alt="" />
                                    <div class="video-copy">
                    <strong>Behind the scenes: creator workflow</strong>
                    <p>How the upload review flow works before direct publish.</p>
                    <div class="meta-row">
                      <span>28s</span>
                      <span>Mar 11, 2026 03:33 UTC</span>
                    </div>
                  </div>
                </article>
                              <article class="video-card">
                                      <img src="https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&amp;fit=crop&amp;w=800&amp;q=80" alt="" />
                                    <div class="video-copy">
                    <strong>Three hooks that survived review</strong>
                    <p>A short publishing-ready edit for creator accounts.</p>
                    <div class="meta-row">
                      <span>19s</span>
                      <span>Mar 10, 2026 03:33 UTC</span>
                    </div>
                  </div>
                </article>
                              <article class="video-card">
                                      <img src="https://images.unsplash.com/photo-1504384308090-c894fdcc538d?auto=format&amp;fit=crop&amp;w=800&amp;q=80" alt="" />
                                    <div class="video-copy">
                    <strong>Draft first, publish second</strong>
                    <p>When creators want one more pass in the TikTok app.</p>
                    <div class="meta-row">
                      <span>24s</span>
                      <span>Mar 9, 2026 03:33 UTC</span>
                    </div>
                  </div>
                </article>
                          </div>
          </article>

          <article class="panel">
            <div class="panel-subheader">
              <h2>Publishing activity and status</h2>
              <span>Demo timeline</span>
            </div>

                          <section class="latest-op">
                <div>
                  <span class="eyebrow">Latest publish record</span>
                  <strong>Creator Studio launch teaser</strong>
                </div>
                <span class="status-chip status-warn">
                  WEBHOOK_RECEIVED                </span>
              </section>
            
            <div class="timeline">
                              <article class="timeline-item">
                  <div class="timeline-head">
                    <strong>Creator Studio launch teaser</strong>
                    <span class="status-chip status-warn">
                      WEBHOOK_RECEIVED                    </span>
                  </div>
                  <p>
                    DRAFT ·
                    Publish ID <code>v_pub_demo_20260312</code>
                                                          </p>
                  <p class="muted">
                    Captured Jun 14, 2026 03:00 UTC                                          · Last webhook post.publish.status_update                                      </p>
                                  </article>
                          </div>

            <div class="webhook-list">
              <div class="panel-subheader compact">
                <h3>Recent delivery updates</h3>
                <code>TikTok publish status</code>
              </div>
                              <article class="webhook-item">
                  <div>
                    <strong>post.publish.status_update</strong>
                    <p>v_pub_demo_20260312</p>
                  </div>
                  <span class="status-chip status-warn">
                    WEBHOOK_RECEIVED                  </span>
                </article>
                          </div>
          </article>
        </section>

        <section class="scope-grid">
          <article class="panel">
            <span class="eyebrow">How it works</span>
            <h2>Review first, then choose how each video is sent</h2>
            <p class="panel-copy">
              Start with the pre-publish review assistant to score the video, sharpen the packaging, and save the strongest version. Then connect TikTok, review recent public posts, and decide whether the final file should go to drafts or be published directly.
            </p>
          </article>
          <article class="panel">
            <span class="eyebrow">Why creators use it</span>
            <h2>A focused workspace instead of a scattered workflow</h2>
            <p class="panel-copy">
              Keep pre-publish feedback, caption ideas, account overview, draft uploads, direct publishing, and status tracking in one place without switching between multiple tools.
            </p>
          </article>
        </section>
      </main>

      <footer class="footer">
        <div>
          <strong>kiwerkzeuge Creator Studio</strong>
          <p>A creator workspace for scoring videos before they post, improving packaging, uploading drafts, publishing directly, and following delivery status.</p>
        </div>
        <div class="footer-links">
          <a href="/creator-studio/privacy.html">Privacy Policy</a>
          <a href="/creator-studio/terms.html">Terms of Service</a>
          <a href="/creator-studio/auth/tiktok/start.php">Connect TikTok</a>
        </div>
      </footer>
    </div>
  </body>
</html>