{"id":23217017,"url":"https://github.com/novitalabs/javascript-sdk","last_synced_at":"2025-08-17T12:40:40.173Z","repository":{"id":199710169,"uuid":"697369418","full_name":"novitalabs/javascript-sdk","owner":"novitalabs","description":"JavaScript SDK for Novita AI API (Txt2Img, Img2Img, Txt2Video, Img2Video, Doodle, Remove Background, Replace Object, Reimagine, Merge Faces, ControlNet, VAE, LoRA)","archived":false,"fork":false,"pushed_at":"2025-03-04T02:55:48.000Z","size":2240,"stargazers_count":12,"open_issues_count":4,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-06T20:36:22.497Z","etag":null,"topics":["controlnet","img2img","img2video","lora","stable-diffusion","swapface","txt2img","txt2video"],"latest_commit_sha":null,"homepage":"https://novita.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/novitalabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-09-27T15:32:05.000Z","updated_at":"2025-03-17T01:11:24.000Z","dependencies_parsed_at":"2024-05-23T05:22:45.251Z","dependency_job_id":"8da8fe92-a4f6-430e-9867-a3887249aee0","html_url":"https://github.com/novitalabs/javascript-sdk","commit_stats":null,"previous_names":["novitalabs/javascript-sdk"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/novitalabs/javascript-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novitalabs%2Fjavascript-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novitalabs%2Fjavascript-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novitalabs%2Fjavascript-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novitalabs%2Fjavascript-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novitalabs","download_url":"https://codeload.github.com/novitalabs/javascript-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novitalabs%2Fjavascript-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270850056,"owners_count":24656443,"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-08-17T02:00:09.016Z","response_time":129,"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":["controlnet","img2img","img2video","lora","stable-diffusion","swapface","txt2img","txt2video"],"created_at":"2024-12-18T20:39:34.645Z","updated_at":"2025-08-17T12:40:40.149Z","avatar_url":"https://github.com/novitalabs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- @format --\u003e\n\n# Novita.ai Javascript SDK\n\nThis SDK is based on the official [novita.ai API reference](https://docs.novita.ai/)\n\n**Join our discord server for help:**\n\n[![](https://dcbadge.vercel.app/api/server/YyPRAzwp7P)](https://discord.gg/YyPRAzwp7P)\n\n## Quick start\n\n1. Sign up on [novita.ai](https://novita.ai) and get an API key. Please follow the instructions at [https://novita.ai/get-started](https://novita.ai/get-started/)\n\n2. Install the [npm package](https://www.npmjs.com/package/novita-sdk) in your project.\n\n```bash\nnpm i novita-sdk\n```\n\n## Version 3.1.0 Update Notes\n\nWe've made significant changes in version 3.0.0. We removed some APIs and will not serve them in the future. The APIs deprecated are:\n\n- adetailer\n- img2mask\n- anymate-anyone\n- create-tile\n- doodle\n- lcm-img2img\n- lcm-txt2img\n- make-photo\n- mix-pose\n- relight\n- remove-watermark\n- replace-sky\n- replace-object\n- upscale\n- img2prompt\n- img2video-motion\n- outpainting\n- reimagine\n- restore-face\n\n## Usage\n\n```javascript\nimport { NovitaSDK } from \"novita-sdk\";\n\nconst novitaClient = new NovitaSDK(\"your api key\");\n\nconst params = {\n  request: {\n    model_name: \"majicmixRealistic_v7_134792.safetensors\",\n    prompt: \"1girl,sweater,white background\",\n    negative_prompt: \"(worst quality:2),(low quality:2),(normal quality:2),lowres,watermark,\",\n    width: 512,\n    height: 768,\n    sampler_name: \"Euler a\",\n    guidance_scale: 7,\n    steps: 20,\n    image_num: 1,\n    seed: -1,\n  },\n};\nnovitaClient\n  .txt2Img(params)\n  .then((res) =\u003e {\n    if (res \u0026\u0026 res.task_id) {\n      const timer = setInterval(() =\u003e {\n        novitaClient\n          .progress({\n            task_id: res.task_id,\n          })\n          .then((progressRes) =\u003e {\n            if (progressRes.task.status === TaskStatus.SUCCEED) {\n              console.log(\"finished!\", progressRes.images);\n              clearInterval(timer);\n              onFinish(progressRes.images);\n            }\n            if (progressRes.task.status === TaskStatus.FAILED) {\n              console.warn(\"failed!\", progressRes.task.reason);\n              clearInterval(timer);\n            }\n            if (progressRes.task.status === TaskStatus.QUEUED) {\n              console.log(\"queueing\");\n            }\n          })\n          .catch((err) =\u003e {\n            console.error(\"progress error:\", err);\n          });\n      }, 1000);\n    }\n  })\n  .catch((err) =\u003e {\n    console.error(err);\n  });\n```\n\n## API list and Sample codes\n\n- [txt2Img](https://github.com/novitalabs/javascript-sdk/blob/main/examples/txt2Img.js)\n- [img2Img](https://github.com/novitalabs/javascript-sdk/blob/main/examples/img2Img.js)\n- [cleanup](https://github.com/novitalabs/javascript-sdk/blob/main/examples/cleanup.js)\n- [outpainting](https://github.com/novitalabs/javascript-sdk/blob/main/examples/outpainting.js)\n- [removeBackground](https://github.com/novitalabs/javascript-sdk/blob/main/examples/removebg.js)\n- [replaceBackground](https://github.com/novitalabs/javascript-sdk/blob/main/examples/replacebg.js)\n- [mergeFace](https://github.com/novitalabs/javascript-sdk/blob/main/examples/merge_face.js)\n- [removeText](https://github.com/novitalabs/javascript-sdk/blob/main/examples/removetxt.js)\n- [restoreFace](https://github.com/novitalabs/javascript-sdk/blob/main/examples/restore_face.js)\n- [reimagine](https://github.com/novitalabs/javascript-sdk/blob/main/examples/reimagine.js)\n- [img2video](https://github.com/novitalabs/javascript-sdk/blob/main/examples/controlnet.js)\n- [hunyuan-video-fast](https://github.com/novitalabs/javascript-sdk/blob/main/examples/hunyuan-video-fast.js)\n- [wan-t2v](https://github.com/novitalabs/javascript-sdk/blob/main/examples/wan-t2v.js)\n\n## Type Definitions\n\nFor detailed information on the parameters and return types of each method, please refer to the [types.ts](https://github.com/novitalabs/javascript-sdk/blob/main/src/types.ts) file.\n\n## Playground\n\nYou can try all demos at [https://novita.ai/models/image](https://novita.ai/models/image)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovitalabs%2Fjavascript-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovitalabs%2Fjavascript-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovitalabs%2Fjavascript-sdk/lists"}