{"id":16620828,"url":"https://github.com/spikehd/asciivert","last_synced_at":"2025-10-29T21:31:27.242Z","repository":{"id":37172678,"uuid":"280290905","full_name":"SpikeHD/AsciiVert","owner":"SpikeHD","description":"Convert images and videos to ascii art!","archived":false,"fork":false,"pushed_at":"2023-03-09T16:06:46.000Z","size":360,"stargazers_count":5,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-02T05:03:15.380Z","etag":null,"topics":["ascii","ascii-art","ffmpeg","image-processing","javascript","video-processing"],"latest_commit_sha":null,"homepage":"https://asciivert.art/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpikeHD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-17T00:49:25.000Z","updated_at":"2024-01-08T17:55:36.000Z","dependencies_parsed_at":"2023-01-28T09:45:14.910Z","dependency_job_id":null,"html_url":"https://github.com/SpikeHD/AsciiVert","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FAsciiVert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FAsciiVert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FAsciiVert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FAsciiVert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpikeHD","download_url":"https://codeload.github.com/SpikeHD/AsciiVert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238899981,"owners_count":19549418,"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","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":["ascii","ascii-art","ffmpeg","image-processing","javascript","video-processing"],"created_at":"2024-10-12T02:45:25.902Z","updated_at":"2025-10-29T21:31:26.836Z","avatar_url":"https://github.com/SpikeHD.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AsciiVert - Convert images and videos to ASCII art!\n\nhttps://asciivert.art/\n\n## Goals\n\n* Public website [Kinda WIP]\n* Public API [Done]\n* CLI version [Done]\n\n## Setup\n\nThe website poses some retrictions that, if you use the CLI version as an alternative, you can bypass and create larger images and longer videos from.\n\n## Requirements\n\n* [Node.JS](https://nodejs.org/en/) (v12 should be fine)\n* ffmpeg ([Win](https://windowsloop.com/install-ffmpeg-windows-10/), [Linux](https://www.ostechnix.com/install-ffmpeg-linux/), [Mac](https://sites.duke.edu/ddmc/2013/12/30/install-ffmpeg-on-a-mac/))\n  * I don't own a Mac, so if the instructions are wrong... figure it out yourself I guess\n\n## Setting up the project\n\nTo setup the base of the project, just run `npm install` in the main project directory.\nTo start up the api/website, run `node ascii --api`.\nTo use the CLI version, see below.\n\n# Using the CLI tool\n\n## Flags (all have 1-letter aliases)\n\n* `--in` - File to be input, required (file will be treated as an image if no framerate is provided)\n* `--out` - File to be output, required\n* `--resolution` - Resolution to output file, required (NOTE: Resolution is *symbol* resolution, ***not*** image resolution)\n* `--framerate` - Framerate to export video as, required\n\n## Other\n\n* `--api` - No argument, starts the site/API service\n\nExamples of potential commands:\n\n`node ascii --in [path]/image.jpg --out [path]/converted.jpg --resolution 1920x1080`\n\n`node ascii -i [path]/video.mp4 -o [path]/converted.mp4 -r 800x600 --framerate 15`\n\n`node ascii --api`\n\n# Using the API\n\nThere are currently four endpoints, `/image`, `/video`, `/mini` and `/file`.\n\n## /image\nTo use the `/image` endpoint, you must send a `form-data` POST request with an image attached in the `files` field, and a resolution to convert to.\n\nExample:\n\n![postman](https://i.paste.pics/5a00b4edf2b8f6ff3020ec21da21bdb5.png?trs=7c74ea5877599d9b712bc0a138239b8f75236e1ccae520c4cb95ae3fa4bf98ff)\n\n## /video\n\nTo use the `/video` endpoint, you must send a `form-data` POST request with a video file in the `files` field, a resolution, and a framerate.\n\nExample:\n\n![postman](https://user-images.githubusercontent.com/25207995/87893157-dec66000-c9f3-11ea-8780-76aac017c9b1.png)\n\n## /mini\n\nUsing the `/mini` endpoint is similar to the `/image` endpoint in that you only need to supply an image and resolution, but the resolution limit is smaller and it returns raw text instead.\n\nExample:\n\n![postman](https://user-images.githubusercontent.com/25207995/87893303-5d230200-c9f4-11ea-9dc0-1c7d9d8b24c9.png)\n\n## /file\n\nWhen using the `/image` or `/video` endpoints, the request will immediately return a file ID. While the file may not be ready immediately, when it is, you can GET the `/file` endpoint with a `id` URI parameter (eg. `/file?id=1234`).\n\nExample:\n\n![postman](https://user-images.githubusercontent.com/25207995/87893495-f0f4ce00-c9f4-11ea-9596-c6a905a3bcce.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspikehd%2Fasciivert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspikehd%2Fasciivert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspikehd%2Fasciivert/lists"}