Skip to content

Releases: justintanner/videobook

videobook 0.4.2

Choose a tag to compare

@superlzyguy superlzyguy released this 02 Nov 00:51

Added

  • /split @a1 at scenes reviews detected camera cuts one at a time, with
    large before and after frames, three frames on each side to move the cut
    to, the usual nudges and a ±1s loop across the cut. K keeps a cut, X
    removes it, J goes back and ← → nudge by a frame. A filmstrip marks each
    cut's status and adds a cut on double-click, removed cuts can be restored,
    and weaker candidates can be added for review in one step.
  • split_video_at_scenes splits a notebook video into one clip per scene: it
    detects camera cuts, reusing a cached detect_scenes result, then adds a
    split cell and one output cell per scene below the source and runs it.
    Pass cut_points_seconds to split at reviewed times instead.
  • The Kie Grok Imagine Video 1.5 preview takes a loop image (@loop) and up
    to four timed keyframes (@keyframe1-@keyframe4) in notebooks and
    generate_video. Keyframes without a time are spaced evenly over the clip.
  • MachGen MiniMax H3 Omni turns image or video references into a 768p clip
    of 1-15 seconds at 0.02 USD/s. generate_video accepts it, and like
    MachGen's own app the model picker leaves it out.

Changed

  • detect_scenes places camera cuts on the exact frame and scores each
    frame's change against the surrounding half second, so hard cuts in dark
    or low-contrast footage are no longer dropped. The default minimum score
    is 5, and detail: "full" also returns every cut, motion settle and a
    filmstrip.
  • The split editor has a cut editor under the source player: large before
    and after frames, an eight-frame strip where clicking a frame moves the
    cut, and nudges of one frame, 0.1s and 1s. Its Across cut loop replaces
    Surroundings.
  • @apicity 0.24.0. MachGen image edits take up to 16 images for GPT Image
    2, GPT Image 2.5 Sunburst and Flare, and up to 14 for Nano Banana 2 and
    2.1, up from nine.
  • MachGen MiniMax H3 Turbo estimates follow MachGen's current 0.015 USD/s
    promotion.

Fixed

  • A Grok Imagine Image 2.0 generation with connected images that fails before
    reaching xAI is captured under v1.images.edits, the endpoint it would have
    posted to, instead of v1.images.generations, so apicity har report
    resolves it.
  • Notebook generation previews for Grok Imagine Image 2.0 name the xAI image
    endpoint, v1.images.edits with connected images and
    v1.images.generations without, instead of the video endpoint.

videobook 0.4.1

Choose a tag to compare

@superlzyguy superlzyguy released this 01 Nov 09:13

Added

  • Optional Omkar trending source for research schedules when OMKAR_API_KEY
    is set, through @apicity/omkar. Status reports omkar as not configured
    when the key is unset. The default Thailand schedule makes one trending
    request per sample and does not retry it.
  • @apicity 0.23.1, including the ElevenLabs scribe_v2 cost rate.
    MachGen Seedance 2.5 and 2.0 estimates follow that package's public pricebook.
  • Every fal video endpoint in Apicity, including Seedance 2.0 and 2.5, the
    MiniMax H3 family (LoRA, extend, 3D, lip-sync, camera controls and Max
    Turbo reference-to-video), Kling O3 Pro and v3, FLUX 3, Wan 2.7, Gemini
    Omni Flash, LTX 2.5, Luma Ray 3.2, HappyHorse 1.0 and 1.1, Grok Imagine 1.5,
    Cosmos 3, Sora 2, Veo 3.1 and HeyGen video tools. fal also adds Krea 3
    text-to-image and edit, Mirelo video-to-audio and Topaz image upscale.
  • xAI Grok Imagine Video 1.5 with first and last frames, Grok Imagine Video
    1.5 Lite, and Grok Imagine Image 2.0 for text-to-image and edits.
  • MachGen GPT Image 2, GPT Image 2.5 Sunburst and Flare, and Nano Banana 2
    and 2.1 for text-to-image and edits of up to nine images; MiniMax H3
    Sharpen for MachGen's own H3 videos; and reference-video edit and extend
    on MachGen models that support them.
  • Extend video and Upscale video actions on video cells. Upscale uses
    MachGen's 2K regeneration for MachGen MiniMax H3 videos and otherwise the
    first configured Topaz upscaler from MachGen, fal or Kie.
  • Live splice preview in the splice inspector and the chat splice review: it
    plays the first clip into the second at the predicted cut, and a
    frame-match curve sets the overlap, with a best-match jump and a quality
    grade. The read-only preview_splice tool scores the cuts, and
    splice_video cuts where the preview shows.
  • change_video_speed retimes a section with start_seconds and
    end_seconds, and its review sheet edits the range, speed and target
    duration in place with a live preview.

