n8n
n8n может напрямую вызывать OdiRouter через узел HTTP Request. Этот способ работает даже если встроенный OpenAI-узел в вашей версии n8n не предоставляет собственный Base URL.
Требования
Заголовок раздела «Требования»| Требование | Значение |
|---|---|
| n8n | Облачный или self-hosted workflow |
| Узел | HTTP Request |
| Метод | POST |
| URL | https://www.odirouter.ai/v1/chat/completions |
| API Key | API key OdiRouter |
Создайте учетные данные
Заголовок раздела «Создайте учетные данные»- Откройте учетные данные n8n.
- Создайте учетные данные на основе заголовков, если версия поддерживает переиспользуемые headers.
- Добавьте заголовок:
Authorization: Bearer YOUR_API_KEYЕсли учетные данные не используются, добавьте заголовок прямо в узел HTTP Request.
Настройте узел HTTP Request
Заголовок раздела «Настройте узел HTTP Request»| Поле | Значение |
|---|---|
| Метод | POST |
| URL | https://www.odirouter.ai/v1/chat/completions |
| Send Headers | Enabled |
Header Authorization | Bearer YOUR_API_KEY |
Header Content-Type | application/json |
| Send Body | JSON |
Тело запроса
Заголовок раздела «Тело запроса»{ "model": "gpt-5.5", "messages": [ { "role": "user", "content": "Summarize the previous workflow item in one sentence." } ]}Прочитайте результат
Заголовок раздела «Прочитайте результат»Узел HTTP Request возвращает полный JSON. Текст ассистента находится по пути:
choices[0].message.contentВ следующих узлах n8n используйте выражение:
{{$json["choices"][0]["message"]["content"]}}Если следующим узлам нужен только текст, добавьте после HTTP Request узел Set/Edit Fields и создайте поле:
| Поле | Значение |
|---|---|
model_output | {{$json["choices"][0]["message"]["content"]}} |
После этого Email, Slack, Webhook Response, база данных или IF-узлы могут читать model_output напрямую.
Рабочий процесс multimodal queue
Заголовок раздела «Рабочий процесс multimodal queue»- Вызовите
POST https://www.odirouter.ai/model/v1/queue/{endpoint}. - Сохраните
status_urlиresponse_url. - Опросите
status_url, пока status не станетCOMPLETED. - Получите
response_url.
Рекомендуемая схема узлов:
| Шаг | Узел n8n | Ключевые поля |
|---|---|---|
| Создать задачу | HTTP Request | request_id, status_url, response_url |
| Сохранить URL | Set/Edit Fields | status_url, response_url |
| Подождать | Wait | Интервал выбирается по времени работы модели |
| Проверить статус | HTTP Request | URL: {{$json["status_url"]}} |
| Ветвление | IF | Проверить, что status равен COMPLETED |
| Получить результат | HTTP Request | URL: {{$json["response_url"]}} |
Если статус не COMPLETED, верните ветку IF к Wait и продолжайте опрос. Финальный результат обычно содержит URL файлов или текстовые поля; через Set/Edit Fields приведите нужные поля к именам вроде result_url, result_text или бизнес-специфичному названию.
Диагностика
Заголовок раздела «Диагностика»| Симптом | Исправление |
|---|---|
| Ответ 401 | Проверьте заголовок Authorization |
| 400 JSON error | Убедитесь, что узел HTTP Request отправляет JSON, а не form data |
| Model not found | Используйте модель из GET https://www.odirouter.ai/v1/models |
| Workflow завершается по timeout | Для долгих задач image, video, audio или 3D используйте паттерн multimodal queue |