{"id":18002303,"url":"https://github.com/jaeyson/ex_azure_vision","last_synced_at":"2026-03-03T14:39:40.048Z","repository":{"id":65172239,"uuid":"585462972","full_name":"jaeyson/ex_azure_vision","owner":"jaeyson","description":"Simple REST wrapper for using Azure's Computer vision","archived":false,"fork":false,"pushed_at":"2025-03-10T20:28:48.000Z","size":59,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T12:01:43.632Z","etag":null,"topics":["azure-computer-vision","elixir","vision"],"latest_commit_sha":null,"homepage":"https://hexdocs.pm/ex_azure_vision","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaeyson.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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-01-05T08:30:12.000Z","updated_at":"2025-02-11T02:47:13.000Z","dependencies_parsed_at":"2025-02-11T03:33:30.485Z","dependency_job_id":null,"html_url":"https://github.com/jaeyson/ex_azure_vision","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeyson%2Fex_azure_vision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeyson%2Fex_azure_vision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeyson%2Fex_azure_vision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeyson%2Fex_azure_vision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaeyson","download_url":"https://codeload.github.com/jaeyson/ex_azure_vision/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245618715,"owners_count":20645050,"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":["azure-computer-vision","elixir","vision"],"created_at":"2024-10-29T23:20:59.379Z","updated_at":"2026-03-03T14:39:40.042Z","avatar_url":"https://github.com/jaeyson.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ExAzureVision\n\nSimple REST wrapper for using Azure's [Computer vision](https://learn.microsoft.com/en-us/azure/cognitive-services/computer-vision/)\n\n**Note**: the only place where ai is used/integrated is in PR reviews. I am NOT interested in adding/integrating ai generated code in my codebase, as this little library can be fit in my mental model. ai has it’s own great use case, it’s just that I wanted to be hands-on with these projects.\n\n## Installation\n\nIf [available in Hex](https://hex.pm/docs/publish), the package can be installed\nby adding `ex_azure_vision` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:ex_azure_vision, \"~\u003e 0.1\"}\n  ]\nend\n```\n\n## Config\n\n```elixir\n# config/runtime.exs\nconfig :ex_azure_vision,\n  header_name: System.get_env(\"AZURE_OCP_APIM_HEADER_NAME\"),\n  subscription_key: System.get_env(\"AZURE_OCP_APIM_SUBSCRIPTION_KEY\"),\n  base_url: System.get_env(\"AZURE_COGNITIVE_VISION_BASE_URI\"),\n  scheme: \"https\"\n```\n\n## Analyze image\n\n```elixir\niex\u003e image_url = \"https://images.unsplash.com/photo-1672676831425-207e5d4a0c41?ixlib=rb-4.0.3\u0026ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8\u0026auto=format\u0026fit=crop\u0026w=687\u0026q=80\"\n\niex\u003e query_params = %{\n    visualfeatures: \"Categories,Adult,Tags,Description,Faces,Objects\",\n    details: \"Landmarks\"\n  }\n\niex\u003e ExAzureVision.analyze(image_url, query_params)\n{:ok,\n %{\n   \"adult\" =\u003e %{\n     \"adultScore\" =\u003e 0.002399180782958865,\n     \"goreScore\" =\u003e 9.791345801204443e-4,\n     \"isAdultContent\" =\u003e false,\n     \"isGoryContent\" =\u003e false,\n     \"isRacyContent\" =\u003e false,\n     \"racyScore\" =\u003e 0.003331553190946579\n   },\n   \"categories\" =\u003e [\n     %{\n       \"detail\" =\u003e %{\"landmarks\" =\u003e []},\n       \"name\" =\u003e \"outdoor_\",\n       \"score\" =\u003e 0.00390625\n     },\n     %{\n       \"detail\" =\u003e %{\"landmarks\" =\u003e []},\n       \"name\" =\u003e \"outdoor_street\",\n       \"score\" =\u003e 0.6953125\n     }\n   ],\n   \"description\" =\u003e %{\n     \"captions\" =\u003e [\n       %{\n         \"confidence\" =\u003e 0.4641128182411194,\n         \"text\" =\u003e \"a red motorcycle parked on a sidewalk\"\n       }\n     ],\n     \"tags\" =\u003e [\"building\", \"outdoor\", \"way\", \"ground\", \"sidewalk\", \"parked\",\n      \"brick\", \"scene\", \"street\", \"red\", \"scooter\", \"stone\", \"curb\"]\n   },\n   \"faces\" =\u003e [],\n   \"metadata\" =\u003e %{\"format\" =\u003e \"Jpeg\", \"height\" =\u003e 1031, \"width\" =\u003e 687},\n   \"modelVersion\" =\u003e \"2021-05-01\",\n   \"objects\" =\u003e [\n     %{\n       \"confidence\" =\u003e 0.685,\n       \"object\" =\u003e \"Tire\",\n       \"parent\" =\u003e %{\"confidence\" =\u003e 0.69, \"object\" =\u003e \"Wheel\"},\n       \"rectangle\" =\u003e %{\"h\" =\u003e 120, \"w\" =\u003e 94, \"x\" =\u003e 299, \"y\" =\u003e 758}\n     },\n     %{\n       \"confidence\" =\u003e 0.836,\n       \"object\" =\u003e \"motorcycle\",\n       \"parent\" =\u003e %{\n         \"confidence\" =\u003e 0.837,\n         \"object\" =\u003e \"cycle\",\n         \"parent\" =\u003e %{\n           \"confidence\" =\u003e 0.839,\n           \"object\" =\u003e \"Land vehicle\",\n           \"parent\" =\u003e %{\"confidence\" =\u003e 0.839, \"object\" =\u003e \"Vehicle\"}\n         }\n       },\n       \"rectangle\" =\u003e %{\"h\" =\u003e 377, \"w\" =\u003e 264, \"x\" =\u003e 231, \"y\" =\u003e 502}\n     }\n   ],\n   \"requestId\" =\u003e \"6b771571-3a09-4e25-a1f2-281e4afd9601\",\n   \"tags\" =\u003e [\n     %{\"confidence\" =\u003e 0.9982832074165344, \"name\" =\u003e \"building\"},\n     %{\"confidence\" =\u003e 0.9925278425216675, \"name\" =\u003e \"outdoor\"},\n     %{\"confidence\" =\u003e 0.97878497838974, \"name\" =\u003e \"vehicle\"},\n     %{\"confidence\" =\u003e 0.9700937271118164, \"name\" =\u003e \"motorcycle\"},\n     %{\"confidence\" =\u003e 0.9631041288375854, \"name\" =\u003e \"tire\"},\n     %{\"confidence\" =\u003e 0.9608349204063416, \"name\" =\u003e \"land vehicle\"},\n     %{\"confidence\" =\u003e 0.9542198777198792, \"name\" =\u003e \"wheel\"},\n     %{\"confidence\" =\u003e 0.9527726173400879, \"name\" =\u003e \"brick\"},\n     %{\"confidence\" =\u003e 0.9033293724060059, \"name\" =\u003e \"window\"},\n     %{\"confidence\" =\u003e 0.8922328352928162, \"name\" =\u003e \"red\"},\n     %{\"confidence\" =\u003e 0.8901116251945496, \"name\" =\u003e \"parked\"},\n     %{\"confidence\" =\u003e 0.8846046924591064, \"name\" =\u003e \"auto part\"},\n     %{\"confidence\" =\u003e 0.8454196453094482, \"name\" =\u003e \"road\"},\n     %{\"confidence\" =\u003e 0.8162581920623779, \"name\" =\u003e \"ground\"},\n     %{\"confidence\" =\u003e 0.7266983389854431, \"name\" =\u003e \"street\"},\n     %{\"confidence\" =\u003e 0.6291871666908264, \"name\" =\u003e \"scooter\"},\n     %{\"confidence\" =\u003e 0.587371289730072, \"name\" =\u003e \"sidewalk\"},\n     %{\"confidence\" =\u003e 0.5613589286804199, \"name\" =\u003e \"house\"}\n   ]\n }\n}\n```\n\nDocumentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)\nand published on [HexDocs](https://hexdocs.pm). Once published, the docs can\nbe found at \u003chttps://hexdocs.pm/ex_azure_vision\u003e.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaeyson%2Fex_azure_vision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaeyson%2Fex_azure_vision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaeyson%2Fex_azure_vision/lists"}