Changed

  • ElevenLabs scribe_v2 speech-to-text usage is estimated from the audio
    duration already known to the transcribe, caption, sync, render, archive,
    extend and sound-removal paths. A request with no duration stays unpriced.
  • trending_research without arguments creates or addresses the Thailand
    schedule (Asia/Bangkok, 00:30 cutoff, four samples, top 10), and
    /trending schedule and /trending TH both work.
  • The Post inspector shows a live preview, Clip, Caption, Deliver, Link and
    Results progress, a platform picker, a caption counter against the
    platform limit and a delivery rail for iPhone, download and X.
  • Save to iPhone has a compact caption and an animated iCloud upload status,
    including progress a sync relay reports for servers without iCloud Drive.
  • The composer's voice control is a phone button that rings while a call
    connects and hangs up on hover; the text button ends a call and returns to
    typing, and send sits beside the chat model menu.
  • Notebook cells show tags naming where their wires go instead of bare port
    dots.
  • Workspace action settings use a compact grid, so actions such as
    /trending fit on screen.
  • Watermark handles default to 28px of vertical padding.

Fixed

  • Research runs that earlier builds left with stale download errors settle
    on the next scheduler tick, and their rank cells, summary and status
    recover without new downloads.
  • Research archive spend stays visible after retention deletes a day book:
    archive usage moves to the control book, and trending_research status
    reports it.

Security

  • @modelcontextprotocol/node 2.1.2 and @hono/node-server 2.1.5.
    hono is no longer a direct server dependency; the SDK depends on it.

videobook 0.4.0

Choose a tag to compare

@superlzyguy superlzyguy released this 28 Oct 21:07

Added

  • Daily TikTok research books with ranked clips, source provenance and a
    download-status summary. Country schedules support local cutoffs, sampling,
    ranking, retention and optional downstream processing; repeated cuts reuse
    the same day book, and schedules resume and catch up after a restart.
  • trending_research MCP tool with schedule, unschedule, list, run
    and status operations, also available through videobook run for cron.
  • Endless public trends and TikTok Creative Center adapters through Apicity,
    with normalized sightings, source health and promoted-content filtering.

Fixed

  • TikTok downloads use yt-dlp browser impersonation when available, optional
    cookies, pacing and retries, with failure reasons retained on research cells.
  • Research rank cells and the summary now follow download completion and retry
    recovery, clearing stale errors after a successful download.

videobook 0.3.3

Choose a tag to compare

@justintanner justintanner released this 27 Oct 12:18

