Skip to content

UnitVectorY-Labs/hallucinateapi

Repository files navigation

GitHub release License Active Go Report Card

hallucinateapi

Implements every GET and POST operation in an OpenAPI spec by using each operation's description as the LLM instruction, validating inputs, and returning schema-constrained JSON that behaves like a normal API response.

Features

  • Serves all GET and POST operations from an OpenAPI 3.0 specification
  • Supports multiple LLM providers: Gemini on Vertex AI and OpenAI-compatible APIs
  • Validates requests and responses against the OpenAPI schema
  • Supports --mode two-pass for selecting non-200 OpenAPI response types before generating payloads
  • Swagger UI at / and spec served at /openapi.json or /openapi.yaml
  • Configuration via environment variables and CLI flags
  • Built-in spec validation with validate subcommand

Quick Start

# Validate your OpenAPI spec (Gemini)
hallucinate validate --provider gemini --openapi-path spec.yaml --gcp-project my-project --gcp-location us-central1 --model gemini-2.5-flash

# Start the server (Gemini)
hallucinate serve --provider gemini --openapi-path spec.yaml --gcp-project my-project --gcp-location us-central1 --model gemini-2.5-flash

# Start the server (OpenAI)
hallucinate serve --provider openai --openapi-path spec.yaml --model gpt-4o --api-key your-api-key

About

Implements every GET and POST operation in an OpenAPI spec by using each operation’s description as the LLM instruction, validating inputs, and returning schema-constrained JSON that behaves like a normal API response.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages