API и примеры кода
Единый API совместим с OpenAI SDK. Используйте ключ из личного кабинета.
main.py
from openai import OpenAI
client = OpenAI(
base_url="https://routerapi.ru/api/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="tencent/hy-image-v3.5-preview",
messages=[{"role": "user", "content": "Привет!"}],
)
print(response.choices[0].message.content)
terminal
curl -X POST "https://routerapi.ru/api/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tencent/hy-image-v3.5-preview",
"messages": [
{"role": "user", "content": "Привет!"}
]
}'
request.php
<?php
declare(strict_types=1);
$response = (new \GuzzleHttp\Client())->post(
'https://routerapi.ru/api/v1/chat/completions',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_KEY',
'Content-Type' => 'application/json',
],
'json' => [
'model' => 'tencent/hy-image-v3.5-preview',
'messages' => [
['role' => 'user', 'content' => 'Привет!'],
],
],
]
);
$data = json_decode((string) $response->getBody(), true);
echo $data['choices'][0]['message']['content'];
main.go
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
body, _ := json.Marshal(map[string]any{
"model": "tencent/hy-image-v3.5-preview",
"messages": []map[string]string{
{"role": "user", "content": "Привет!"},
},
})
req, _ := http.NewRequest("POST",
"https://routerapi.ru/api/v1/chat/completions",
bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]any
raw, _ := io.ReadAll(resp.Body)
json.Unmarshal(raw, &result)
choices := result["choices"].([]any)
msg := choices[0].(map[string]any)["message"].(map[string]any)
fmt.Println(msg["content"])
}
Совместимо с OpenAI Python SDK, Node.js SDK, curl и любым HTTP-клиентом.
Документация API · Все модели
Генерация изображений
Модель поддерживает генерацию изображений. Отправьте текстовый промпт и получите URL или base64 результата.
generate_image.py
from openai import OpenAI
client = OpenAI(
base_url="https://routerapi.ru/api/v1",
api_key="YOUR_API_KEY",
)
response = client.images.generate(
model="tencent/hy-image-v3.5-preview",
prompt="Кот-астронавт на Луне, цифровой арт",
n=1,
size="1024x1024",
)
print(response.data[0].url)
terminal
curl -X POST "https://routerapi.ru/api/v1/images/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tencent/hy-image-v3.5-preview",
"prompt": "Кот-астронавт на Луне, цифровой арт",
"n": 1,
"size": "1024x1024"
}'
generate_image.php
<?php
declare(strict_types=1);
$response = (new \GuzzleHttp\Client())->post(
'https://routerapi.ru/api/v1/images/generations',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_KEY',
'Content-Type' => 'application/json',
],
'json' => [
'model' => 'tencent/hy-image-v3.5-preview',
'prompt' => 'Кот-астронавт на Луне, цифровой арт',
'n' => 1,
'size' => '1024x1024',
],
]
);
$data = json_decode((string) $response->getBody(), true);
echo $data['data'][0]['url'];
main.go
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
body, _ := json.Marshal(map[string]any{
"model": "tencent/hy-image-v3.5-preview",
"prompt": "Кот-астронавт на Луне, цифровой арт",
"n": 1,
"size": "1024x1024",
})
req, _ := http.NewRequest("POST",
"https://routerapi.ru/api/v1/images/generations",
bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]any
raw, _ := io.ReadAll(resp.Body)
json.Unmarshal(raw, &result)
data := result["data"].([]any)
img := data[0].(map[string]any)
fmt.Println(img["url"])
}