Added

  • A TikTok-style subtitle editor in the chat composer. /subs @video, a
    video cell's Subtitles menu item, or asking chat or voice for subtitles
    opens it beside the chat: a portrait preview that plays with audio and
    highlights each spoken word, an editable transcript (text, timing, hidden
    and inserted words, phrase splits and joins), style, size, colours,
    outline, padding, language, frame and timing controls, and a draggable,
    keyboard-adjustable vertical position for all phrases or one. Drafts save
    as you edit, export to SRT or WebVTT, and Render creates a new subtitled
    video cell below the source (later renders become versions of it). The
    source video is never changed.
  • caption_video MCP tool with op: get | prepare | update | render. get
    reads the draft and preparation status without starting work (detail: full adds the document, face/text regions and loudness envelope);
    prepare starts word-timed transcription, vocal timing, optional face
    and on-screen-text placement and translation; update saves edits, a
    replacement document or a resolution (reseed, realign,
    keep_timings, discard) against expected_revision; render takes the
    reviewed revision, source_hash and a stable request_id and returns the
    same job on retries. Only prepare spends money.
  • Caption analysis is keyed by content: repeated or concurrent requests reuse
    one job, cached results return without provider calls, a failed refresh
    keeps the last result, and results for a video that changed mid-analysis
    are discarded. Subtitles render with bundled Montserrat and Anton (OFL),
    load Noto Sans subsets on demand for other scripts, and handle
    right-to-left text.
  • force on transcribe, translate_subtitles, describe_image,
    detect_scenes, suggest_cuts, suggest_sfx and analyze_jokes
    (analyze_video already had it) to run again on unchanged inputs.
  • Subtitles can replace the video in place instead of adding a new cell:
    choose Replace video beside the subtitle editor's export buttons. Render
    burns the subtitles into the source video, keeps its earlier version in
    history, and the cell shows RENDERING until the job finishes.
    caption_video render takes output: "new" | "replace".
  • /post posts a clip in one step. One sheet offers three destinations:
    iCloud · iPhone, Download (the clip and caption.txt download to this
    computer for a manual upload) and X, now or scheduled. Applying a
    destination creates the Post when needed, freezes the clip and caption and
    delivers them. A clip's menu offers Post…, and a Post's menu offers Save to
    iPhone and Download.
  • /files serves an artifact file as an attachment when given
    ?download=<name>, so download links save instead of playing inline.
  • Eighteen more MachGen video models. The picker offers LTX 2.3 Pro,
    MiniMax H3 Turbo, Seedance 2.0 Fast and Mini, Kling 3.0 and Kling 3.0 Omni,
    Veo 3.1 and Veo 3.1 Fast, Pixverse V6 and C1, HappyHorse 1.0 and Grok
    Imagine Video. Wan 2.2 A14B, Vidu Q3, Q3 Turbo, Q3 Pro, Q3 Pro Fast and Q4
    Preview, which MachGen hides from its own picker or keeps private, are
    available through generate_video and list_generation_models with
    include_hidden. Each model offers the resolutions, lengths, aspect ratios,
    frames and references MachGen accepts for it and is priced from MachGen's
    pricebook. Kling 3.0 Omni takes multi-shot settings: shot_type: "intelligence" lets the model plan the shots, and "customize" takes
    multi_prompt and shot_durations, which must add up to the duration.
  • MiniMax H3 2K regeneration (machgen:MiniMax-H3/upscale, available through
    generate_video): connect a 5-15 second MiniMax H3 768p video that MachGen
    generated, and MachGen renders it again at 1440p from its original prompt
    and inputs. It costs $0.05 per second of the source, counted twice (in and
    out). Other videos and URLs are refused before anything is spent.

