Setup
Copy
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
Copy
chat = client.generate_text(
model: 'openai/gpt-5-nano',
messages: [{ role: 'user', content: 'Hello' }]
)
Responses
Copy
response = client.generate_response(
model: 'openai/gpt-5-nano',
input: 'Reply with: ruby sdk works'
)
Images
Copy
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
Copy
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
Copy
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
Copy
models = client.list_models(limit: 10)
health = client.health