Skip to content

Silico Grove API Integration Guide

Integrate text, image, video, and audio capabilities through the endpoint matching each feature. Preserve request field names exactly.

ItemValue
Primary Base URLhttps://ai.silicogrove.com/v1
Backup Base URLhttps://api.silicogrove.com/v1 when the primary domain is unavailable
AuthenticationAuthorization: Bearer YOUR_API_KEY
JSON requestsContent-Type: application/json
File uploadsmultipart/form-data

Start with Quick start, then confirm access in Models and access.

Quick Start

  1. Create and securely store an API key in the console.
  2. List the models available to that key.
  3. Send requests to the matching capability endpoint.

Do not duplicate the Base URL

The OpenAI SDK base_url includes /v1. Do not append /v1 again when composing complete endpoint URLs. The backup address requires client-side failover configuration.

List available models

bash
curl -X GET "https://ai.silicogrove.com/v1/models" \
  -H "Authorization: Bearer YOUR_API_KEY"

Minimal text request

bash
curl -X POST "https://ai.silicogrove.com/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.4-mini","messages":[{"role":"user","content":"Hello, reply in one sentence."}]}'

Python OpenAI SDK

python
from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://ai.silicogrove.com/v1")
response = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "Hello, reply in one sentence."}],
)
print(response.choices[0].message.content)

Models and Access

Available models depend on your account, group, and API key permissions. Treat GET /v1/models as the source of truth.