Changed

  • The posting MCP tools shrink from 15 to 8. post takes to: icloud | download | x | draft with asset_id for a new Post or post_cell_id for
    an existing one. list_posts reads one Post with post_cell_id and the
    X posts waiting to publish with status: "scheduled". update_post takes
    url and posted_at after posting by hand, and cancel_schedule to turn a
    scheduled X post back into a draft. record_post_metrics without values
    fetches the current X metrics. service_status with service: "icloud",
    book_id and post_cell_id reports whether a Post's files finished
    uploading.

  • The Actions form and a timeline track's add-clip chooser are no longer
    modal dialogs. Both open as a review docked in the chat composer, like a
    generation review: Apply, or Enter on /apply, runs the action or adds the
    chosen clip, and Cancel, Escape or /cancel closes it. An action that needs
    confirmation shows its review and estimated cost on the first Apply and runs
    on the second; read results and their links stay on the review. In the
    fullscreen timeline editor the add-clip review docks at the editor's foot.

  • Image models default to 2K again (or the highest resolution they offer
    below 2K) instead of their highest resolution; 4K stays available to
    choose. New goals plan their scene at 2K. Video models keep their highest
    resolution, and a resolution a notebook remembers from a cell still applies.

  • Render in the subtitle editor no longer waits for the video: it queues the
    render, closes the editor and frees the chat, and the chat turn follows the
    job until the subtitled copy or the updated video is ready. caption_video
    render also returns the job's job_id, status and output_artifact_id
    at the top level.

  • Every analysis tool is keyed by the content it reads: speech-to-text by the
    transcribed audio and settings, translations by the timed transcript and
    language, video analysis by the video and the transcript it used, image
    descriptions by the image, scene scans by the video, cut and sound-effect
    suggestions by the video, transcripts, analysis and instructions, and joke
    analysis by the timed transcript. A repeat returns status: "cached"
    (suggestions and jokes include the earlier entries) without a provider
    call, a job or a write; otherwise the tools return queued or running
    with a numeric job_id, and concurrent or forced requests join one job.
    These tools no longer return enqueued, already_analyzed or string job
    ids.
    Automatic transcription and analysis jobs skip the provider when their
    result is current, results whose inputs changed mid-run are discarded, a
    failed refresh keeps the previous result, and undoing an edit serves the
    earlier analyses again. Sidecars written by earlier versions are adopted
    once instead of being paid for again.

  • describe_image returns the script asset it already wrote for an unchanged
    image instead of creating a new one per call.

  • Captions, keyword titles and watermark placement share one cache of face
    and on-screen-text regions per video frame, so each pass only sends frames
    no earlier pass analysed.

  • A render with a translated subtitle_language fails with the reason when
    the translation cannot be made, instead of burning the original language.

  • Editing a video's picture or sound still deletes its video analysis and,
    for sound or timing edits, its transcripts; scene scans, suggestions and
    joke analyses are kept and simply stop matching the edited media.

  • Thai, Lao, Khmer, Burmese, Chinese and Japanese speech is read as words.
    ElevenLabs returns these scripts a letter at a time; transcripts,
    subtitles, SRT exports, the transcript card, search text, suggestions and
    translations now join the letters into dictionary words without spaces
    between them, Thai syllables the dictionary does not know (loanwords,
    colloquial particles such as เหรอ) stay whole, and a space in Thai ends a
    subtitle phrase so it is never silently dropped. Subtitle phrases are
    measured by visible width (Thai vowel and tone marks take none, CJK
    characters take two), the seven-word cap applies only to spaced scripts,
    and a clause too long for one phrase splits into the fewest even phrases.
    The Impact and Highlight render styles no longer put gaps between Thai or
    CJK words. Short Thai and Chinese speech now counts as dialog, so it is
    transcribed automatically. Translations from Thai send whole clauses to the
    translator, and translations into these languages time real words instead
    of character pairs. Subtitle drafts saved by earlier versions are
    discarded, and caption vocal timing is measured again once per video.

  • /alive opens the new subtitle editor. Saved Alive caption settings seed
    the editor's style, a matching saved Alive analysis is reused instead of
    being paid for again, stored renders that still use the alive subtitle
    style render through the new captions, and queued analyze_alive_captions
    jobs run caption preparation.

  • render_video and render_project no longer accept highlight_style: "alive"; use caption_video for word-timed subtitles.

Removed

  • The create_post, get_post, link_post, save_post_to_icloud,
    post_icloud_sync_status, refresh_post_metrics and
    upload_post_to_dropbox MCP tools and their slash commands. Use post,
    list_posts, update_post, record_post_metrics and service_status
    instead.
  • Dropbox delivery: the Dropbox connection in connect_service and
    service_status, its Settings card and the @apicity/dropbox dependency.
    It needed a Dropbox app that was never configured, and Download covers
    manual uploads.
  • The alive_captions and set_alive_captions MCP tools and the
    full-screen Alive captions studio. Use caption_video and the subtitle
    editor instead.

