{"id":23021593,"url":"https://github.com/raupulus/python-ai-image-from-api-generator","last_synced_at":"2025-08-24T18:32:43.932Z","repository":{"id":218597717,"uuid":"695661236","full_name":"raupulus/python-ai-image-from-api-generator","owner":"raupulus","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-28T08:16:30.000Z","size":248,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T18:52:44.311Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/raupulus.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-23T20:54:11.000Z","updated_at":"2024-02-02T22:06:24.000Z","dependencies_parsed_at":"2024-01-23T00:03:08.769Z","dependency_job_id":"55e175cf-2415-4342-a7ea-b1cd446bd5d8","html_url":"https://github.com/raupulus/python-ai-image-from-api-generator","commit_stats":null,"previous_names":["raupulus/python-ai-image-from-api-generator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raupulus/python-ai-image-from-api-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fpython-ai-image-from-api-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fpython-ai-image-from-api-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fpython-ai-image-from-api-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fpython-ai-image-from-api-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raupulus","download_url":"https://codeload.github.com/raupulus/python-ai-image-from-api-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fpython-ai-image-from-api-generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266673565,"owners_count":23966373,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":[],"created_at":"2024-12-15T12:18:41.119Z","updated_at":"2025-07-23T12:07:50.116Z","avatar_url":"https://github.com/raupulus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python AI Image generator from apis with autogenerated prompt\n\n## Descripción\n\nHerramienta para generar \"prompts\" que son básicamente cadenas de texto indicando/describiendo\nuna imagen.\nPosteriormente se pueden utilizar varias API con las que utilizar ese \"prompt\" generado.\n\nPara generar el prompt, se utiliza la api de GPT.\n\nEn el directorio \"Tuning\" se encuentran los ejemplos para poner en contexto a GPT cuando le pedimos datos.\n\nEsperamos que GPT devuelva una cadena compatible con JSON que contenga estas claves:\n\n- title: Contexto general de la imagen, también usado para el nombre del directorio.\n- description: Descripción con detalles de la imagen.\n- metatags: Etiquetas separadas por comas indicando lo más relevante sobre la imagen.\n\n\n## Dependencias\n\nEl listado de dependencias se encuentra en el archivo **requeriments.txt**\n\n## Modo de uso\n\nPrimero necesitas configurar las variables de entorno.\n\nCopia el archivo **.env.example** a **.env** y rellena los datos para conectar a la API tras generarlos en tu panel.\n\nUna vez tengas las variables de entorno seteadas, puedes ejecutar el script de la siguiente forma para generar 10 imágenes a 256x256 con Stable Diffusion:\n\n```bash\npython main.py 10 1024x576 --stable-diffusion\n```\n\nY en este ejemplo usando la api de OpenAi con Dall-e:\n\n```bash\npython main.py 10 256x256 --dalle\n```\n\nComo puedes observar, el script recibe **cantidad** de imágenes, luego **tamaño** y la **api** con la que generarlos.\n\nUna vez generado un lote de imágenes podemos observar que en el directorio se incluyen dos archivos con información.\nUno de estos archivos está en markdown **info.md** y otro con los datos en json **info.json** para poder reutilizar esos metadatos en otras aplicaciones.\n\nNota: No puedes usar varias apis a la vez, se tomará la primera e ignorará las demás. No es compatible con generación multi-api en paralelo.\n\n### Solo crear CSV con un listado de prompts\n\nPodemos generar un listado de promtps con la estructura:\n\n\u003ctitle\u003e\u003cdescription\u003e\u003cmetatags\u003e\u003cprompt\u003e\n\nAl script principal, le pasaremos el argumento **--only-prompts** y esto deshabilitará automáticamente generar imágenes. Es decir, solo vamos a generar un listado de prompts en el directorio **output** con el nombre **batch_prompts.csv**\n\nNecesitamos pasar obligatoriamente una cantidad de prompts a generar como en el siguiente ejemplo para 10 prompts\n\n```bash\npython3 main.py 10 --only-prompts\n```\n\nVeremos tras ejecutar que hay un nuevo archivo dentro de \"output\" con los datos en csv.\n\nSi ejecutamos varias veces el comando, los datos se van añadiendo al archivo sin borrar los anteriores. Se agregan al listado existente.\n\n## Directorios\n\n- Data: Almacena parámetros para sugerir tema, elementos y entorno sobre la imagen que pediremos a chatgpt describirnos.\n- Models: Contiene los Modelos para conectar a las api y selector de roles.\n- output: Aquí se almacena la salida, al generar imágenes quedarán aquí agrupadas en un directorio. También se guarda el csv cuando generamos un listado de prompts solamente.\n- tuning: Archivos JSONL con distintas respuestas json (una por línea) para poner en contexto a GPT cuando le pidamos datos. En estos archivos exponemos respuestas tal y como nos gustaría que lo haga GPT desde la API.\n\n## Tareas pendientes -\u003e TODO\n\n- [] Implementar entrada (inputs/prompts.jsonl) para obtener los datos de aquí en lugar de la api de GPT\n- [] Añadir tipos de renders en los proveedores de datos para los roles (pixar, octane, unity...)\n- [] Dividir proveedores de datos para distinguir sobre todo en fotografías el realismo (quitar 2d, 3d, renders...), animales y personas (prevenir deformaciones, sobre todo de cara). Es decir: Crear varios provider de fotografos para personas/animales/paisajes/general\n- [] Implementar entorno virtual para python\n- [] Implementar personalización de modelos para cada data provider en los roles usando variables de entorno. La idea es poder modificar este parámetro sin editar archivos con seguimientos en git tal como se hace actualmente. En este momento para cambiar un modelo enviado a la api txt2img hay que editar su archivo dentro del directorio \"Data\" y cambiar el valor de \"model\" en el proveedor.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fpython-ai-image-from-api-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraupulus%2Fpython-ai-image-from-api-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fpython-ai-image-from-api-generator/lists"}