Skip to main content

Setup

require_relative '../ai-stats-public/packages/sdk/sdk-ruby/lib/index'

client = AIStatsSdk::Client.new(api_key: ENV.fetch('AI_STATS_API_KEY'))

Chat completions

chat = client.generate_text(
  model: 'openai/gpt-5-nano',
  messages: [{ role: 'user', content: 'Hello' }]
)

Responses

response = client.generate_response(
  model: 'openai/gpt-5-nano',
  input: 'Reply with: ruby sdk works'
)

Images

image = client.generate_image(
  model: 'openai/gpt-image-1',
  prompt: 'A lighthouse at golden hour'
)

edit = client.generate_image_edit(
  model: 'openai/gpt-image-1',
  prompt: 'Make it sunset',
  image: 'data:image/png;base64,...'
)

Audio

speech = client.generate_speech(
  model: 'openai/gpt-4o-mini-tts',
  input: 'Hello world'
)

transcription = client.generate_transcription(
  model: 'openai/gpt-4o-transcribe',
  audio_b64: 'base64-audio'
)

translation = client.generate_translation(
  model: 'openai/gpt-4o-transcribe',
  audio_b64: 'base64-audio'
)

Embeddings and moderations

embedding = client.generate_embedding(
  model: 'openai/text-embedding-3-large',
  input: 'Sample text'
)

moderation = client.generate_moderation(
  model: 'openai/omni-moderation-latest',
  input: 'Some text to check'
)

Models and health

models = client.list_models(limit: 10)
health = client.health
Last modified on February 17, 2026