Fixed

  • A Post delivery that finishes no longer overwrites a destination chosen
    while it was still...
Read more

videobook 0.3.2

Choose a tag to compare

@superlzyguy superlzyguy released this 26 Oct 01:50

Added

  • The KIE Grok Imagine Video 1.5 preview's 1080p tier, priced at $0.04 per
    second. At 1080p it takes exactly one image (image_urls); 480p and 720p
    still take more.

Changed

  • Every @apicity package is at 0.19.0.
  • The KIE Grok Imagine Video 1.5 preview defaults to 1080p, its highest
    resolution, as kie:grok-imagine/image-to-video already does. A request
    with more than one image needs 480p or 720p and is refused before
    anything is spent.
  • The KIE Grok Imagine Video 1.5 preview sends nsfw_checker: false by
    default, the default KIE documents and every other KIE video model with
    the setting already sends. 0.3.1 sent true; pass nsfw_checker: true to
    keep KIE's content filter on.
  • KIE Seedance 2.5 keeps generating audio by default. apicity 0.19.0 now
    defaults generate_audio to false, but Videobook still sends true
    unless a request turns audio off.
  • MachGen estimates follow the 0.19.0 pricebook. A MiniMax H3 run with a
    first and a last frame is priced at the image-to-video rate ($0.035 per
    second at 480p instead of $0.05), and Wan 3.0 references that include a
    video add the reference video's seconds to the output's.
  • KIE OmniHuman 2.0 generations turn KIE's watermark off by default
    (enable_watermark: false); pass enable_watermark: true to keep it.
    OmniHuman 2.0 videos generated with 0.3.1 carry the watermark. OmniHuman
    1.5 has no watermark option.

Fixed

  • A catalog model the installed apicity packages cannot resolve no longer
    fails the whole model listing, which left every book looking empty on
    load. The listing skips that model and logs a model-unresolvable
    warning naming it.
  • Queued KIE OmniHuman 1.5 and 2.0 generations pass their driving audio's
    length to the cost estimate, so the KIE paygate estimate is bounded and the
    usage row is priced.
  • Queued KIE HappyHorse video edit and Kling 3.0 motion control generations
    pass their source video's length, and Volcengine lip sync passes its audio's
    length, so their paygate estimates and usage rows are priced too.
    estimate_cost now prices Volcengine lip sync from the audio, whose length
    the output follows, instead of the source video.
  • The usage counter groups each catalog generation under its catalog media.
    34 KIE and fal models, among them OmniHuman, the HeyGen digital twins, the
    Gemini and ElevenLabs speech models and the Bria image models, were counted
    as analysis, and fal Wan 2.7 image edit as video.
  • KIE Suno music and sound generations now reach the usage counter as audio,
    priced at KIE's flat rate per generation: $0.06 for music and $0.0125 for
    sounds. Their status polls settle the row: a lyrics-only result stays
    pending, and a failed generation is not counted as spend.
  • KIE generations stay pending in the usage counter until their task
    settles. A queuing or generating KIE task, or a Veo task that is still
    generating, was counted as settled spend at its first status poll, and a
    Veo generation that failed while generating (successFlag 3) was counted
    as completed spend.
  • A Veo generation that fails while generating now fails with KIE's error
    message at the next status poll. It was treated as still processing and
    polled until the pending-task timeout.

videobook 0.3.1

Choose a tag to compare

@superlzyguy superlzyguy released this 25 Oct 13:44

