Аутентификация
Bearer-токен в заголовке Authorization. Ключи создаются в Настройках, любой можно отозвать в любой момент.
Authorization: Bearer dk_live_...Изображения, видео, аудио и 3D за одним API, с тем же балансом, что и студия. Создайте ключ в настройках; CLI скоро появится.
СкороCLI Ducklygen уже в пути. Эта страница показывает, как она будет работать; пока пользуйтесь API.
npm i -g @ducklygen/cliСмените ID модели, чтобы переключиться между изображением, видео и речью. Поля зависят от модели.
curl -X POST https://ducklygen.com/api/v1/api/catalog/generations \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"modelId": "image-model-id",
"inputs": {
"prompt": "rubber duck floating on teal water, soft light"
}
}'const res = await fetch("https://ducklygen.com/api/v1/api/catalog/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.DUCKLYGEN_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ modelId: "image-model-id", inputs: { prompt: "rubber duck floating on teal water, soft light" } }),
});
const job = await res.json(); // { id, status: "queued" }import os, requests
job = requests.post(
"https://ducklygen.com/api/v1/api/catalog/generations",
headers={"Authorization": f"Bearer {os.environ['DUCKLYGEN_API_KEY']}"},
json={"modelId": "image-model-id", "inputs": {"prompt": "rubber duck floating on teal water, soft light"}},
).json() # { id, status: "queued" }
Войдите по email, откройте Настройки, API-ключи и создайте ключ. Пополнение от 3 € в разделе Оплата.
export DUCKLYGEN_API_KEY="dk_live_..."Консольный инструмент ещё не опубликован. Пока всё работает в студии.
npm i -g @ducklygen/cliВыберите ID модели в каталоге и отправьте промпт. Добавьте --dry-run, чтобы узнать цену, ничего не потратив.
ducklygen run <model> -p "duck on teal waves" -o ./out/Запускайте любую модель из shell, CI или кодинг-агента. Цена каждого рендера известна до старта и списывается с того же баланса.
Пакет @ducklygen/cli ещё не опубликован. Команды ниже показывают, как он будет работать.
Полное руководство по CLI →ducklygen loginВставьте API-ключ один раз: он проверяется и сохраняетсяducklygen whoamiИмя ключа и ваш балансducklygen models --type videoВсе видеомодели с начальной ценойducklygen run <model> -hПоля модели, загруженные в реальном времени: тип, значение по умолчанию, допустимые значенияducklygen run <model> -p "<prompt>" -o ./out/Рендер с сохранением результата в папкуducklygen run <model> -p "..." --dry-runТочная цена, ничего не тратитсяducklygen run <model> -p "..." --max-price 0.50Отказ от запуска, если цена вышеducklygen run <model> -p "..." --json -o ./out/Один результат в JSON, готовый для следующего шагаducklygen skill installНаучите кодинг-агента пользоваться CLIBearer-токен в заголовке Authorization. Ключи создаются в Настройках, любой можно отозвать в любой момент.
Authorization: Bearer dk_live_...Запуск рендера сразу отвечает статусом queued. Опрашивайте рендер, пока он не завершится успехом, ошибкой или возвратом.
{ "status": "queued" }Узнайте точную цену для своих параметров, ничего не запуская. Все суммы указаны в евроцентах.
POST /v1/quoteПередайте заголовок Idempotency-Key, и повторный запрос никогда не спишет деньги дважды.
Idempotency-Key: render-042У каждого ключа есть лимит в минуту и необязательный дневной потолок. Сверх лимита API отвечает 429.
429 Too Many RequestsОшибки в JSON с кодом и сообщением. Неудачный рендер автоматически возвращается на баланс.
{ "status": "refunded" }Базовый URLhttps://ducklygen.com/api/v1/api/catalogПолный справочник API →
/meВаш ключ и баланс/modelsВсе модели/models/detail?id=MODEL_IDОдна модель и её поля/quoteЦена для конкретных входных данных/generationsЗапустить генерацию/generationsВаши последние генерации/generations/IDСтатус одной генерации/generations/ID/contentФайл результата/generations/IDУдалить генерациюСоздайте API-ключ в настройках и вызывайте любую модель. CLI скоро появится. Неудачные рендеры возвращаются.