Snelstart
Maak een asynchrone taak aan en verwerk polling, voltooiing, fouten en callbacks.
RunAPI gebruikt Tasks voor asynchrone generatie van afbeeldingen, video, audio en muziek. Een aanmaakverzok keert snel terug; uw applicatie peilt vervolgens de Task of ontvangt de callback-events die vermeld staan in de API-referentie van het betreffende eindpunt.
Een taak aanmaken
Kies een model en een eindpunt in de catalogus en stuur de vereiste invoergegevens van het eindpunt. Dit voorbeeld start een Flux 2-tekst-naar-afbeelding-taak:
curl -X POST "https://runapi.ai/api/v1/flux_2/text_to_image" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Idempotency-Key: 8c8ba3c9-0ce0-4bbd-a9a7-bf59ab639286" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-pro-text-to-image",
"prompt": "A product photograph on a clean studio background"
}'
Een geaccepteerd asynchroon verzoek retourneert 202 Accepted met een taakidentificatie:
{
"id": "task_id",
"status": "processing"
}
Sla id op in uw applicatierecord. Het is de stabiele identificator die wordt gebruikt voor polling, ondersteuning en callback-reconciliatie.
Media-invoer verzenden
Media Input Fields zijn de requestvelden die media-URL’s bevatten: velden op het hoogste niveau waarvan de naam eindigt op _url of _urls, zoals image_url of image_urls, de url van elk video_list-item, en element_input_urls, element_input_video_urls en element_input_audio_urls van elk kling_elements-item. callback_url is een afleveringsendpoint en geen Media Input Field. Elke waarde van een Media Input Field kan een openbare HTTPS-URL zijn of een data-URI in de vorm data:<mime>;base64,<data>, tot 10 MB per data-URI. RunAPI slaat elke data-URI op als tijdelijke File Upload die na één uur verloopt en gebruikt die upload voor de Task. Een data-URI die niet kan worden opgeslagen, geeft 422 terug met de foutcode invalid_media_input.
GPT Image-bewerkingsendpoints accepteren alleen HTTPS-URL’s in source_image_urls. Om een lokale afbeelding naar deze endpoints te sturen, maakt u eerst een File Upload en geeft u de geretourneerde URL door.
Maak voor bestanden groter dan 10 MB eerst een File Upload met POST /api/v1/files en geef de geretourneerde URL door. Een multipart- of URL-bron File Upload accepteert bestanden tot 50 MB. File Upload-URL’s verlopen ook na één uur, dus maak een nieuwe File Upload voor elke Task die na die periode start.
# For this model, non-PNG/JPEG input may return 409 depending on the selected service.
# If rejected, convert WebP/BMP/TIFF/GIF to PNG/JPEG or select a compatible service.
# Actual MIME determines support, even for a .png URL. Rejection happens before task creation or charging.
# This is not a format limit for every service. Existing Task queries remain available.
curl -X POST "https://runapi.ai/api/v1/seedream/decompose_layers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model":"seedream-5-pro-layer-decomposition","image_url":"https://cdn.runapi.ai/public/samples/image.png"}'
Dubbele taakaanmaak voorkomen
Eindpunten voor het aanmaken van taken accepteren een optionele Idempotency-Key-header met een ondoorzichtige waarde van maximaal 512 tekens. Genereer één waarde per logische taak en bewaar deze bij het verzoek totdat u weet of het is geaccepteerd.
Als een time-out of verbindingsfout het resultaat onbekend laat, herhaal dan exact hetzelfde Task-aanmaakverzoek met dezelfde sleutel. RunAPI retourneert de oorspronkelijke Task in plaats van een tweede aan te maken en daarvoor kosten in rekening te brengen. Het hergebruiken van een sleutel met een ander Task-aanmaakverzoek retourneert 409 Conflict. Genereer een nieuwe sleutel voor een opzettelijk nieuwe Task en gebruik X-Client-Request-Id niet als deze sleutel.
Een onderbroken synchroon verzoek herstellen
Trage synchrone eindpunten houden de verbinding normaal open en retourneren dezelfde terminale respons als voorheen. Er zijn geen wijzigingen in polling vereist voor bestaande integraties.
Voor een bewust kortere verbindingsbudget stuurt u Prefer: wait=N.
Als de taak na dat expliciete budget nog actief is, geeft RunAPI
202 Accepted terug met dezelfde taak-id, een ondoorzichtige Location-URL voor
herstel en Retry-After voor de aanbevolen queryvertraging. Volg
Location exact in plaats van zelf een resultaat-URL samen te stellen. Een voltooid
taakresultaat behoudt de terminale HTTP-status, toegestane headers, het inhoudstype
en de body; decodeer response.body volgens
response.content_type, dat niet altijd JSON is.
Een taak pollen
Voeg de taakidentificatie toe aan hetzelfde eindpuntpad:
curl "https://runapi.ai/api/v1/flux_2/text_to_image/task_id" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ga door zolang status processing is. Gebruik begrensde backoff tussen verzoeken in plaats van continu te pollen. Een taak wordt definitief wanneer de status completed of failed is.
Voltooiing afhandelen
Een completed-respons bevat de taak-id, de terminale status, de eindpuntspecifieke resultaatvelden en usage.cost als een float-USD-bedrag voor die Task. Sla het benodigde resultaat op en stop met pollen. Raadpleeg de API-referentie van het eindpunt voor de exacte resultaatstructuur in plaats van aan te nemen dat elk media-eindpunt dezelfde velden retourneert.
Create-, processing- en failed-Task-enveloppes laten usage weg.
Taken waarvoor een eindafrekening op basis van media nodig is, blijven op processing
staan totdat het definitieve bedrag is vastgelegd. De voltooiingscallback wordt pas
na die afrekening verzonden; de waarde van usage.cost komt overeen met die in latere
opvragingen van de taak. Ontbrekende boekhoudgegevens worden niet als nul weergegeven: de taak
blijft op processing staan terwijl die gegevens worden afgestemd. Een bevestigd bedrag
van nul wordt geretourneerd als usage.cost: 0.
Mislukking afhandelen
Een failed-respons bevat de taak-id, de terminale status en een door RunAPI opgestelde error indien beschikbaar. Stop met pollen, registreer de identificatie en de fout, en probeer het opnieuw alleen wanneer uw applicatie de fout als tijdelijk heeft geclassificeerd. Bij een nieuwe poging wordt een nieuwe taakidentificatie aangemaakt.
Een callback ontvangen
Voeg een openbare HTTPS-callback_url toe aan het aanmaakverzoek wanneer u wilt dat RunAPI de callback-gebeurtenissen verstuurt die voor dat eindpunt zijn gedocumenteerd:
{
"model": "flux-2-pro-text-to-image",
"prompt": "A product photograph on a clean studio background",
"callback_url": "https://your-domain.com/webhooks/runapi"
}
Elke callback-body komt overeen met één levenscyclusgebeurtenis in de API-Referentie van het eindpunt. Een completed-callback deelt usage.cost met de completed-pollingrespons; create-, processing- en failed-callbacks laten usage weg. Terminale callbacks bevatten dezelfde resultatenvelden als terminale polling-responsen; sommige eindpunten versturen ook gedocumenteerde processing-callbacks. Stuur snel een geslaagde HTTP-respons terug en houd polling beschikbaar voor afstemming wanneer bezorging vertraagd is of uw callback-handler niet beschikbaar is.
Lees Callbacks om een Callback Secret aan te maken, handtekeningen te verifiëren en nieuwe pogingen veilig af te handelen.
GenereerVidu Q4-video's
GebruikPOST /api/v1/vidu/image_to_videometmodel:
"vidu-q4-image-to-video"enfirst_frame_image_url. GebruikPOST
/api/v1/vidu/reference_to_videometmodel:
"vidu-q4-reference-to-video", een niet-legeprompt, en 1–15 besteldereference_image_urls. Haal elke taak op metGETop het creatiepad, gevolgd door/:id. Voltooide taken bevatten eenvideos-array met resultaat-URL’s. U kunt ookcallback_urlopgeven voor voltooiingsmeldingen.
Beide eindpunten accepteren het gehele getalduration_secondsvan 3 tot 16, standaard 5, enoutput_resolutionvan540p,720p,1080p,2k, of4k, standaard720p.audiois een JSON-boolean, standaardtrue; explicietfalseschakelt gegenereerde audio uit. Prompts accepteren maximaal 20.000 tekens. De afbeelding-naar-video-prompt is optioneel en het eerste frame bepaalt de beeldverhouding. Verwijzing naar video accepteert ‘aspect_ratio’ van ‘16:9’, ‘9:16’, ‘1:1’, ‘4:3’ of ‘3:4’, standaard ‘16:9’ en maximaal 3 ‘reference_audio_urls’.
Gebruik openbareHTTP(S)media-URL’s. Afbeeldingen moetenJPG/JPEG,PNGofWEBPzijn; de afbeelding uit het eerste frame mag niet groter zijn dan 50 MB. Elk referentie-audiobestand moet ‘MP3’ zijn, 3-12 seconden lang zijn en niet groter zijn dan 50 MB.RunAPIcontroleert veldtypen, URL-schema’s en referentietellingen. De generatieprovider controleert het externe mediaformaat, de grootte en de audioduur asynchroon. Ongeldige media kunnen ertoe leiden dat de taak mislukt via de normale fout- en terugbetalingsstroom.