Added

  • KIE Kling 4.0 reference-to-video and keyframe-to-video, 3 to 30 seconds at
    720p or 1080p. Reference-to-video takes up to ten images and five videos,
    and generates from the prompt alone when none are connected. Keyframe-to-video
    takes a first frame, up to eight middle keyframes and a last frame, as many
    as the duration allows. Prompts name connected media the way Kling 4.0 does:
    @image_1, @video_1, @first_frame, @keyframe_1 and @last_frame.
  • KIE PixVerse V6 Max text-to-video and image-to-video, 1 to 15 seconds at
    360p to 1080p, with optional generated audio and a seed. Image-to-video
    follows the image's aspect ratio.
  • KIE OmniHuman 2.0, which animates one image to a driving audio track at 720p
    for as long as the audio runs, with an optional prompt of up to 300
    characters. KIE's watermark stays on by default (enable_watermark).
  • The KIE Grok Imagine Video 1.5 preview, the KIE Grok Imagine endpoint that
    takes first and last frames, a loop image (loop_url) and up to four timed
    keyframes. It shares the Grok Imagine Video 1.5 image-to-video frontier
    ranking. Kling 4.0, PixVerse V6 Max and OmniHuman 2.0 are on no top-10 board
    and appear in the unranked group.

Changed

  • Upgrade all @apicity/* dependencies to 0.18.1, which prices the new KIE
    models. Its endpoint catalog now lists fal v1.queue.status and
    v1.queue.result, with the other fal SDK methods written as method
    shorthand, so apicity har report from @apicity/cli 0.18.1 can resolve the
    fal polling captures Videobook writes. The requests sent to fal are
    unchanged.
  • Image and video models default to a 12-second duration (or the nearest
    allowed length), a 9:16 aspect ratio and their highest resolution, quality
    and bitrate. Each notebook remembers the last duration, aspect ratio,
    resolution and quality a cell used, and applies them to new cells and model
    switches. Goals saved before this change keep their 2K scene; new goals use
    4K.
  • On desktop, Settings shows AI providers in one column and accounts, storage
    and diagnostics in another; on phones the columns stack behind section jump
    buttons. The chat input stays a plain bar on Settings.
  • The Library opens from an Assets button in the notebook toolbar instead of
    the header, and Arrange is renamed Clean.
  • Library browsing pages assets before building their rows and no longer runs
    ffprobe while listing; proxy checks and duration backfills run as background
    jobs.
  • A Post can take its published link without being saved to iPhone or Dropbox
    first.

Fixed

  • HAR captures of KIE's nested Veo and Suno SDK calls are named by their
    apicity catalog dot paths, such as api.v1.veo.generate and
    api.v1.generate.sounds, instead of their SDK paths, so apicity har report
    resolves them. Sub-provider prefixes that are URL segments stay:
    kie.claude.post.v1.messages is named claude.v1.messages.
  • A generation that fails before reaching its provider, such as a request the
    schema refuses, is captured under the provider's catalog endpoint, and fal,
    Alibaba and KIE file uploads are captured as storage.upload.initiate,
    api.v1.uploads and api.fileStreamUpload, so apicity har report resolves
    them.
  • A notebook generation whose provider fails after accepting the request now
    marks its plan failed with the provider error. list_notebook_generation_plans
    and the Jobs screen kept reporting such plans as awaiting output.
  • v3 goals saved with a 2K scene load again and keep that resolution when they
    are edited, approved or retried.
  • Image subject edits check the provider key before uploading the source image,
    so a missing or placeholder key no longer sends the image to a public file
    host for a request that cannot run.
  • Settings loads when the page opens on it, or when it opens before the MCP
    connection is ready.
  • The multyculty workflow and video poster recovery tests no longer time out on
    loaded hosts, and the chat-composer browser test no longer reads the runner's
    .env or provider keys and matches the ranked model picker.

videobook 0.3.0

Choose a tag to compare

@superlzyguy superlzyguy released this 24 Oct 21:17

Added

  • Opt-in local provider HAR diagnostics with Settings, MCP and CLI controls, concurrent book attribution and retention limits.
    Captured SDK calls are named by their apicity catalog dot path, such as
    api.v1.jobs.createTask, so apicity har report attributes them to their
    endpoints.
  • The Request payload panel of a queued, generating or failed cell downloads
    the attempt's scrubbed captures as one HAR file, or shows "Capture off" with
    a link to Settings. inspect_generation_request reports whether an asset has
    a capture, with its path and outcome; the new get_generation_har tool
    returns the HAR for an asset or attempt id.
  • videobook har list and videobook har export --out <dir|file.tar.gz>,
    both with --since, --failures and --provider. Export re-runs the
    @apicity/har scrubber on every capture and refuses, naming the file, when
    scrubbing would change it. Otherwise it writes the captures with an index
    and a manifest and prints the apicity har report hand-off.

Changed

  • Upgrade all Apicity dependencies to 0.18.0.

videobook 0.2.5

Choose a tag to compare

@superlzyguy superlzyguy released this 24 Oct 10:51

Added

  • Thirteen fal video endpoints: Kling 4 text, frame, reference and editing;
    HeyGen Video text, image and reference generation; HeyGen Avatar 3/4/5
    stock digital twins, Avatar 4 image animation, and Video Agent v2/v3.
  • HeyGen Video text and reference models appear in the ranked pickers.
    Kling 4 appears in the unranked group. Digital twins accept spoken scripts
    with stock avatar and voice defaults; Avatar 4 image animation defaults to Ivy.

Changed

  • Upgrade all Apicity packages to 0.17.1 and refresh generated model documentation.

videobook 0.2.4

Choose a tag to compare

@superlzyguy superlzyguy released this 23 Oct 07:32

Added

  • Image and video model pickers show frontier rankings from the offline
    @apicity/cost snapshot, with rank, Elo and price for the selected operation.
    Other models follow in their existing order; unconfigured providers are
    marked unavailable. Saved selections and default models stay unchanged.

  • MachGen as a video provider, with six models: MiniMax H3, Seedance
    2.5, Seedance 2.0, Wan 3.0 and HappyHorse 1.1 for text, frame and
    reference video, and Grok Imagine Video 1.5 for image-to-video. Each
    model offers its own resolutions, durations and aspect ratios, and
    cost estimates come from the @apicity/cost MachGen per-second rates.
    Wan 3.0 always sends MachGen's documented adaptive, 30 fps, with-audio
    config. Generations run as provider tasks: Videobook polls MachGen and
    downloads the finished video with the API key.

  • MACHGEN_API_KEY is a managed key. videobook config, 1Password
    resolution and the provider keys panel include it. Without it, MachGen
    generations stop with "MACHGEN_API_KEY environment variable is not set"
    before an asset is created, and pending MachGen tasks wait unpolled.

  • Seedance 2.5 Draft Complete (kie:bytedance/seedance-2-5-draft)
    renders the 1080p final of a 480p Seedance 2.5 draft from the draft's
    Kie task id. A draft rendered in the same book supplies the billed
    seconds and reference video seconds for the estimate. The Kie Seedance
    2.5 model gains the matching draft option.

Changed

  • Upgrade all application @apicity/* dependencies to 0.17.0 and add
    @apicity/machgen.
  • Kie Seedance 2.5 estimates use the 2026-10-22 rates, for example
    $0.79 per second at 1080p without a reference video, up from $0.57.

videobook 0.2.3

Choose a tag to compare

@superlzyguy superlzyguy released this 21 Oct 16:36

Added

  • Fal FLUX 3 Max text-to-video, image-to-video, and keyframes-to-video,
    with generated audio and resolution-tiered per-second cost estimates.
  • Bria Fibo 2 text-to-image with structured VGL prompts, and Fibo 2 Edit
    for one to four reference images, including the image editor.
  • H3 Max Reframe Video, which outpaints a source video to a target aspect
    ratio at 480p, 768p, or 1080p while keeping its audio and timing.
    Priced from fal's historical average because the request does not fix
    the billed duration.

Changed

  • Upgrade all application @apicity/* dependencies to 0.16.3.
  • Windows x64 is supported. The release check runs the pack-and-install
    smoke on Windows and blocks the release when it fails. Stopping
    videobook serve from another process still ends it without a clean
    shutdown, because Windows has no SIGTERM, and the next start replaces
    the lock file.
  • Dynamic fal requests are priced from fal's historical average when
    FAL_ADMIN_API_KEY is set. Without the key, and for the two Seedance
    formula gaps, the estimate stays at the local $0.