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: //tmp/creator-studio-caption-v19.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-19" />
    <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>
            <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="d6d339fc472abd2147dcb52cca7cab1112dd830b0cf5120c" />
            <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="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-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="d6d339fc472abd2147dcb52cca7cab1112dd830b0cf5120c" />
                <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 13, 2026 13:11 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 13, 2026 13:11 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="d6d339fc472abd2147dcb52cca7cab1112dd830b0cf5120c" />
                <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="d6d339fc472abd2147dcb52cca7cab1112dd830b0cf5120c" />
                <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"
                    disabled                    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="d6d339fc472abd2147dcb52cca7cab1112dd830b0cf5120c" />
                <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="d6d339fc472abd2147dcb52cca7cab1112dd830b0cf5120c" />
                <input type="hidden" name="action" value="photo-post" />
                <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>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" disabled />
                  </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" disabled 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" disabled></textarea>
                  <small>Maximum 4000 characters.</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>
                <button class="primary-link full" type="submit" disabled>Send photo post</button>
              </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>0 €</strong>
              <small>0 draft · 0 checkout · 0 € paid MRR</small>
            </article>
            <article>
              <span>Library docs</span>
              <strong>1</strong>
              <small>0 embedded · 1 recs</small>
            </article>
            <article>
              <span>OpenClaw tasks</span>
              <strong>5</strong>
              <small>1 high · 6 test skipped</small>
            </article>
          </div>

          <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>1 recommendations</span>
            </div>
            <div class="library-recommendation-status">
              <strong>BGE-M3 agent recommendations</strong>
              <span>1 saved · 3 matches · top 0.635548</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 11:57 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 13, 2026 13:11 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>