{"id":31879463,"url":"https://github.com/liquidhelium/tanim","last_synced_at":"2025-10-13T00:30:04.626Z","repository":{"id":316936525,"uuid":"1065391069","full_name":"liquidhelium/tanim","owner":"liquidhelium","description":"Make your animation in typst","archived":false,"fork":false,"pushed_at":"2025-09-27T17:11:17.000Z","size":1483,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-27T18:28:56.601Z","etag":null,"topics":["cli","rust","typst","video"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liquidhelium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-27T16:22:21.000Z","updated_at":"2025-09-27T17:11:20.000Z","dependencies_parsed_at":"2025-09-27T18:29:22.412Z","dependency_job_id":null,"html_url":"https://github.com/liquidhelium/tanim","commit_stats":null,"previous_names":["liquidhelium/tanim"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/liquidhelium/tanim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidhelium%2Ftanim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidhelium%2Ftanim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidhelium%2Ftanim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidhelium%2Ftanim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liquidhelium","download_url":"https://codeload.github.com/liquidhelium/tanim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidhelium%2Ftanim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013644,"owners_count":26085298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","rust","typst","video"],"created_at":"2025-10-13T00:29:59.717Z","updated_at":"2025-10-13T00:30:04.620Z","avatar_url":"https://github.com/liquidhelium.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tanim\n\n## CLI\n\nTanim CLI is a command-line tool for creating animations and videos using [Typst](https://typst.app/). It allows you to render Typst documents into a video file, by varying a numerical variable over a range of frames.\n\n## Features\n\n*   Render Typst documents to video.\n*   Customize frame range, resolution (PPI), and video encoder options.\n*   Pass a variable to your Typst file that changes with each frame.\n\n## Installation\n\nYou can install Tanim CLI using `cargo`:\n\n```bash\ncargo install tanim-cli\n```\n\n## Usage\n\nThe basic command to render a video is:\n\n```bash\ntanim-cli [OPTIONS] \u003cinput\u003e\n```\n\nWhere `\u003cinput\u003e` is your Typst file.\n\n### Example\n\n1.  Create a Typst file named `animation.typ`:\n\n    ```typst\n    #let t = sys.inputs.at(\"t\", default: 300)\n    \n    #rect(width: 100%, height: 100%, fill: rgb(\"f0f0f0\"))\n    #text(16pt, \"Frame: \" + str(t))\n    ```\n\n2.  Run `tanim-cli` to render the animation:\n\n    ```bash\n    tanim-cli --frames 0..=120 --output animation.mp4 animation.typ\n    ```\n\nThis will create a video file `animation.mp4` with 121 frames, where the text changes from \"Frame: 0\" to \"Frame: 120\".\n\n## Examples\n\nHere are a couple of examples of what you can create with Tanim CLI:\n\n### Manim-style Text Animation\n\n\nhttps://github.com/user-attachments/assets/8669607a-e385-4fcf-a33b-53627a5d3512\n\n\n### Physics Simulation\n\n\nhttps://github.com/user-attachments/assets/ee742e51-c172-4eac-90c6-1d2aa02ac85e\n\n\n## Command-line Arguments\n\nHere are the available command-line arguments:\n\n*   `\u003cinput\u003e`: The path to the input Typst file.\n*   `--output \u003coutput\u003e`: The path to the output video file. Defaults to `out.mp4`.\n*   `--frames \u003cframes\u003e`: The range of frames to render (e.g., `0..=240`). Defaults to `0..=240`.\n*   `--ppi \u003cppi\u003e`: The pixels per inch for rendering. Defaults to `150.0`.\n*   `--variable \u003cvariable\u003e`: The name of the variable to pass to the Typst file. Defaults to `t`.\n*   `--codec \u003ccodec\u003e`: The video codec to use. Defaults to `libx264`.\n*   `--crf \u003ccrf\u003e`: The Constant Rate Factor for quality control (lower is better).\n*   `--preset \u003cpreset\u003e`: The encoding preset. Defaults to `medium`.\n\nFor more details on all available options, run `tanim-cli --help`.\n\n## Building from Source\n\nTo build Tanim CLI from source:\n\n1.  Clone the repository:\n    ```bash\n    git clone https://github.com/liquidhelium/tanim-cli.git\n    ```\n2.  Build the project:\n    ```bash\n    cargo build --release\n    ```\nThe executable will be located at `target/release/tanim-cli`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidhelium%2Ftanim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliquidhelium%2Ftanim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidhelium%2Ftanim/lists"}