CapabilityTypical modelsEndpoint
Textgpt-5.4-mini, Claude, Gemini/v1/chat/completions
Imagesgpt-image-2, Gemini image models/v1/images/generations
Videovideo-ds-2.0, as-sd2.0-fast/v1/videos
AudioCheck the returned model list/v1/audio/*

Text

Chat Completions

bash
curl -X POST "https://ai.silicogrove.com/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.4-mini","messages":[{"role":"system","content":"You are a concise assistant."},{"role":"user","content":"Write a product introduction."}],"stream":false}'

Responses API

bash
curl -X POST "https://ai.silicogrove.com/v1/responses" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.4-mini","input":"Introduce yourself in one sentence."}'

Images

Generate images

bash
curl -X POST "https://ai.silicogrove.com/v1/images/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-image-2","prompt":"A premium product poster, clean background, realistic photography","size":"1024x1024","quality":"auto","n":1,"response_format":"url"}'
FieldDescription
modelRequired. An image model visible to the API key.
promptRequired. The image description.
sizeOptional, for example 1024x1024 or a supported ratio.
qualityOptional: auto, low, high, 2K, or 4K.

Edit images

bash
curl -X POST "https://ai.silicogrove.com/v1/images/edits" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=gpt-image-2" \
  -F "prompt=Change the background to city lights at night" \
  -F "image=@/path/to/input.png" \
  -F "size=1024x1024"

Use multipart form data for local files. Do not set Content-Type: application/json; the image field is image and the optional mask field is mask.

Video

Video models must use POST /v1/videos, not /v1/chat/completions. Submissions return a task ID that must be polled.

Minimal text-to-video request

bash
curl -X POST "https://ai.silicogrove.com/v1/videos" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"video-ds-2.0-fast","prompt":"A cinematic 9:16 short video, neon city rooftop at night, realistic lighting, no watermark.","seconds":"15","aspect_ratio":"9:16"}'

Reference media

Reference media must use public URLs. Upload local files through Reference assets; do not place local paths in JSON.

bash
curl -X POST "https://ai.silicogrove.com/v1/videos" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"video-ds-2.0","prompt":"Use the image appearance and video motion to create a natural 9:16 video.","seconds":"15","aspect_ratio":"9:16","images":["https://example.com/ref-1.jpg"],"videos":["https://example.com/motion.mp4"],"audios":["https://example.com/music.mp3"]}'
FieldLimitDescription
modelRequiredA video model visible to the API key.
promptRequiredDescribe the subject, motion, camera, style, and ratio.
secondsRecommendedString: "5", "10", or "15".
aspect_ratioRecommended16:9, 9:16, or 1:1.
imagesUp to 4Array of jpg, png, or webp URLs.
videosUp to 3Array of mp4, mov, or webm URLs.
audiosUp to 1Array of mp3, m4a, wav, aac, or ogg URLs.

These limits apply to video-ds-2.0, video-ds-2.0-fast, and as-sd2.0-fast. Other video models may differ.

Retrieve a task and download its result

bash
curl -X GET "https://ai.silicogrove.com/v1/videos/TASK_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

curl -L -X GET "https://ai.silicogrove.com/v1/videos/TASK_ID/content" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --output result.mp4

Reference Assets

Upload local images, videos, and audio to the temporary asset endpoint. The returned data.url can be placed in a video request's images, videos, or audios array.

WARNING

Temporary assets are deleted after 24 hours. Use your own object storage or CDN URLs for persistent files.

bash
# Image
curl -X POST "https://ai.silicogrove.com/pg/assets" -H "Authorization: Bearer YOUR_API_KEY" -F "kind=image" -F "file=@/path/to/ref.jpg"

# Video
curl -X POST "https://ai.silicogrove.com/pg/assets" -H "Authorization: Bearer YOUR_API_KEY" -F "kind=video" -F "file=@/path/to/ref.mp4"

# Audio
curl -X POST "https://ai.silicogrove.com/pg/assets" -H "Authorization: Bearer YOUR_API_KEY" -F "kind=audio" -F "file=@/path/to/ref.mp3"

Response example

json
{"success":true,"data":{"kind":"image","url":"https://file.lunadownload.com/temporary/2026/08/11/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.jpg","filename":"ref.jpg","content_type":"image/jpeg","size":123456}}
kindFormatsMaximum file size
imagejpg, png, webp10 MiB
videomp4, mov, webm100 MiB
audiomp3, m4a, wav, aac, ogg, webm20 MiB

Audio

Speech synthesis

bash
curl -X POST "https://ai.silicogrove.com/v1/audio/speech" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"YOUR_TTS_MODEL","input":"Welcome to Silico Grove API.","voice":"alloy","response_format":"mp3"}' \
  --output speech.mp3

Transcription and translation

bash
curl -X POST "https://ai.silicogrove.com/v1/audio/transcriptions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=YOUR_STT_MODEL" \
  -F "file=@/path/to/audio.mp3" \
  -F "response_format=json"

curl -X POST "https://ai.silicogrove.com/v1/audio/translations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=YOUR_STT_MODEL" \
  -F "file=@/path/to/audio.mp3" \
  -F "response_format=json"

Transcription and translation are multipart requests. The file field is file.

Troubleshooting

SymptomLikely causeResolution
Model unavailableThe model and group do not match, or the key lacks permission.Call /v1/models with the same key to confirm the model name.
model is requiredA relay renamed the field.Preserve model; do not change it to model_name.
Video fails or enters a chat modelThe request was sent to a chat endpoint.Call POST /v1/videos.
Reference asset has no effectA local path was sent, or the value was not an array.Send public URLs in images, videos, or audios.
Invalid seconds typeThe duration was sent as a number.Use a string, such as "seconds": "15".
Upload failsWrong content type or file field name.Use -F and name the file field file.

When reporting an issue, include request time, model, endpoint, group, request ID, and the error response. Do not share API keys, authorization headers, or sensitive prompts.

Relay Integrations

  • Use https://ai.silicogrove.com or https://ai.silicogrove.com/v1 as the primary upstream, depending on whether your relay adds /v1 automatically.
  • The backup upstream is https://api.silicogrove.com or https://api.silicogrove.com/v1; configure failover in the relay.
  • Synchronize /v1/models with a Silico Grove API key rather than entering unavailable models manually.
  • Video models must stay on /v1/videos; do not add them to a chat model pool.
  • Preserve the images, videos, and audios arrays when forwarding video requests.
  • Image editing and audio transcription are multipart requests; do not lose their file fields during forwarding.